Zabbix版本:Zabbix 4.0.16

写这篇文档之前查找了很多篇文档,基本上都是坑,所以踩过坑后打算写一篇无坑的文档让各位博友可以畅通无阻的搭建 进行监控

1.telegram搜索框中搜索 @BotFather
2.找到机器人后与其对话输入 /start

.
Zabbix配置Telegram告警(无坑文档)
3.继续输入 /newbot
Zabbix配置Telegram告警(无坑文档)
4.输入你创建机器人的昵称,随便起但不能重复,后面要跟bot
Zabbix配置Telegram告警(无坑文档)
5.t.me/zabbixjkbot第一个红框就是你的机器人需要点进去发送/start@zabbixjkbot ,第二个框起来的是你的api秘钥

6.浏览器访问访问 https://api.telegram.org/bot替换为你的秘钥/getUpdates
出现如下显示根据浏览器不同显示格式也会不同红框处是你的id在服务器curl时候会用到

Zabbix配置Telegram告警(无坑文档)
7.Zabbix服务器中操作,也可以从浏览器操作

curl -X POST "https://api.telegram.org/bot你的秘钥/sendMessage" -d "chat_id=你的ID &text=测试123"

8.测试后机器人会收到消息(测试123)

Zabbix 服务器中操作

查找zabbix配置文件查看AlertScriptsPath=/usr/lib/zabbix/alertscripts 该参数是否指定路径

sudo find / -name zabbix-server.conf

1.clone 代码,安装依赖.

git clone https://github.com/ableev/Zabbix-in-Telegram.git
yum install python-pip
cd Zabbix-in-Telegram/
pip install -r requirements.txt

2.复制告警脚本至配置路径

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

3.修改 zbxtg_settings.py

tg_key = "你的api秘钥"  # telegram bot api key
zbx_server = "http://zabbix服务器ip或域名/zabbix/"  
zbx_api_user = "zabbix用户名"
zbx_api_pass = "zabbix密码"

配置 zabbix-server-web
创建报警媒介类型: 此配置为 3.0及以上版本配置
Zabbix配置Telegram告警(无坑文档)

创建动作,触发器条件选择触发器示警度
Zabbix配置Telegram告警(无坑文档)
Zabbix配置Telegram告警(无坑文档)

在操作中,填写触发后的消息内容和发送用户组或用户,如下

{{fire}}{{fire}}{{fire}}:告警节点:{TRIGGER.NAME}
问题详情:  {ITEM.NAME}:{ITEM.VALUE}
告警主机:  {HOST.NAME}
告警时间:  {EVENT.DATE} {EVENT.TIME}
告警等级:  {TRIGGER.SEVERITY}
告警信息:  {TRIGGER.NAME}
告警项目:  {TRIGGER.KEY1}
当前状态:  {TRIGGER.STATUS}.{ITEM.VALUE}
Last value: {ITEM.LASTVALUE1} ({TIME})
zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

Zabbix配置Telegram告警(无坑文档)

在 恢复操作 中,填写触发后的消息内容和用户

{{OK}}{{OK}}{{OK}}:恢复节点:{TRIGGER.NAME}
问题详情:  {ITEM.NAME}:{ITEM.VALUE}
恢复主机:  {HOST.NAME}
恢复时间:  {EVENT.DATE} {EVENT.TIME}
事件等级:  {TRIGGER.SEVERITY}
恢复项目:  {TRIGGER.KEY1}
当前状态:  {TRIGGER.STATUS}.{ITEM.VALUE}
Last value: {ITEM.LASTVALUE1} ({TIME})
zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

Zabbix配置Telegram告警(无坑文档)
查看用户群组是否有监控群组如果没有要添加上
Zabbix配置Telegram告警(无坑文档)
设置用户报警媒介
Zabbix配置Telegram告警(无坑文档)
收件人为你的群组名字
Zabbix配置Telegram告警(无坑文档)

将触发器修改为告警范围值,触发告警检查是否发送到群组

Zabbix配置Telegram告警(无坑文档)



踩过的坑:
1.个别博客会将;分号写成:冒号

zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

会出现无法显示图形的情况
Zabbix配置Telegram告警(无坑文档)

2.无法发送到telegram ,管理--用户--(报警媒介)中的收件名字以及类型要填写正确
Zabbix配置Telegram告警(无坑文档)
3.配置--动作--(操作)以及(恢复操作) ,用户群组要检查是否正确
Zabbix配置Telegram告警(无坑文档)