Find a file
2021-03-29 18:13:54 +02:00
.gitignore Refactor, read configuration from file 2020-05-03 09:57:05 +02:00
config.toml.sample Allow HTTP listen address configuration 2020-05-03 11:01:04 +02:00
go.mod Add now-required go.mod file 2021-03-29 18:13:54 +02:00
LICENSE Add LICENSE (GPLv3) 2020-05-03 10:27:17 +02:00
main.go Display name label on matrix notification 2020-05-04 08:58:49 +02:00
Makefile Fix typo in Makefile 2020-05-03 22:17:51 +02:00
mock-webhook.sh Properly handle incoming hooks 2020-05-03 08:54:18 +02:00
README.md Allow HTTP listen address configuration 2020-05-03 11:01:04 +02:00

matrix-alertmanager-receiver

Simple daemon - less than 150 lines of Go - forwarding prometheus-alertmanager events to matrix room. While there already is a matrix-alertmanager project out there, use of the JavaScript ecosystem made it rather painful to use from my point of view.

Build

Make sure you have Go installed (golang-bin package on Fedora).

make getDeps
make build

Usage

Note: you are supposed to expose this service via a proxy such as Nginx, providing basic HTTP authentication.

I (master|✚1) ~/W/f/matrix-alertmanager-receiver » ./matrix-alertmanager-receiver --help
Usage of ./matrix-alertmanager-receiver:
  -config string
    	Path to configuration file (default "/etc/matrix-alertmanager-receiver.toml")
I [2] (master|✚1) ~/W/f/matrix-alertmanager-receiver » cat config.toml
Homeserver = "https://staging.matrix.ungleich.cloud"
TargetRoomID = "!jHFKHemgIAaDJekoxN:matrix-staging.ungleich.ch"
MXID = "@fnux:matrix-staging.ungleich.ch"
MXToken = "secretsecretsecret"
HTTPPort = 9088
HTTPAddress = ""
I (master|✚1) ~/W/f/matrix-alertmanager-receiver » ./matrix-alertmanager-receiver -config config.toml
2020/05/03 10:50:47 Reading configuration from config.toml.
2020/05/03 10:50:47 Connecting to Matrix Homserver https://staging.matrix.ungleich.cloud as @fnux:matrix-staging.ungleich.ch.
2020/05/03 10:50:47 @fnux:matrix-staging.ungleich.ch is already part of !jHFKHemgIAaDJekoxN:matrix-staging.ungleich.ch.
2020/05/03 10:50:47 Listening for HTTP requests (webhooks) on :9088
2020/05/03 10:50:55 Received valid hook from [::1]:44886
2020/05/03 10:50:55 > FIRING instance example1 is down