Alertmanager
Checks Prometheus AlertManager for any firing alerts.
The following example transforms the list of alerts so that each alert becomes a single check result. Without the transform the health check will fail if any alerts are firing.
alert-manager-check.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: alertmanager
spec:
interval: 30
alertmanager:
- url: https://alertmanager.demo.aws.flanksource.com
name: alertmanager-check
alerts:
- .*
ignore:
- KubeScheduler.*
exclude_filters:
namespace: elastic-system
transform:
expr: |
results.alerts.map(r, {
'name': r.name + r.fingerprint,
'namespace': 'namespace' in r.labels ? r.labels.namespace : '',
'labels': r.labels,
'icon': 'alert',
'message': r.message,
'description': r.message,
}).toJSON()
relationships:
components:
- name:
label: pod
namespace:
label: namespace
type:
value: KubernetesPod
configs:
- name:
label: pod
namespace:
label: namespace
type:
value: Kubernetes::Pod
Field | Description | Scheme |
---|---|---|
name* | Name of the check, must be unique within the canary |
|
url* | The URL of the Prometheus Alertmanager instance |
|
alerts | A list of alert prefix names to include | []string |
filters | A map of label to value prefixes to find alerts on | map[string]string |
ignore | A list of alert prefix names to exclude | []string |
description | Description for the check |
|
display | Expression to change the formatting of the display | |
icon | Icon for overwriting default icon on the dashboard | |
labels | Labels for check | map[string]string |
metrics | Metrics to export from | |
test | Evaluate whether a check is healthy | |
transform | Transform data from a check into multiple individual checks |