钉钉报警
安装配置钉钉
先打开机器人管理
然后点击自定义
[root@server alertscripts]# curl ip.sb
58.220.220.253 ##可以得到ip地址段
复制webhook
https://oapi.dingtalk.com/robot/send?access_token=f5c3bf6194bc79f045ebea47e664fdc25be30485b9e175603d3f9689317f5fd4
[root@server alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts/
-
进入/usr/local/zabbix/share/zabbix/alertscripts/下添加脚本文件
[root@server alertscripts]# vim dd.py #!/usr/bin/env python # -*- coding: utf-8 -*- # https://www.aityp.com ## mobified by benson , remove config file import requests import json import sys import os import time #import configparser headers = {'Content-Type': 'application/json;charset=utf-8'} time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) log_file = "/tmp/zabbix.log" api_url = "https://oapi.dingtalk.com/robot/send?access_token=f5c3bf6194bc79f045ebea47e664fdc25be30485b9e175603d3f9689317f5fd4" def log(info): if os.path.isfile(log_file) == False: f = open(log_file, 'a+') f = open(log_file,'a+') f.write(info f.close() def msg(text,user): json_text= { "msgtype": "markdown", "markdown": { "title":"zabbix monitor", "text": text }, "at": { "atMobiles": [ user ], "isAtAll": True } } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json() code = r["errcode"] #print (code) if code == 0: log(time + ":消息发送成功 返回码:" + str(code) + "\n") else: log(time + ":消息发送失败 返回码:" + str(code) + "\n") exit(3) if __name__ == '__main__': text = sys.argv[3] user = sys.argv[1] msg(text,user)
[root@server alertscripts]# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/dd.py [root@server alertscripts]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/dd.py [root@server alertscripts]# touch /tmp/zabbix.log [root@server alertscripts]# chmod +x /tmp/zabbix.log [root@server alertscripts]# chown zabbix:zabbix /tmp/zabbix.log [root@server alertscripts]# python dd.py 11 22 33
查询是否收测试信息
去zabbix创建新的报警媒介
将钉钉报警媒介关联到用户
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPcLPabz-1598413073315)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598327870838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NnM7DpdA-1598413073315)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598327908820.png)]
去创建新的钉钉报警动作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P8Lym1if-1598413073315)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598327989669.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WRJbAiI7-1598413073316)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598328018779.png)]
标题:故障:{TRIGGER.STATUS},服务器:{HOSTNAME1} 发生: {TRIGGER.NAME}故障
内容: 告警主机:{HOSTNAME1}
告警时间: {EVENT.TIME} on {EVENT.DATE}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1pExAx8S-1598413073316)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598328073753.png)]
标题:恢复{TRIGGER.STATUS}==>服务器{HOSTNAME1}: {TRIGGER.NAME}已恢复!
内容:恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.RECOVERY.TIME}
等级:{TRIGGER.SEVERITY}
告警项目:{TRIGGER.KEY1}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ME8vPNex-1598413073316)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598328107840.png)]
标题:服务器:{HOST.NAME}: 报警确认!
内容:确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:{ACK.MESSAGE}
问题服务器:{HOSTNAME1}
问题服务器IP:{HOST.CONN}
问题详情: {TRIGGER.NAME}
问题ID:{EVENT.ID}
然后点击更新
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dkorARf1-1598413073317)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598328186176.png)]
测试短信通不通
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxepxKnw-1598413073317)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1598328261218.png)]
E1}
问题服务器IP:{HOST.CONN}
问题详情: {TRIGGER.NAME}
问题ID:{EVENT.ID}
然后点击更新
[外链图片转存中…(img-dkorARf1-1598413073317)]
测试短信通不通
[外链图片转存中…(img-TxepxKnw-1598413073317)]