Configuration Events

Configuration events are IBM MQ audit trail messages that fire when someone or something changes the shape of your messaging estate—new channels, altered queue depths, deleted topics, modified CHLAUTH rules. In regulated industries, proving who changed PARIS.TO.LONDON at 02:14 matters as much as proving messages were delivered. Beginners enable events once, never monitor the event queue, and wonder why disks fill—SYSTEM.ADMIN.CONFIG.EVENT grows without a consumer. This tutorial explains what configuration events contain, how to enable them on the queue manager, where messages land, how event messages differ from ordinary application payloads, integrating with SIEM and observability pipelines, filtering noise from legitimate automation, and pairing configuration events with performance and security events for complete observability.

What Triggers a Configuration Event

Administrative commands and API calls that create or modify MQ objects generate configuration events when event generation is enabled. Examples include DEFINE QLOCAL, ALTER CHANNEL, DELETE TOPIC, SET CHLAUTH, and equivalent PCF commands issued from scripts, MQ Explorer, MQ Console, or DevOps pipelines. The event message encodes object type, object name, change type, and principal information where available. Not every DISPLAY command generates configuration events—read-only inspection is usually silent. Automated installers that DEFINE hundreds of objects during deploy can flood the event queue if you do not filter or batch notifications.

MQ event categories (beginner map)
CategoryReportsExample
ConfigurationObject definition changesALTER QLOCAL MAXDEPTH
PerformanceThresholds and stateQueue depth high
SecurityAuth and authority failuresMQRC_NOT_AUTHORIZED on OPEN
CommandCommand server eventsCommand completion (version-specific)

Enabling Configuration Events

shell
1
2
3
4
5
ALTER QMGR CONFIGEV(ENABLED) DISPLAY QMGR CONFIGEV * Ensure event queue exists and is not inhibited DISPLAY QLOCAL('SYSTEM.ADMIN.CONFIG.EVENT') CURDEPTH MAXDEPTH * Deploy consumer: amqsevt, custom Java, or SIEM agent

Attribute spellings and default event queue names depend on MQ version—verify in IBM Documentation for 9.3 before production ALTER. On z/OS, event configuration may integrate with operations procedures and alternate queue names. After enablement, run one controlled ALTER on a test queue and confirm a message appears on the config event queue within seconds.

Event Message Structure (Conceptual)

Event messages use special message descriptors and headers (event header structures in IBM docs) separate from application business payloads. Parsers extract reason codes, object identifiers, and change verbs. Custom consumers should use IBM sample patterns or supported libraries rather than treating events as plain text strings—binary fields and coded enums break naive grep. Store parsed events in immutable audit storage with timestamp, queue manager name, command source, and correlation to change tickets.

Consuming and Routing Events

  1. Long-running amqsevt or enterprise agent reads SYSTEM.ADMIN.*.EVENT queues.
  2. Parser maps event to JSON for Kafka, Splunk, or Elastic.
  3. SIEM rules alert on DELETE CHANNEL on production queue managers.
  4. Dashboard shows daily ALTER count per object type for drift detection.
  5. Archive event stream to WORM storage for compliance retention years.

Reducing Noise

  • Separate production and non-production queue managers—do not alert on lab DEFINE storms.
  • Whitelist DevOps service accounts; alert only on interactive human principals outside hours.
  • Filter known pipeline object names deployed every release.
  • Increase event queue MAXDEPTH during large migrations with monitoring.

Integration with GitOps

Desired state lives in Git; runtime events prove what actually applied. Compare event stream to merge commit timestamps. Drift detection: ALTER in production without matching pipeline run id in ticket metadata should page security. Configuration events do not replace version control—they validate it.

Troubleshooting Missing Events

  1. CONFIGEV enabled on DISPLAY QMGR?
  2. Event queue exists, not inhibited, depth not maxed.
  3. Consumer running and connected with GET authority?
  4. Change made via path that generates events on your platform?
  5. Wrong queue manager—events are local to the QM where change occurred.

Explainer: Security Camera for Settings

Configuration events are security cameras pointed at the wiring closet—every time someone moves a cable (ALTER CHANNEL), the camera records it even if the network still works.

Explain Like I'm Five: Configuration Events

When a grown-up changes the rules of a board game (MQ objects), a bell rings and writes down what changed so nobody can say they did not touch the rules later.

Practice Exercises

Exercise 1

List five ALTER commands you would alert on immediately in production and five you would ignore from automation.

Exercise 2

Draw flow from ALTER QLOCAL to SIEM ticket in six boxes.

Exercise 3

What happens if SYSTEM.ADMIN.CONFIG.EVENT hits MAXDEPTH? Write recovery steps.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Configuration events report:

  • Object CREATE ALTER DELETE
  • Only message payload
  • JCL job end
  • CICS transaction ID

2. Typical config event queue name pattern:

  • SYSTEM.ADMIN.CONFIG.EVENT
  • SYSTEM.DEAD.LETTER.QUEUE
  • AMQERR
  • CSQOUT

3. CONFIGEV on queue manager controls:

  • Whether config events generate
  • MAXDEPTH
  • TLS cipher
  • Listener port

4. Config events help security teams detect:

  • Unauthorized DEFINE or ALTER
  • Correct payroll batch
  • Normal GET rate
  • Holiday calendar
Published
Read time20 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation