I found it hard to find information about MQ events and what to do with them, so Ive documented my thoughts below.
Thanks to Gwydion and Morag for the many corrections!
MQ writes messages to system queues when specific activities occur, for example when a channel is made put(disabled) or a channel stops. This allows you to have a program take these and take actions.
Ive categorised the actions into
- When
- Now – for example queue full – needs to be actioned today(now!)
- Tomorrow – for example a configuration error – raise a change ticket and get it fixed
- Who
- Operations
- System administrators – who define objects
- Application programmers – responsible for application queues
Different queues are used depending on the event
Useful links
- List of events in the MQ V9 knowledge center
- List of event types in Queue manager events
Events
- Alias Base Queue Type Error
- When – tomorrow
- Who – sysadmin
- Action – fix the configuration problem
- Switch – alter qmgr LOCALEV
- Bridge Started IMS bridge
- When – tomorrow
- Who – operations
- Action – ignore
- Switch – alter qmgr BRIDGEEV
- Bridge Stopped
- When – now
- Who – operations
- Action – check to see why it was stopped
- Switch – alter qmgr BRIDGEEV
- Change Authority Record
- When – tomorrow
- Who – sys admins
- Action – check if this was made by and authorised person. Keep a copy for audit purposes
- Switch – alter qmgr CONFIGEV
- Change object
- When – tomorrow
- Who – sys admins
- Action – check if this was made by and authorised person. Keep a copy for audit purposes
- Switch – alter qmgr CONFIGEV
- Channel Activated
- When – tomorrow
- Who – operations
- Action – check if this was made by and authorised person.
- Switch – alter qmgr CHLEV
- Channel Auto-definition Error
- When – now
- Who – sys admins
- Action – determine why the definition failed
- Switch – alter qmgr CHADEV
- Channel Auto-definition OK
- When – tomorrow
- Who – sys admins
- Action – check to ensure this was expected
- Switch – alter qmgr CHADEV
- Channel Blocked
- When – now
- Who – sys admins
- Action – find out why this is blocked. Is it a new unexpected channel?
- Switch – alter qmgr CHLEV
- Channel Conversion Error
- When – now
- Who – application programmers and sys admins
- Action – find out why the messages cannot be processed. It may be an application error. The sys admins may need to be involved to get information about the target queue
- Switch – alter qmgr CHLEV
- Channel Not Activated
- When – now
- Who – sys admins
- Action – find out what the problem is
- Switch – alter qmgr CHLEV
- Channel Not Available
- When – now
- Who – sys admins
- Action – find out what the problem is
- Switch – alter qmgr CHLEV
- Channel SSL Error
- When – now
- Who – sys admins
- Action – find out what the problem is
- Switch – alter qmgr SSLEV
- Channel SSL Warning
- When – now
- Who – sys admins
- Action – find out what the problem is
- Switch – alter qmgr SSLEV
- Channel Started
- When – tomorrow
- Who – operations
- Action – none
- Switch – alter qmgr CHLEV
- Channel Stopped
- When – tomorrow
- Who – operations
- Action – depends. This could be expected or unexpected
- Switch – alter qmgr CHLEV
- Channel Stopped By User
- When – tomorrow
- Who – operations
- Action – depends. This could be expected or unexpected
- Switch – alter qmgr CHLEV
- Command
- When – tomorrow
- Who – sysadmins
- Action – review command issues. Save the information for audit, or recreate purposes
- Switch – alter qmgr CMDEV
- Create object
- When – tomorrow
- Who – sysadmins
- Action – review command issues. Save the information for audit, or recreate purposes
- Switch – alter qmgr CONFIGEV
- Default Transmission Queue Type Error
- When – now
- Who – sysadmins
- Action – fix the problem
- Switch – alter qmgr REMOTEEV
- Default Transmission Queue Usage Error
- When – now
- Who – sysadmins
- Action – fix the problem
- Switch – alter qmgr REMOTEEV
- Delete Authority Record
- When – tomorrow
- Who – sysadmins
- Action – review command issues. Save the information for audit, or recreate purposes
- Switch – alter qmgr CONFIGEV
- Delete object
- When – tomorrow
- Who – sysadmins
- Action – review command issues. Save the information for audit, or recreate purposes
- Switch – alter qmgr CONFIGEV
- Get Inhibited
- When – now
- Who – programmers, sysadmins
- Action – if application queue then programmers need to determination why. If system queue, determine why.
- This could be caused by application finding major problem and want to stop future processing.
- It may cause the queue and storage media to full up
- Switch – alter qmgr INHIBITEV
- Logger
- When – now
- Who – sysadmins
- Action – determine why
- Switch – alter qmgr LOGGEREV
- Not Authorized (type 1) On an MQCONN or system connection call, the user is not authorized to connect to the queue manager
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Not Authorized (type 2)On an MQOPEN or MQPUT1 call, the user is not authorized to open the object for the options specified.
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Not Authorized (type 3) When closing a queue using the MQCLOSE call, the user is not authorized to delete the object,
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Not Authorized (type 4) Indicates that a command has been issued from a user ID that is not authorized to access the object specified in the command
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Not Authorized (type 5) On an MQSUB call, the user is not authorized to subscribe to the specified topic.
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Not Authorized (type 6) On an MQSUB call, the user is not authorized to use the destination queue with the required level of access
- When – now
- Who – sysadmins, programmers
- Action – review is this is lack of definition or someone trying to access a resource to which they are not authorised
- Switch – alter qmgr AUTHOREV
- Put Inhibited
- When – now
- Who – programmers, sysadmins
- Action – if application queue then programmers need to determination why. If system queue, determine why.
- This could be caused by application finding major problem and want to stop future processing.
- It may cause problems with the applications trying to put to the queue. They may “pause” and retry and cause an upstream blockage
- Switch – alter qmgr INHIBITEV
- Queue Depth High
- When – now
- Who – programmers, sysadmins
- Action – if application queue then programmers need to determination why. If system queue, determine why.
- This could be caused by application finding major problem and want to stop future processing.
- Switch – alter qmgr PERFMEV
- Queue Depth Low
- When – now
- Who – programmers, sysadmins
- Action – monitor the queue depth and activity
- Switch – alter qmgr PERFMEV
- Queue Full
- When – now
- Who – programmers, sysadmins
- Action – if application queue then programmers need to determination why. If system queue, determine why.
- This could be caused by application finding major problem and want to stop future processing.
- Switch – alter qmgr PERFMEV
- Queue Manager Active
- When – tomorrow
- Who – operations
- Action – for information
- Switch – alter qmgr STRSTPEV
- Queue Manager Not Active
- When – now
- Who – operations
- Action – check if this queue manager should be shut down. If not resolve the problems
- Switch – alter qmgr STRSTPEV
- Queue Service Interval High
- When – now
- Who – programmers, sysadmins
- Action – if application queue then programmers need to determination why. If system queue, determine why.
- Switch – alter qmgr PERFMEV
- Queue Service Interval OK
- When – now
- Who – programmers, sysadmins
- Action – monitor the queue
- Switch – alter qmgr PERFMEV
- Queue Type Error
- When – tomorrow
- Who – sysadmins
- Action – fix the set up problem
- Switch – alter qmgr REMOTEEV
- Refresh Authority Record
- When – tomorrow
- Who – sysadmins
- Action – review command issued. Save the information for audit, or recreate purposes
- Switch – alter qmgr CONFIGEV
- Refresh object
- When – tomorrow
- Who – sysadmins
- Action – review command issued. Save the information for audit, or recreate purposes
- Switch – alter qmgr CONFIGEV
- Remote Queue Name Error
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
- Transmission Queue Type Error
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
- Transmission Queue Usage Error
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
- Unknown Alias Base Queue
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr LOCALEV
- Unknown Default Transmission Queue
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
- Unknown Object Name
- When – tomorrow
- Who – application, sysadmins
- Action – determine why object was not defined. Check for unauthorized attempts
- Switch – alter qmgr LOCALEV
- Unknown Remote Queue Manager
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
- Unknown Transmission Queue
- When – tomorrow
- Who – sysadmins
- Action – resolve definitions problem
- Switch – alter qmgr REMOTEEV
One thought on “Handling MQ events”