Alertmanager SLIs¶
This page documents Service Level Indicators (SLIs) for monitoring the health of Alertmanager. To set up Service Level Objectives (SLOs), see Set up SLOs with Sloth.
These metrics are recommended as Service Level Indicators for Alertmanager.
Alert ingestion¶
Alertmanager receives alerts from Prometheus and other senders. These metrics capture the health of the ingestion pipeline.
Metric |
Type |
Description |
|---|---|---|
|
Gauge |
Number of alerts by state ( |
|
Counter |
Total alerts received, labelled by |
|
Counter |
Alerts rejected due to invalid format; should remain at 0 |
|
Gauge |
Number of alerts by state as tracked by the marker, regardless of expiry |
The primary availability SLI for alert ingestion is the ratio of valid to total received alerts:
1 -
(
sum(rate(alertmanager_alerts_invalid_total[5m]))
/
sum(rate(alertmanager_alerts_received_total[5m]))
)
The number of active alerts can also be monitored to detect alert storms or missing silences:
alertmanager_alerts{state="active"}
Notification delivery¶
Alertmanager dispatches alerts to configured receivers. Notification delivery is the core function — failures directly impact the ability of operators to respond to incidents.
Metric |
Type |
Description |
|---|---|---|
|
Counter |
Total notification attempts per integration (slack, pagerduty, email, webhook, etc.) |
|
Counter |
Failed notifications per integration, labelled by |
|
Histogram |
Notification send latency per integration |
|
Counter |
Total notification HTTP requests per integration |
|
Counter |
Failed notification HTTP requests per integration |
A notification delivery SLI by integration:
(sum by (integration) (rate(alertmanager_notifications_total[5m]))
-
sum by (integration) (rate(alertmanager_notifications_failed_total[5m])))
/
sum by (integration) (rate(alertmanager_notifications_total[5m]))
A latency SLI (P99 across all integrations):
histogram_quantile(0.99, sum by (le) (
rate(alertmanager_notification_latency_seconds_bucket[5m])
))
Dispatcher¶
The dispatcher routes incoming alerts to the correct aggregation groups and receivers. These metrics measure internal routing health.
Metric |
Type |
Description |
|---|---|---|
|
Gauge |
Number of active aggregation groups |
|
Summary |
Latency of alert processing in the dispatcher |
|
Counter |
Times the dispatcher failed to create a new aggregation group due to a limit |
Silences¶
Silences suppress alert notifications based on matchers. These metrics measure the performance and health of the silence subsystem.
Metric |
Type |
Description |
|---|---|---|
|
Histogram |
Duration of silence query evaluation |
|
Counter |
Total silence queries received |
|
Counter |
Silence queries that failed |
|
Counter |
Silence matcher compilation failures, labelled by |
|
Summary |
Duration of the last silence garbage collection cycle |
|
Counter |
Silence garbage collection errors |
A silence query error SLI:
sum(rate(alertmanager_silences_query_errors_total[5m]))
/
sum(rate(alertmanager_silences_queries_total[5m]))
HTTP API¶
Alertmanager exposes an HTTP API for alert management, status queries, configuration reload, and metrics scraping.
Metric |
Type |
Description |
|---|---|---|
|
Histogram |
HTTP request latency by handler, method, and status code |
|
Gauge |
Current number of HTTP requests being processed |
|
Histogram |
HTTP response size by handler and method |
|
Counter |
HTTP requests rejected due to concurrency limit, by method |
A latency SLI for the API (P99):
histogram_quantile(0.99, sum by (le) (
rate(alertmanager_http_request_duration_seconds_bucket[5m])
))
Configuration¶
Reload failures indicate a configuration error that prevents Alertmanager from applying changes. A successful reload is required to propagate routing and receiver changes.
Metric |
Type |
Description |
|---|---|---|
|
Gauge |
Whether the last configuration reload was successful (1 = success, 0 = failure) |
|
Gauge |
Timestamp of the last successful configuration reload |
|
Gauge |
Hash of the currently loaded configuration |
A configuration reload SLI:
alertmanager_config_last_reload_successful
This should equal 1 at all times under normal operating conditions.
Notification log¶
The notification log (nflog) records which notifications have been sent to avoid duplicates. These metrics capture the health of that persistence layer.
Metric |
Type |
Description |
|---|---|---|
|
Counter |
Notification log maintenance cycles executed |
|
Counter |
Notification log maintenance cycles that failed |
|
Summary |
Duration of the last notification log garbage collection |
|
Summary |
Duration of the last notification log snapshot |
|
Gauge |
Size of the last notification log snapshot |