一 钉钉告警
1.1.1 添加钉钉机器人
发起群聊
创建完群聊选择,机器人管理
选择你要绑定的群聊
复制下面地址留用
1.1.2 编写钉钉告警脚本
安装requests库,HTTP客户端,
# yum install python-pip -y # pip install requests
编写脚本
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = {'Content-Type': 'application/json;charset=utf-8'} api_url = "https://oapi.dingtalk.com/robot/send?access_token=40e9fb2c7b31025a79c86057ba4ca90e493a443c8f6d81bbf76965f67acf69580" # 此处修改改为自己的webhook地址 def msg(text): json_text= { "msgtype": "text", "text": { "content": text }, } print requests.post(api_url,json.dumps(json_text),headers=headers).content if __name__ == '__main__': text = sys.argv[1] msg(text)
将脚本放入到zabbix server 的alertscripts目录下
# vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts cp dingding.py /usr/lib/zabbix/alertscripts/ chmod 755 /usr/lib/zabbix/alertscripts/dingding.py
1.1.3 zabbix web 上配置钉钉告警
管理---> 报警媒介类型 ---->> 创建媒介类型
# 注: alert.message,这个仅仅获取告警内容,报警类型选择脚本,脚本名称就是自己写好的脚本名称,
选择: 管理 ---->> 用户 ---->> Admin ---->> 报警媒介 ---->> 添加钉钉告警
接收人输入all 这样钉钉群下面的成员就都可以接收到报警信息了.
创建动作:
操作配置如下:
# 默认标题: 故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障! # 消息内容: 告警主机:{HOST.NAME} 告警地址:{HOST.IP} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级: {TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} - {EVENT.TIME} 事件ID:{EVENT.ID} # 其他配置如下如
恢复操作:
默认标题: 恢复{TRIGGER.STATUS},服务器:{HOSTNAME1} :{TRIGGER.NAME}已恢复! # 消息内容 告警主机:{HOST.NAME} 告警地址:{HOST.IP} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级: {TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} - {EVENT.TIME} 恢复时间:{EVENT.RECOVERY.DATE} - {EVENT.RECOVERY.TIME} 持续时间:{EVENT.AGE} 事件ID:{EVENT.ID} # 其他配置如下图
1.1.4 查看报警日志检查
二 邮件报警
2.1.1 配置报警媒介类型
2.1.2 用户添加报警媒介,以admin用户为例