Telegram and Matrix bot for alerts from Alertmanager
-
Create user under which
alerter
will work. -
Add this user to room for alerts and get
room_id
.
After preparations:
-
Configure
alerter
. -
Optionally check that messages are being sent and formatted correctly using this script:
./test.sh tg
Or
./test.sh matrix
-
Add
alerter
toreceivers
in your alertmanager.yml:receivers: - name: alerter_tg webhook_configs: - send_resolved: true url: "http://127.0.0.1:3030/tg" - name: alerter_matrix webhook_configs: - send_resolved: true url: "http://127.0.0.1:3030/matrix"
You can modify default templates for your needs, they are in Handlebars format. For Telegram alerter
uses HTML style and for Matrix Markdown style.
You can download prebuilt archive or Deb/RPM package from releases.
Pull image from DockerHub:
docker pull ultram4rine/alerter
In other cases, you need Rust installed.
You can install alerter from crates.io:
cargo install alerter
Then download needed template and run.
-
Clone repository:
git clone https://github.com/ultram4rine/alerter.git cd alerter
-
Build binary:
cargo build --release
-
Binary should be in
target/release/alerter
.
See cargo-deb or cargo-generate-rpm instructions respectively.
Use environment variables or command-line flags to configure alerter
:
Environment variable | Command-line flag | Default | Description |
---|---|---|---|
ALERTER_LISTEN_PORT | --port (-p) | 3030 | Port to listen. |
--tg | Enable Telegram support. | ||
ALERTER_TG_BOT_TOKEN | --tg-token | Telegram bot token. Required for Telegram support. | |
ALERTER_TG_CHAT_ID | --tg-chat-id | Telegram chat ID. Required for Telegram support. | |
ALERTER_TG_TMPL_PATH | --tg-template-path | templates/default.tg.hbs | Path to handlebars template file. Required for Telegram support. |
--matrix | Enable Matrix support. | ||
ALERTER_MATRIX_USERNAME | --matrix-user | Matrix username. Required for Matrix support. | |
ALERTER_MATRIX_PASSWORD | --matrix-pass | Matrix password. Required for Matrix support. | |
ALERTER_MATRIX_ROOM_ID | --matrix-room-id | Matrix room id. Required for Matrix support. | |
ALERTER_MATRIX_TMPL_PATH | --matrix-template-path | templates/default.matrix.hbs | Path to handlebars template file for Matrix. Required for Matrix support. |