zabbix4.0添加钉钉报警


https://cloud.tencent.com/developer/article/1441836

 

环境

  • zabbix4.0
  • server端 ubuntu14.04 agent端 centos7
  • zabbix控制面板 没有动作日志。解决:同步系统时间。
步骤
  1. 添加钉钉群机器人,获取webhook地址
  2. zabbix-server.conf 中配置脚本路径并编写脚本
  3. web界面添加报警媒介、动作、授权报警用户
  • 第一步很easy 如图
  • 第二部配置zabbix脚本

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,datetime webhook="上面创建钉钉机器人的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界面配置报警媒介 动作 授权用户

本文分享自微信公众号 - 学一学大数据(lx18710140128),作者:新哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM