zabbix4.0添加钉钉报警

在zabbix4.0环境下添加钉钉报警的具体步骤
环境
  • zabbix4.0
  • server端 ubuntu14.04   agent端 centos7
  • zabbix控制面板 没有动作日志。解决:同步系统时间。

步骤
  • 添加钉钉群机器人,获取webhook地址
  • zabbix-server.conf 中配置脚本路径并编写脚本
  • web界面添加报警媒介、动作、授权报警用户

  • 第一步很easy 如图
    9SxvOg2W62d521bac8a24.pngWIUX2CCs62d521c58c3a5.pngTfJufIQg62d521ce4b86d.png




  • 第二部配置zabbix脚本AQgVafTw62d521d882126.png



1.进入zabbix server 配置文件目录 /etc/zabbix/zabbix_server.conf 安装方式不同所在目录不同。可以用 find / -name zabbix_server.conf 命令查找
2.查看脚本执行目录,并在目录下创建如下脚本
vim /usr/lib/zabbix/alertscripts/dingding.py#!/usr/bin/env python#coding:utf-8#zabbix钉钉报警import requests,json,sys,os,datetimewebhook="上面创建钉钉机器人的webhook地址"user=sys.argv[1]text=sys.argv[3]data={    "msgtype": "text",    "text": {        "content": text    },    "at": {        "atMobiles": [            user        ],        "isAtAll": False    }}headers = {'Content-Type': 'application/json'}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)if os.path.exists("/tmp/zabbix_dingding.log"):    f=open("/tmp/zabbix_dingding.log","a+")else:    f=open("/tmp/zabbix_dingding.log","w+")f.write("\n"+"--"*30)if x.json()["errcode"] == 0:    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))    f.close()else:    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "\n" + str(text))    f.close()vim /usr/lib/zabbix/alertscripts/dingding.py#!/usr/bin/env python#coding:utf-8#zabbix钉钉报警import requests,json,sys,os,datetimewebhook="上面创建钉钉机器人的webhook地址"user=sys.argv[1]text=sys.argv[3]data={    "msgtype": "text",    "text": {        "content": text    },    "at": {        "atMobiles": [            user        ],        "isAtAll": False    }}headers = {'Content-Type': 'application/json'}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)if os.path.exists("/tmp/zabbix_dingding.log"):    f=open("/tmp/zabbix_dingding.log","a+")else:    f=open("/tmp/zabbix_dingding.log","w+")f.write("\n"+"--"*30)if x.json()["errcode"] == 0:    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))    f.close()else:    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "\n" + str(text))    f.close()
3.赋予脚本可执行权限:chmod +x /usr/lib/zabbix/alertscripts/dingding.py
踩过的坑:切换到/usr/lib/zabbix/alertscripts 目录下 chmod -x dingding.py还是纯文本  
测试脚本可用性方法:python dingding.py 18710140128 "这是一条测试文字"
脚本使用文档https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq
        
  • 第三步                  web界面配置报警媒介 动作 授权用户Fir9kuS562d521e73e3d1.pngEVp1v0Js62d521f52e790.png8Mw1B8bW62d5221868a2d.png

    U0eMONcU62d5222511c7c.png




至此,监控警报工程已完工。



技术交流欢迎加入Q群:177428068



5.png (0 Bytes, 下载次数: 0)MN7Bevis62d52240e2c7d.png

0 条评论

请先 登录 后评论
乐维君
乐维君

397 篇文章

作家榜 »

  1. 乐维君 397 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 我是一只小菜鸡 12 文章
  5. 细雨闲花 11 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章