Table of Contents

SAP Advanced Event Mesh Queues Monitoring

This monitor supervises SAP Advanced Event Mesh (AEM) queues per VPN and queue pattern, with threshold-based alarms and optional time-series metrics.

What Can Be Monitored

You can detect and alert on:

This supports proactive detection of integration bottlenecks and stuck processing pipelines.

Prerequisites

Note: SAP documentation states that the API used to collect AEM data is available only from version 2.12 of Solace Element Management Protocol.

Monitored Data

The monitor queries AEM APIs to collect:

Filters

VPN Name and Queue Name are filters, not names. They accept the following forms:

Pattern Matches
* Everything.
ORDER Any name containing ORDER (case-insensitive).
ORDER_* Wildcard match, for example ORDER_IN and ORDER_OUT.
!DLQ Any name not containing DLQ.
A,B Contains A or B.
A+B Contains A and B.

The broker also holds system objects, whose names begin with # (for example #REPLAY_LOG_defaultLog, #telemetry-<service> and the #cluster VPN). A filter of * includes them. To exclude them, use !#.

Two syntax traps:

If a configured VPN Name or Queue Name matches nothing on the broker, a warning is written to the collector log. This usually means a typo in the filter.

Configuration Hints

Note this is the literal value 0. A threshold such as G2W:0 is an active threshold, not a disabled check.

Configuration

Monitoring Parameters

Parameter Type Required Default Description
Send metrics Boolean Yes true Send collected values as metrics (queue size and consumer flows).
Auto clear Boolean Yes true Alarms generated by this monitor are clearable when the condition recovers.

Surveillance Table

Field Required Default Description
Active Yes true Enables/disables this surveillance row.
VPN Name Yes * Message VPN filter. See Filters.
Queue Name Yes * Queue filter. See Filters.
Max queued messages Yes G2W:100 Alarm when the number of queued messages reaches the threshold. 0 disables the check.
Min. consumer flows Yes G2W:0 Alarm when the number of bound consumer flows falls to the threshold or below. 0 disables the check.
Max message age (min) Yes G2W:10 Alarm when the oldest message has been queued longer than the threshold, in minutes. 0 disables the check and skips its collection.
Severity Yes 4 Severity used for simple numeric threshold mode. Disabled excludes matching queues from all checks.
Alarm tag No (empty) Optional alarm classification/tag field.
Alarm No true Enables/disables alarm generation for this row.

Alarm Conditions

For each active surveillance row matching a queue:

A check is only evaluated when its value was successfully collected. If a queue cannot be read in a given cycle, the corresponding check is skipped and a warning is written to the collector log rather than a value being assumed.

Consumer Flows Versus Clients

The consumer count reports bound consumer flows, not distinct client applications. A single client may hold several flows on the same queue, in which case that queue reports a flow count higher than the number of connected applications.

This matches how the broker itself counts binds, through maxBindCount and the queue consumer flows event. When setting Min. consumer flows, base the threshold on the number of flows the consumer normally holds, not on the number of applications.

Generated Metrics

If Send metrics is enabled, the monitor emits metrics with tags:

Metric Unit Description
Queue size Messages Number of messages currently queued.
Consumer flows Flows Number of consumer flows bound to the queue.

A metric is only emitted when its value was collected, so a gap in a metric indicates that the queue could not be read in that cycle.

Generated Alarms

Alarm messages include queue and VPN context, for example:

Sizing

The monitor reads the queue list of each matching VPN, then issues one request per matching queue for the consumer flow count, plus one more per queue when the message age check is enabled. Requests are rate limited to stay within the broker's recommended 10 requests per second.

With the default job timeout this supports roughly 500 queues with the message age check enabled, or around 1100 without it. Beyond that, restrict the Queue Name filter or disable the message age check on rows that do not require it.

Example

Active VPN Name Queue Name Max queued messages Min. consumer flows Max message age (min) Severity Alarm tag Alarm
true PROD_* ORDER_* G2W:5000 G2W:1 G2W:15 4 AEM,ORDER true
true * DLQ_* G2W:100 G2W:0 G2W:5 3 AEM,DLQ true
true * !# G2W:1000 0 0 4 AEM true

The third row watches the backlog of every business queue while excluding system queues, with the consumer flow and message age checks disabled.