zabbix设置钉钉报警

1 添加机器人

在钉钉群里面添加一个机器人

会获取到一个URL:

'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx'

2 写一个发送消息的脚本

在zabbix-server端的配置文件zabbix_server.conf中找到报警脚本的配置

AlertScriptsPath=/usr/lib/zabbix/alertscripts

接下来写一个钉钉发送消息的脚本dingding.py,并放到/usr/lib/zabbix/alertscripts目录底下

#!/usr/bin/python3
import
requests import json import sys # 告警群,测试环境 url = 'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx' def send_msg(msg): """ 发送消息的函数,这里使用阿里的钉钉 :param msg: 要发送的消息 :return: 200 or False """ # url = url program = {"msgtype": "text", "text": {"content": msg}, } headers = {'Content-Type': 'application/json'} try: f = requests.post(url, data=json.dumps(program), headers=headers) except Exception as e: return False return f.status_code def main(): msg = sys.argv[1] send_msg(msg) if __name__ == '__main__': main()

修改脚本权限

 chmod 755  /usr/lib/zabbix/alertscripts/dingding.py 

3 ZABBIX的设置

 

 创建媒体类型

 

 给用户绑定媒体

 

 

 

 

 创建报警动作

 

 

 

 

 

 添加好操作是这个样子的

 

 恢复操作和更新操作类似,这里不再赘述!

下面给出告警消息的标题和消息内容格式

操作:

默认标题:

  服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

消息内容:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}

恢复操作:

默认标题:

  服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

消息内容:

告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}

 

更新操作:

默认标题:

  服务器:{HOST.NAME}: 报警确认

消息内容:

  确认人:{USER.FULLNAME}
  时间:{ACK.DATE} {ACK.TIME}
  确认信息如下:
  "{ACK.MESSAGE}"
  问题服务器IP:{HOSTNAME1}
  问题ID:{EVENT.ID}
  当前的问题是: {TRIGGER.NAME}

 添加好的效果

 钉钉收到消息的内容

 

 

 

posted @ 2019-09-05 15:44  Sunzz  阅读(4654)  评论(0编辑  收藏  举报