AlertManager to Gotify bridge
Find a file
2020-10-25 09:17:40 +00:00
src/alertify Removed defaults for instance and description 2020-10-25 09:17:40 +00:00
.dockerignore Initial commit 2020-10-13 09:19:35 +01:00
.gitignore Split out gotify class to its own module 2020-10-23 14:50:03 +01:00
alertify.py Add version output. 2020-10-25 09:17:40 +00:00
Dockerfile Refactor the code into modules 2020-10-25 09:17:40 +00:00
example.yaml Add the ability to disabled resolved messages 2020-10-20 17:55:12 +01:00
README.md Removed defaults for instance and description 2020-10-25 09:17:40 +00:00
requirements.txt Add defaults and config parser. 2020-10-20 15:35:24 +01:00
test.sh Add the ability to delete original alert when matching resolved message arrives 2020-10-23 14:50:03 +01:00

This application bridges Prometheus Alertmanager alerts to Gotify.

Usage

usage: alertify.py [-h] [-c CONFIG] [-H]

Bridge between Prometheus Alertmanager and Gotify

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        path to config YAML. (default: alertify.yaml)
  -H, --healthcheck     simply exit with 0 for healthy or 1 when unhealthy

The following environment variables will override any config or default:
  * DELETE_ONRESOLVE (default: False)
  * DISABLE_RESOLVED (default: False)
  * GOTIFY_CLIENT    (default: None)
  * GOTIFY_KEY       (default: None)
  * GOTIFY_PORT      (default: 80)
  * GOTIFY_SERVER    (default: localhost)
  * LISTEN_PORT      (default: 8080)
  * VERBOSE          (default: False)

Notes

  • Listens on port 8080 by default.
  • Forwards resolved alerts, if not disabled.
  • Resolved alerts delete the original alert, if enabled.
  • Requires a Gotify app key to send alerts to Gotify
  • Requires a Gotify client key to delete original alert on resolution
  • Defaults, if not sent:
    Field Default value
    Priority 5
    Severity Warning

Docker

Build

docker build . -t 'alertify:latest'

Run

e.g.

docker run --name alertify -p 8080:8080 -e TZ=Europe/London -e GOTIFY_KEY=_APPKEY_ -e GOTIFY_SERVER=gotify -e GOTIFY_PORT=80 alertify:latest

Compose:

---
version: "2"
services:
  gotify:
    image: gotify/server:latest
    container_name: gotify
    environment:
      - TZ=Europe/London
    volumes:
      - config/config.yml:/etc/gotify/config.yml
      - data:/app/data
    restart: unless-stopped

  alertify:
    image: alertify:latest
    container_name: alertify
    ports:
      - "8080:8080"
    environment:
      - TZ=Europe/London
      - DELETE_ONRESOLVE=true
      - GOTIFY_KEY=_APPKEY_
      - GOTIFY_CLIENT=_CLIENTKEY_
      - GOTIFY_SERVER=gotify
      - GOTIFY_PORT=80
    restart: unless-stopped