Zabbix钉钉告警
1.安装python以及pip
命令为:dnf -y install python python-pip
,安装好之后使用python -V
命令可以查看到python版本
2.钉钉创建告警机器人
方法为创建一个群,找到设置往下翻找到机器人,点击添加机器人,选择自定义机器人
机器人名字可以随便填写,勾选自定义关键词,设置告警。
记录机器人的webhook
3.钉钉告警脚本创建
zabbix脚本目录/usr/lib/zabbix/alertscripts创建一个告警的脚本,例如dingding.py,复制以下内容到dingding.py并赋予脚本权限chmod +x dingding.py
脚本内容:
#!/usr/bin/env python# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport datetimewebhook = "刚才复制的钉钉机器人webhook"user=sys.argv[1]subject=sys.argv[2]text=sys.argv[3]data={"msgtype": "text","text": {"content": "%s%s"%(subject,text)},"at": {"atMobiles": [user],"isAtAll": False}}headers = {'Content-Type': 'application/json'}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
保存好脚本之后一定要记得给权限
4.python模块安装
pip设置国内源,并安装上个板块中python所需模块requests
pip设置国内源的命令:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip升级的命令:
pip install --upgrade pip
pip安装的命令:
pip install requests
5.配置zabbix告警
创建告警媒介类型,脚本名称就是上文中的脚本名称(dingding.py),添加脚本参数
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
配置触发器动作,我这边设置触发器示警度大于或等于一般严重的情况下进行告警
点击操作,添加一个操作,发公司用户给管理员(admin),用前面配置的钉钉告警;信息内容为:
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.IP}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
把默认账户Admin的报警媒介设置一下,类型选择我们前面的钉钉告警,警示度根据自行需求选择(把未分类-告警全部选中可能产生较多的告警信息)