# IBM WebSphere MQ Monitoring ![Applications Manager IBM WebSphere MQ Monitoring: Add-on icon](https://www.manageengine.com/products/applications_manager/help/images/icon_addon.gif) ## Creating a new IBM WebSphere MQ monitor **Prerequisites for monitoring IBM WebSphere MQ metrics:** [Click here.](https://www.manageengine.com/products/applications_manager/help/prerequisites-for-applications-manager.html#websphere-mq) **Using the REST API to add a new IBM WebSphere MQ monitor:** [Click here.](https://www.manageengine.com/products/applications_manager/help/middleware-portal.html#ibmwsmq) **Supported Versions**: 5.x, 6.x, 7.x, 8.x and 9.x To create an IBM WebSphere MQ Monitor, follow the steps given below: 1. Click on **New Monitor** link. 2. Enter the **queue manager** Name. 3. Give the **Hostname** of the host where IBM WebSphere MQ runs. 4. Enter the **Listener Port**. 5. Give the Coded Character Set Identifier **(CCSID)**. 6. Enter the **Server Connection Channel**. 7. **SSL Enabled** checkbox - If SSL authentication is enabled on the server connection channel, then select this option and also provide **SSL Cipher specifications**. To configure SSL authentication in Applications Manager, [refer here](https://pitstop.manageengine.com/portal/en/kb/articles/prerequisitesfor-adding-ibm-mq-monitor-via-ssl). 8. **Authentication Enabled** checkbox - Provide the monitor-specific authentication information, such as **Username** and **Password**. 9. If the timezone of the MQ server is different from that of Applications Manager, select the appropriate **Timezone** from the dropdown. If both have the same timezone, then choose the timezone as **Default**. 10. **Filter System Objects** checkbox - Add the **System Objects to Monitor.** This option to Include/Exclude the SYSTEM queues, Channels and Inactive Channels that has been added will be helpful in reducing unnecessary data in monitor details page. User can use either INCLUDE_QUEUES or EXCLUDE_QUEUES, INCLUDE_CHANNELS or EXCLUDE_CHANNELS and INCLUDE_INACTIVE_CHANNELS: true/false. - INCLUDE_QUEUES: SYSTEM.DEAD.*, *.ADMIN.COMMAND.QUEUE - EXCLUDE_CHANNELS: SYSTEM.AUTO.SVRCONN - INCLUDE_INACTIVE_CHANNELS: true/false (**Note:** if this entry is not available in filters then it will be considered as false by default.) 11. You can select the **Monitor Specific Parameters** option to restrict discovery and monitor specific parameters in IBM WebSphere MQ monitor. This option will help to restrict Discovery of various parameters including **Queue, Channel, Listener, Service, Execution Group, and Message Flow**. If **Monitor Specific Parameters option** is enabled, specify the **Discovery Filter Regex** based on which the parameters are to be discovered and monitored. [Learn more.](https://www.manageengine.com/products/applications_manager/help/discovery-filters.html) 12. Check the **Discover Message Broker** checkbox to discover the broker. For **Version 10.x and Above**, you can provide the **Broker Port**. If **Broker Authentication is enabled**, provide the Broker **username** and **password**. 13. Specify the **Discovery Interval** in minutes for the automatic discovery and monitoring of child monitors. 14. Set the **Polling Interval**. 15. Click **Test Credential**. 16. If you are adding a new monitor from a Central Server, [select a Probe Server.](https://www.manageengine.com/products/applications_manager/help/enterprise-managed-server.html) 17. Choose the **Monitor Group** from the combo box with which you want to associate IBM WebSphere MQ Monitor (optional). You can choose multiple groups to associate your monitor. 18. Click **Add Monitor(s)**. This discovers IBM WebSphere MQ from the network and Applications Manager starts monitoring it. > Know the [Prerequisites](https://www.manageengine.com/products/applications_manager/help/prerequisites-for-applications-manager.html#websphere-mq) that are required to monitor IBM WebSphere MQ (jar files must be added to the respective locations). > > **Discover Message Broker checkbox:** > > To discover Message Broker, the following jars are required: Copy the two jar files to `\working\jre\lib\ext` directory. > > - **ConfigManagerProxy.jar** located at `\classes` directory. > - **ibmjsseprovider2.jar** located at `\jre\lib` directory. ## Monitored Parameters IBM WebSphere MQ servers are monitored based on the attributes such as listener stats, channel monitoring, etc. and the different web applications and EJB deployed in the server. You can also monitor the operation of the queue managers through event logs. The monitoring details of IBM WebSphere MQ server are represented graphically that helps to understand the parameters with ease. You can also configure thresholds to the attributes monitored by the server based on these details. - **Availability** tab gives the Availability history for the past 24 hours or 30 days. - **Performance** tab gives the Health Status and events for the past 24 hours or 30 days. - **List view** tab enables you to perform [bulk admin configurations](https://www.manageengine.com/products/applications_manager/help/bulk-config.html). The IBM WebSphere MQ server attributes monitored are classified under the following tabs in Applications Manager: - [Monitor Information](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#info) - [Performance Overview](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#perform) - [Queues](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#queue) - [Channels](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#channel) - [Listeners](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#listen) - [Services](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#service) - [Event Log](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#events) - [Configuration](https://www.manageengine.com/products/applications_manager/help/websphere-mq.html#config) ### Monitor Information | Parameter | Description | |---|---| | Name | The display name of the monitor. | | Health | Represents the health status. | | Last Polled at | Time at which the previous poll had started. | | Next Poll at | Time at which the next poll has been scheduled. | | Availability | Shows the current status of the server - available or not available. | ### Performance Overview | Parameter | Description | |---|---| | Name | The display name of the monitor. | | Health | Represents the health status. | | Command Server Status | Specifies the status of the command server. It is used to check whether the command server on the target queue manager is running or not. | | Channel Initiator Status | Specifies the status the channel initiator. It used to check whether the channel initiator on the target queue manager is running or not. | | Active Connections | The current number of connections to the queue manager. | | Graphical View of Events Count | Count of events occurred in the below category in last data collection:
  • Queue Manager
  • Channel
  • Performance
  • Configuration
  • Command
  • Logger
| ### Queues | Parameter | Description | |---|---| | **Queue Monitoring** | | | Queue Name | Name of the queue. | | Current Depth | Current queue depth. | | % of Queue Occupied | Percentage of Queue Depth occupied against the max Queue Depth. | | Open Input Count | Open input count (parameter identifier: MQIA_OPEN_INPUT_COUNT). | | Open Output Count | Open output count (parameter identifier: MQIA_OPEN_OUTPUT_COUNT). | | Health | Health of the Queue based on all the above attributes. | | Queue Usage Graph | Graphical view of queue depth percentage against the max Queue Depth. | | % of Queue Free | Percentage of Queue Depth free against the max Queue Depth. | | Uncommitted Messages | It indicates whether there are any uncommitted changes (puts and gets) pending for the queue:
- YES - There are uncommitted changes pending.
- NO - There are no uncommitted changes pending. | | Latency | The interval, in seconds, between messages being put on the queue and then being destructively read. | | Trigger Control | It indicates whether the triggering on the queue is enabled or not:
- On triggering enabled for this queue.
- Off triggering not enabled for this queue. | | **Queue Statistics** | | | Queue Name | Name of the queue. | | Last Get Time | Date and time at which the GET operation was last performed. | | Last Get Since | Amount of time elapsed since the last GET operation was performed (in minutes). | | Last Put Time | Date and time at which the PUT operation was last performed. | | Last Put Since | Amount of time elapsed since the last PUT operation was performed (in minutes). | | Oldest Message Age | The age of the oldest message on the queue (in seconds). | ### Channels | Parameter | Description | |---|---| | Channel Name | Name of the channel. | | Type | Type of the channel. | | Status | Status of the channel - running. | | Bytes Sent | Number of bytes sent. | | Bytes Sent Per Minute | Number of bytes sent per minute. | | Bytes Received | Number of bytes received. | | Bytes Received Per Minute | Number of bytes received per minute. | | Buffers Sent | Number of buffers sent. | | Buffers Received | Number of buffers received. | | Availability | Availability of channel, based on the status attribute. If the status of the channel is RUNNING, then it is considered available. If the channel is in other states, then it is considered down. | | Health | Health of the channel based on all the above attributes. | | Compression Time | The amount of time per message, displayed in milliseconds, spent during compression or decompression. | | Compression Rate | Rate of compression achieved in percentage. | ### Listeners | Parameter | Description | |---|---| | Listener Name | Specifies the name of the listener. | | Status | The current status of the listener. The value can be:
- Initializing
- Running
- Stopping | | Session Count | The number of sessions that the listener can use. This is valid only on Windows. | | Backlog | The number of concurrent connection requests that the listener supports. | | Health | Health of the Listener based on all the above attributes. | ### Services | Parameter | Description | |---|---| | Name | Name of the service. | | Mode | Specifies on which mode the service was started:
- Manual - The service is not to be started automatically or stopped automatically. It is to be controlled by user command.
- Queue Manager - The service is to be started and stopped at the same time as the queue manager is started and stopped.
- Queue Manager Start - The service is to be started at the same time as the queue manager is started, but is not required to stop when the queue manager is stopped. | | Type | Type of the service:
- Server - Only one instance of the service can be executed at a time.
- Command - Multiple instances of the service can be started. | | Start Time | Specifies at which time the service was started. It is applicable only for Server type of service. | | Alteration Time | Specifies at which time the service configuration was last altered. | | Status | Status of the service:
- Starting
- Running
- Stopped
It is applicable only for the server type of service | ### Event Log WebSphere MQ events provide information about errors, warnings, and other significant occurrences in a queue manager. You can monitor the operation of the queue managers by analyzing these events. When an event occurs, the queue manager puts an event message on the appropriate event queue. The event message contains information about the event. **Search Options:** We have provided the On-demand event search with multiple search options in 'Event Log' tab. You can also export the event search result to PDF. - Event Category - From Date - To Date - Event Type - Any keyword in the event message > **Note:** > > - All the messages in the event queue will be cleared when you restart the queue manager. > - If the event queue reaches the max depth limit then the further events will not be stored in the queue. So set the threshold for '% of Queue Occupied' property for the event queues to avoid loss of event message. > - All the events are not enabled by default. You can check the enabled or disabled events in the Event Log tab of the MQ monitor details page. Events can be enabled using MQSC commands. > - Enable only necessary events since it will slightly affect the performance of the queue manager. Check the following link to control events: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzax.doc%2Fmo10670_.html > - Currently, we are only displaying the count of events occurred in each category. We do not have the option to monitor the events. ### Events & Corresponding Queues | Events | Queues | |---|---| | SYSTEM.ADMIN.QMGR.EVENT | Local, Remote, Inhibit, Authority, Start & Stop. | | SYSTEM.ADMIN.CHANNEL.EVENT | IMS Bridge, Channel, and SSL. | | SYSTEM.ADMIN.PERFM.EVENT | Performance. | | SYSTEM.ADMIN.CONFIG.EVENT | Configuration. | | SYSTEM.ADMIN.COMMAND.EVENT | Command. | | SYSTEM.ADMIN.LOGGER.EVENT | Logger. | ### Event Categories: | Events | Event Name | Identifier | Reason Code | |---|---|---|---| | Start and Stop Events | Queue Manager Active | MQRC_Q_MGR_ACTIVE | 2222 | | Start and Stop Events | Queue Manager Not Active | MQRC_Q_MGR_NOT_ACTIVE | 2223 | | Performance Events | Queue Depth High | MQRC_Q_DEPTH_HIGH | 2224 | | Performance Events | Queue Depth Low | MQRC_Q_DEPTH_LOW | 2225 | | Performance Events | Queue Full | MQRC_Q_FULL | 2053 | | Performance Events | Queue Service Interval High | MQRC_Q_SERVICE_INTERVAL_HIGH | 2226 | | Performance Events | Queue Service Interval OK | MQRC_Q_SERVICE_INTERVAL_OK | 2227 | | Configuration Events | Change Object | MQRC_CONFIG_CHANGE_OBJECT | 2368 | | Configuration Events | Create Object | MQRC_CONFIG_CREATE_OBJECT | 2367 | | Configuration Events | Delete Object | MQRC_CONFIG_DELETE_OBJECT | 2369 | | Configuration Events | Refresh Object | MQRC_CONFIG_REFRESH_OBJECT | 2370 | | Channel Auto Definition Events | DISABLED | | | | Channel Events | Channel Activated | MQRC_CHANNEL_ACTIVATED | 2295 | | Channel Events | Channel Auto-Definition Error | MQRC_CHANNEL_AUTO_DEF_ERROR | 2234 | | Channel Events | Channel Auto-Definition OK | MQRC_CHANNEL_AUTO_DEF_OK | 2233 | | Channel Events | Channel Blocked | MQRC_CHANNEL_BLOCKED | 2577 | | Channel Events | Channel Conversion Error | MQRC_CHANNEL_CONV_ERROR | 2284 | | Channel Events | Channel Not Activated | MQRC_CHANNEL_NOT_ACTIVATED | 2296 | | Channel Events | Channel Not Available | MQRC_CHANNEL_NOT_AVAILABLE | 2537 | | Channel Events | Channel Started | MQRC_CHANNEL_STARTED | 2282 | | Channel Events | Channel Stopped | MQRC_CHANNEL_STOPPED | 2283 | | Channel Events | Channel Stopped By User | MQRC_CHANNEL_STOPPED_BY_USER | 2279 | | Command Events | MQSC command is executed | MQRC_COMMAND_MQSC | 2412 | | Command Events | PCF command is executed | MQRC_COMMAND_PCF | 2413 | | SSL Events | Channel SSL Error | MQRC_CHANNEL_SSL_ERROR | 2371 | | SSL Events | Channel SSL Warning | MQRC_CHANNEL_SSL_WARNING | 2552 | | Remote Events | Default Transmission Queue Type Error | MQRC_DEF_XMIT_Q_TYPE_ERROR | 2198 | | Remote Events | Default Transmission Queue Usage Error | MQRC_DEF_XMIT_Q_USAGE_ERROR | 2199 | | Remote Events | Queue Type Error | MQRC_Q_TYPE_ERROR | 2057 | | Remote Events | Remote Queue Name Error | MQRC_REMOTE_Q_NAME_ERROR | 2184 | | Remote Events | Transmission Queue Type Error | MQRC_XMIT_Q_TYPE_ERROR | 2091 | | Remote Events | Transmission Queue Usage Error | MQRC_XMIT_Q_USAGE_ERROR | 2092 | | Remote Events | Unknown Default Transmission Queue | MQRC_UNKNOWN_DEF_XMIT_Q | 2197 | | Remote Events | Unknown Remote Queue Manager | MQRC_UNKNOWN_REMOTE_Q_MGR | 2087 | | Remote Events | Unknown Transmission Queue | MQRC_UNKNOWN_XMIT_Q | 2196 | | Authority Events | Not Authorized Type | MQRC_NOT_AUTHORIZED | 2035 | | Inhibit Events | Get Inhibited | MQRC_GET_INHIBITED | 2016 | | Inhibit Events | Put Inhibited | MQRC_PUT_INHIBITED | 2051 | | Logger Events | Logger Status | MQRC_LOGGER_STATUS | 2411 | | Local Events | Alias Base Queue Type Error | MQRC_ALIAS_BASE_Q_TYPE_ERROR | 2001 | | Local Events | Unknown Alias Base Queue | MQRC_UNKNOWN_ALIAS_BASE_Q | 2082 | | Local Events | Unknown Object Name | MQRC_UNKNOWN_OBJECT_NAME | 2085 | | Bridge Events | Bridge Started | MQRC_BRIDGE_STARTED | 2125 | | Bridge Events | Bridge Stopped | MQRC_BRIDGE_STOPPED | 2126 | ### Configuration | Parameter | Description | |---|---| | Name | The display name of the monitor. | | Queue Manager | Name of the queue manager. | | Command Queue | Name of the command input queue. | | Dead Letter Queue | Name of the dead letter queue. | | Transmission Queue | Name of the transmission queue. | | Max length of Message | Specifies length of the longest message that the queue manager can handle. | | Max Number of Handles | Specifies the maximum number of open handles that any one task can use concurrently. | | Max Uncommitted Messages | Specifies the maximum number of uncommitted messages that can exist within a unit of work. | | Max Trigger Interval | Specifies the time interval (in milliseconds) used to restrict the number of trigger messages. | | Platform | The operating system on which the queue manager is running. | | Version | Version number of the queue manager. | > **Note:** When Queues, Channels, Listeners, and Services are removed from the IBM MQ resource, they will not be automatically removed in our product by default. To remove them in our product as well by default, enable the option under **Settings -> Performance Polling -> Optimize Data Collection -> IBM WebSphere MQ**.