Ubuntu 22.04.4 Zabbix6.4实现Telegram图像化消息告警

Telegram介绍 

Telegram是一款跨平台的即时通讯软件,客户端是自由及开放源代码软件,官方提供手机版(Android、iOS、Windows Phone)、桌面版(Microsoft Windows、macOS、Linux)和网页版等多种平台客户端,同时官方开放应用程序接口(API)

zabbix每日都有很多的警告,警告的通知可使用Email、短信等通知到用户。在GitHub上有这么一个项目Zabbix-in-Telegram,直接使用电报来转发到用户。类似微信公众号的效果,每时每刻都可以接收到,其优点是可将主机状态通过图表的形式,选择私聊通知个人告警消息,或者把告警信息发送到群组中。

效果图

 

配置步骤 

一、创建TelegramAPI机器人

首先,通过以下链接连接到 @BotFather :Zabbix-in-Telegram。当在电报中打开与 BotFather 的聊天窗口时,按下Start按钮。

你会看到像这样的消息:

image.png


按 /newbot 命令,并输入您的机器人的名称。

image.png


在这之后,您必须为机器人设定用户名。按照屏幕上的说明操作即可。

image.png


选择用户名后,您的机器人将自动创建并可以使用。然后,您将看到如下消息。

image.png

二、配置 Zabbix-in-Telegram

clone 代码,安装依赖. 

cd /usr/lib/zabbix/alertscripts #切换到zabbix的告警脚本存放目录

git clone https://github.com/ableev/Zabbix-in-Telegram.git #下载脚本文件

cd Zabbix-in-Telegram/

pip install -r requirements.txt

注:这里可能出现没有安装git和python、python3等直接使用apt install命令安装即可。

复制告警脚本至配置路径

cp zbxtg.py zbxtg_settings.example.py zbxtg_group.py /usr/lib/zabbix/alertscripts/
cd /usr/lib/zabbix/alertscripts/
mv zbxtg_settings.example.py zbxtg_settings.py

 修改使用vi命令修改 zbxtg_settings.py

tg_key = "KEY"  # telegram bot api key
zbx_server = "http://youip:port/zabbix/"  # 改成自己的zabbix服务器地址和端口
zbx_api_user = "Admin"
zbx_api_pass = "zabbix"

tg_key 是生成的 Tel Token,zabbix用户名密码必须是能够登陆的,且有权限.可以使用Admin.

测试脚本是否可以正常发送告警.

调试

./zbxtg.py "@username" "first part of a message" "second part of a message" --debug

@username 是 telgrame 需要接受告警的 用户名或者组名,使用组名时加 --group参数

 私聊用户

这里需要先与你创建的机器人私发消息如 :/start

./zbxtg.py "@iksjls" "重要通知" "你的节操余额不足,请及时充值"

发送到群组 

这里需要先创建一个群组,将你的机器人拉进群,在群组里与你创建的机器人发消息如 :@你的机器人

./zbxtg.py "Zabbix告警" "@iksjls" "你的节操 余额不足,及时充值" --group

三、配置 zabbix-server-web 

1. 添加媒介 

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

 

2. 配置动作-触发器动作 

3.  添加故障后操作

 故障通知主题:

{{fire}}{{fire}}{{fire}}:告警节点:{TRIGGER.NAME}

故障通知消息内容: 

问题详情:  {ITEM.NAME}:{ITEM.VALUE}
告警时间:  {EVENT.DATE} {EVENT.TIME}
告警等级:  {TRIGGER.SEVERITY}
告警信息:  {TRIGGER.NAME}
告警项目:  {TRIGGER.KEY1}
当前状态:  {TRIGGER.STATUS}.{ITEM.VALUE}
事件ID:  {EVENT.ID}
zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

 4. 添加恢复后操作

 恢复通知主题

{{OK}}{{fire}}{{OK}}:恢复节点:{TRIGGER.NAME}

恢复通知消息内容 

问题详情:  {ITEM.NAME}:{ITEM.VALUE}
恢复时间:  {EVENT.DATE} {EVENT.TIME}
事件等级:  {TRIGGER.SEVERITY}
恢复项目:  {TRIGGER.KEY1}
当前状态:  {TRIGGER.STATUS}.{ITEM.VALUE}
事件ID:  {EVENT.ID}
zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

5. 配置需告警通知的用户

 注:这里添加报警媒介时两个更新按钮都要点击,不然不会保存更改。

 

测试告警效果 

私发故障告警 

 私发恢复告警

 

 群组消息告警配置

这里仅需在媒介这里修改对应的群组消息脚本文件名称和添加--group参数即可,

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

--group

其他操作参照个人私发告警通知的操作步骤,这里不再赘述

下面是群组告警消息测试

群组故障告警

 群组恢复告警

至此,Ubuntu 22.04.4 Zabbix6.4实现了Telegram图像化消息告警。

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值