zabbix实现钉钉监控告警
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix实现钉钉监控告警相关的知识,希望对你有一定的参考价值。
需求:
将Zabbix告警信息发送到钉钉群组。
一 创建钉钉机器人
二 配置zabbix
2.1 部署钉钉脚本
mkdir /opt/zabbix/alertscripts
mkdir /opt/zabbix/log
#修改/opt/zabbix/etc/zabbix_server.conf,设置监控脚本路径
AlertScriptsPath=/opt/zabbix/alertscripts
#重启zabbix server
systemctl restart zabbix_server
#部署监控脚本
cd /opt/zabbix/alertscripts
vi dingding.py,添加如下内容:
#!/usr/bin/env python
#coding:utf-8
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("/opt/zabbix/log/dingding.log"):
f=open("/opt/zabbix/log/dingding.log","a+")
else:
f=open("/opt/zabbix/log/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()
#为脚本赋予权限
chmod 755 dingding.py
#手动测试是否能发消息到钉钉
① 要确保zabbix server服务器能联网
#确保能ping通。
ping oapi.dingtalk.com
② 获取下个人钉钉账号id,示例:
③ 测试
./dingding.py 钉钉号 自定义主题 "上面设置过的关键字"
示例:
./dingding.py uaj1zks ceshi "告警"
/*
若报错ImportError: No module named requests,则yum install python-requests -y
*/
看下钉钉机器人是否收到了消息:
2.2 配置zabbix web
2.2.1 添加报警脚本到zabbix
管理——报警媒介类型——创建报警媒介类型:
ALERT.SENDTO
ALERT.SUBJECT
ALERT.MESSAGE
2.2.2 配置用户
这里配置Admin用户:
添加完后,记得点击‘更新’。
2.2.3 创建动作
在‘操作’处点击‘添加’:
/*
告警:EVENT.NAME
告警主机:HOSTNAME1
告警时间:EVENT.DATE EVENT.TIME
告警等级:TRIGGER.SEVERITY
告警信息: TRIGGER.NAME
告警项目:TRIGGER.KEY1
问题详情:ITEM.NAME:ITEM.VALUE
当前状态:TRIGGER.STATUS:ITEM.VALUE1
事件ID:EVENT.ID
*/
在‘恢复操作’处点击‘添加’:
/*
告警主机:HOSTNAME1
告警时间:EVENT.DATE EVENT.TIME
告警等级:TRIGGER.SEVERITY
告警信息: TRIGGER.NAME
告警项目:TRIGGER.KEY1
问题详情:ITEM.NAME:ITEM.VALUE
当前状态:TRIGGER.STATUS:ITEM.VALUE1
事件ID:EVENT.ID
*/
最后记得点击前面‘动作’选项卡出的‘添加’添加这些动作。
2.3 验证告警功能
配置下zabbix对某个组件的监控(示例mysql),将该组件停止,验证下是否能收到告警。
告警信息如下:
--本篇文章参考了Zabbix实现钉钉群告警_夏诗曼CharmaineXia的博客-CSDN博客_zabbix 钉钉告警
以上是关于zabbix实现钉钉监控告警的主要内容,如果未能解决你的问题,请参考以下文章