Crates.io | alerter |
lib.rs | alerter |
version | 0.3.2 |
source | src |
created_at | 2022-03-09 16:33:10.006438 |
updated_at | 2022-06-27 23:31:04.934677 |
description | Telegram and Matrix bot for alerts from Alertmanager |
homepage | https://github.com/ultram4rine/alerter#readme |
repository | https://github.com/ultram4rine/alerter |
max_upload_size | |
id | 547035 |
size | 144,206 |
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
to receivers
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. |