A simple web hook that forwards prometheus alerts over XMPP.
To use, configure a web hook in alertmanager. E.g.:
receivers:
- name: 'jelmer-pager'
webhook_configs:
- url: 'http://192.168.2.1:9199/alert'
Edit the configuration file (defaults to /etc/prometheus/xmpp-alerts.yml
):
jid: '[email protected]'
password: 'PASSWORD'
to_jid: '[email protected]'
listen_address: '192.168.2.1'
listen_port: 9199
format: 'short'
And run the web hook::
$ python3 prometheus-xmpp-alerts
If you have amtool set up,
then you can also allow to_jid
to see existing alerts and manage silences.
You can build your own docker images using the Dockerfile in this directory, or
use ghcr.io/jelmer/prometheus-xmpp-alerts
. Provide your configuration in
/config.yaml
.
Instead of hardcoding your password, you can also use a password_command
. The
command should write the password to stdout. Only the first line (stripped of
whitespaces) is being used as password.
If you don't set the message format option, the short
format will be used.
-
short
FIRING, 2019-05-17T18:48:18, Alert Summary
-
full
[FIRING] Alert Summary (groupLabelValue1 groupLabelValue2) This is the description of the test alert. label1: value1 label2: value2 label3: value3
The web hook can be accessed on three paths:
/alert
: used by Prometheus to deliver alerts, expects POST requests with JSON body/test
: delivers a test message/metrics
: exposes statistics about number of alerts received