写这篇文档以前查找了不少篇文档,基本上都是坑,因此踩过坑后打算写一篇无坑的文档让各位博友能够畅通无阻的搭建 进行监控python
1.telegram搜索框中搜索 @BotFather
2.找到机器人后与其对话输入 /start
.
3.继续输入 /newbot
4.输入你建立机器人的昵称,随便起但不能重复,后面要跟bot
5.t.me/zabbixjkbot第一个红框就是你的机器人须要点进去发送/start@zabbixjkbot ,第二个框起来的是你的api秘钥git
6.浏览器访问访问 https://api.telegram.org/bot替换为你的秘钥/getUpdates
出现以下显示根据浏览器不一样显示格式也会不一样红框处是你的id在服务器curl时候会用到
7.Zabbix服务器中操做,也能够从浏览器操做github
curl -X POST "https://api.telegram.org/bot你的秘钥/sendMessage" -d "chat_id=你的ID &text=测试123"
8.测试后机器人会收到消息(测试123)web
查找zabbix配置文件查看AlertScriptsPath=/usr/lib/zabbix/alertscripts 该参数是否指定路径api
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.pycurl
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及以上版本配置ide
建立动做,触发器条件选择触发器示警度测试
在操做中,填写触发后的消息内容和发送用户组或用户,以下
{{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}
在 恢复操做 中,填写触发后的消息内容和用户
{{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}
查看用户群组是否有监控群组若是没有要添加上
设置用户报警媒介
收件人为你的群组名字
将触发器修改成告警范围值,触发告警检查是否发送到群组
踩过的坑:
1.个别博客会将;分号写成:冒号
zbxtg;graphs zbxtg;graphs_period=10800 zbxtg;itemid:{ITEM.ID1} zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}
会出现没法显示图形的状况
2.没法发送到telegram ,管理--用户--(报警媒介)中的收件名字以及类型要填写正确
3.配置--动做--(操做)以及(恢复操做) ,用户群组要检查是否正确