Zabbix使用telegram机器人报警
由于版本python版本问题centos7已经失效,更新此版本
一、创建机器人
Telegram搜索botfather
1.输入newbot
2.输入机器人名字
3.输入机器人账号必须以bot结尾
4.成功会获得
这个api就是下面需要的
二.安装环境
yum -y install epel-release git
yum -y install python3 git python3-pip
打开zabbix_server配置,查看vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
映射Python3路径 ln -fs /usr/bin/python3 /usr/bin/python
映射pip3路径 ln -s /usr/bin/pip3 /usr/bin/pip
clone 代码,安装依赖.
git clone https://github.com/ableev/Zabbix-in-Telegram.git
cd Zabbix-in-Telegram/
pip install -r requirements.txt
复制告警脚本至配置路径
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
修改zbxtg_settings.py
tg_key="XXX:YYY" # telegram bot api key
zbx_server="http://youip:port/zabbix/" # zabbix server full url
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 参数
./zbxtg.py"@用户""重要通知""你的节操余额不足,请及时充值"
./zbxtg_group.py"群组名" "重要通知""你的节操 余额不足,..及时充值"
./zbxtg.py "群组名""重要通知" "你的节操 余额不足,..及时充值" –group
须在群组用/start@botname 个人消息须在机器人聊天窗口发送/start
三.网页配置
创建 报警媒介类型: 此配置为 3.0及以上版本配置
脚本名zbxtg_group.py
参数1 {ALERT.SENDTO}
参数2 {ALERT.SUBJECT}
参数3 {ALERT.MESSAGE}
创建 动作
在 操作 中,填写触发后的消息内容和发送用户组或用户,如下
{{fire}}{{fire}}{{fire}}:告警节点:{TRIGGER.NAME}{{fire}}{{fire}}{{fire}}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
告警主机: {HOST.NAME}
告警时间: {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}
在 恢复操作 中,填写触发后的消息内容和用户
{{OK}}{{OK}}{{OK}}:恢复节点:{TRIGGER.NAME}{{OK}}{{OK}}{{OK}}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
恢复主机: {HOST.NAME}
恢复时间: {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}
配置 用户,为被告警用户组添加 报警媒介.
模拟告警, 观察 Tel 组是否可以收到告警.
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭