Multipurpose XMPP-Webhook : Grafana Webhook alerts Alertmanager Webhooks Slack Incoming Webhooks
 
 
 
Go to file
Thomas Maier e362a0ead8 Handle alerts with mellium-xmpp (WiP) 2019-11-01 16:59:54 +01:00
dev move grafana alert example to dev 2019-07-30 08:59:45 +02:00
.gitignore ignore jetbrains project files 2018-12-09 15:50:14 +01:00
LICENSE Changes License (MIT) 2019-07-30 08:59:19 +02:00
README.md changes to go Module dependency management + minor changes 2018-12-09 16:39:08 +01:00
THIRD-PARTY-NOTICES Create THIRD-PARTY-NOTICES 2017-09-26 15:47:28 +02:00
go.mod New mellium version / improves server connect and login 2019-11-01 16:11:44 +01:00
go.sum New mellium version / improves server connect and login 2019-11-01 16:11:44 +01:00
handler.go changes to go Module dependency management + minor changes 2018-12-09 16:39:08 +01:00
main.go Handle alerts with mellium-xmpp (WiP) 2019-11-01 16:59:54 +01:00
xmpp-webhook.service adds systemd service file 2017-09-26 15:10:33 +02:00

README.md

xmpp-webhook

Status

xmpp-webhook currently only provides a hook for Grafana. I will implement a parserFunc for Prometheus ASAP. Check https://github.com/opthomas-prime/xmpp-webhook/blob/master/handler.go to learn how to support more source services.

Usage

  • xmpp-webhook is configured via environment variables:
    • XMPP_ID - The JID we want to use
    • XMPP_PASS - The password
    • XMPP_RECEIVERS - Comma-seperated list of JID's
  • After startup, xmpp-webhook tries to connect to the XMPP server and provides the implemented HTTP enpoints (on :4321). e.g.:
curl -X POST -d @grafana-webhook-alert-example.json localhost:4321/grafana
  • After parsing the body in the appropriate parserFunc, the notification is then distributed to the configured receivers.

Installation

IMPORTANT NOTE: For the sake of simplicity, xmpp-webhook is not reconnecting to the XMPP server after a connection-loss. If you use the provided xmpp-webhook.service - Systemd will manage the reconnect by restarting the service.

  • Download and extract the latest tarball (GitHub release page)
  • Install the binary: install -D -m 744 xmpp-webhook /usr/local/bin/xmpp-webhook
  • Install the service: install -D -m 644 xmpp-webhook.service /etc/systemd/system/xmpp-webhook.service
  • Configure XMMP credentials in /etc/xmpp-webhook.env. e.g.:
XMPP_ID='bot@example.com'
XMPP_PASS='passw0rd'
XMPP_RECEIVERS='jdoe@example.com,ops@example.com'
  • Enable and start the service:
systemctl daemon-reload
systemctl enable xmpp-webhook
systemctl start xmpp-webhook

Building

Need help?

Feel free to contact me!