#telegram-bot #alertmanager #matrix-bot

app alerter

Alertmanager警报的Telegram和Matrix机器人

6个版本

0.3.2 2022年6月27日
0.3.1 2022年5月1日
0.3.0 2022年3月15日
0.2.3 2022年3月14日

#289 in 模板引擎

每月 25次下载

Apache-2.0

39KB
628

Alerter

Crates.io Docker Image Size (latest by date) GitHub Workflow Status

Alertmanager警报的Telegram和Matrix机器人

用法

Telegram准备

  1. 使用BotFather创建机器人并获取令牌。

  2. 使用Get My ID机器人获取您的群组或频道聊天ID。

Matrix准备

  1. 创建一个将运行alerter的用户。

  2. 将此用户添加到警报室并获取room_id

准备完毕后

  1. 配置 alerter

  2. 可选地,使用此脚本检查消息是否正确发送和格式化。

    ./test.sh tg
    

    或者

    ./test.sh matrix
    
  3. alerter添加到alertmanager.yml中的receivers

    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"
    

模板化

您可以根据需要修改默认模板,它们在Handlebars格式中。对于Telegram,alerter使用HTML样式,对于Matrix,使用Markdown样式。

安装

预构建包

您可以从发布下载预构建存档或Deb/RPM包。

Docker

DockerHub拉取镜像。

docker pull ultram4rine/alerter

在其他情况下,您需要安装Rust

Crates.io

您可以从crates.io安装alerter。

cargo install alerter

然后下载所需的模板并运行。

从源码构建

  1. 克隆仓库

    git clone https://github.com/ultram4rine/alerter.git
    cd alerter
    
  2. 构建二进制文件

    cargo build --release
    
  3. 二进制文件应在target/release/alerter中。

构建Deb或RPM包

请参阅cargo-debcargo-generate-rpm的说明。

配置

使用环境变量或命令行标志来配置 alerter

环境变量 命令行标志 默认 描述
ALERTER_LISTEN_PORT --port (-p) 3030 监听端口。
--tg 启用Telegram支持。
ALERTER_TG_BOT_TOKEN --tg-token Telegram机器人令牌。启用Telegram支持时必需。
ALERTER_TG_CHAT_ID --tg-chat-id Telegram聊天ID。启用Telegram支持时必需。
ALERTER_TG_TMPL_PATH --tg-template-path templates/default.tg.hbs handlebars模板文件路径。启用Telegram支持时必需。
--matrix 启用Matrix支持。
ALERTER_MATRIX_USERNAME --matrix-user Matrix用户名。启用Matrix支持时必需。
ALERTER_MATRIX_PASSWORD --matrix-pass Matrix密码。启用Matrix支持时必需。
ALERTER_MATRIX_ROOM_ID --matrix-room-id Matrix房间ID。启用Matrix支持时必需。
ALERTER_MATRIX_TMPL_PATH --matrix-template-path templates/default.matrix.hbs Matrix的handlebars模板文件路径。启用Matrix支持时必需。

依赖项

~29–44MB
~767K SLoC