====== 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: * Queue backlog growth (too many queued messages) * Consumer outages or slowdown (too few connected clients) * Message staleness and delivery delay (oldest message too old) This supports proactive detection of integration bottlenecks and stuck processing pipelines. **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: * Queue message count * Queue connected client count * Oldest message age (minutes) ===== Configuration Hints ===== * One surveillance row targets one set of queues (VPN + queue pattern). * Wildcards are supported in **VPN Name** and **Queue Name** (for example ''*''). * Set a threshold to ''0'' to disable that specific check: * ''Max queued messages = 0'' disables queue size alarm. * ''Max message age (min) = 0'' disables oldest-message-age alarm. * If **Severity** is disabled, matching queues are ignored for alarms. * **Auto clear** controls whether alarms are clearable. * **Send metrics** enables metric emission for queue size and connected clients. ===== Configuration ===== ==== Monitoring Parameters ==== ^ Parameter ^ Type ^ Required ^ Default ^ Description ^ | Send metrics | Boolean | Yes | ''true'' | Send collected values as metrics (queue size and connected clients). | | Auto clear | Boolean | Yes | ''true'' | Alarms generated by this monitor are clearable when condition recovers. | ==== Surveillance Table ==== ^ Field ^ Required ^ Default ^ Description ^ | Active | Yes | `true` | Enables/disables this surveillance row. | | Check type | Yes | `MAINTAIN_PK` | Certificate check mode (`MAINTAIN_PK` or `VALIDITY`). | | PSE files | Yes | (empty) | Target PSE file (absolute path recommended). | | Subject | Yes | `*` | Subject filter (wildcard supported). Used with `MAINTAIN_PK`. | | Max expiration days | Yes | `G2W:90 W2M:30 M2C:10` | Remaining-days threshold. Alarm is raised when remaining days are less than or equal to configured threshold(s). | | Severity | Yes | WARNING | Default severity used for simple numeric threshold mode. | | Auto clear | Yes | `true` | Alarms are clearable when certificate status recovers. | | Alarm tag | No | (empty) | Optional alarm classification/tag field. | | Alarm | No | `true` | Enables/disables alarm generation for this row. | | Metric | No | `false` | Enables/disables metric mode for this row. | | Report | No | `false` | Enables/disables report-mode evaluation for this row. | ===== Alarm Conditions ===== For each active surveillance row matching a queue: * **Queue size alarm**: triggered when ''msgCount >= Max queued messages'' * **Client count alarm**: triggered when ''clientsCount <= Min. clients'' * **Message age alarm**: triggered when ''oldestTime >= Max message age (min)'' ===== Generated Metrics ===== If **Send metrics** is enabled, the monitor emits metrics with tags: * ''vpn='' * ''queue='' ^ Metric ^ Unit ^ Description ^ | Queue size | Messages | Number of messages currently queued. | | Connected clients | Clients | Number of clients connected to the queue. | ===== Generated Alarms ===== Alarm messages include queue and VPN context, for example: * ''X message(s) in queue (>=Y) on vpn '' * ''X connected client(s) (<=Y) for queue on vpn '' * ''Oldest message spent X min (>=Y) in queue on vpn '' ===== Example ===== ^ Active ^ VPN Name ^ Queue Name ^ Max queued messages ^ Min. clients ^ 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 |