[if !supportLists]1、 [endif]在zabbix告警目录新建wxrobot.py脚本
vi /usr/local/zabbix/share/zabbix/alertscripts/wxrobot.py
粘贴以下内容:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/jsoncharset=utf-8'}
api_url = "复制群聊机器人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)
保存退出
需要安装python插件库:pip install requests
授权和更改权限:
chmod +x *.py
chown zabbix:zabbix *.py
2.Zabbix页面配置,新增告警媒介
配置动作
配置—动作—创建动作 , 事件源 选择 触发器
1、点击右上角,“ 创建动作 ”填写对应的信息;在 动作 页面填写以下信息,这里例子为以主机内存使用率超过90%为例,
计算方式:
Aand B,需要同时符合条件里面添加的条件;
条件A:主机群组等于 Linux Servers;
条件B:触发器等于linux模板的物理内存使用率持续3分钟等于90%。
2、切换到 *** 作
*** 作: 也就是在符合动作里面配置好的条件时,做出对应的动作,具体的 *** 作说明,请参考官网指导文档,填写好信息,然后点击 *** 作细节 里面的 添加
[if !supportLists]1、 [endif]恢复 *** 作配置
到这就触发器告警企业微信群机器人发送配置完成了,动作日志可以在
报表 –动作日志 页面查看
附上格式配置,参数说明和其他的格式,请参考 使用宏
*** 作发送消息内容恢复 *** 作发送消息内容
问题:{EVENT.NAME}
告警信息:{TRIGGER.NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{EVENT.VALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
告警信息:{TRIGGER. NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{EVENT.RECOVERY.VALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.RECOVERY.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.RECOVERY.ID}
技术交流欢迎加入Q群:177428068
首先,该 *** 作是非常简单的。而且通过微信辅助邮件报警是一个非常好的选择,现在微信这么普及而且免费。短信报警也是非常好的,只不过都是双刃剑,如果晚上出现网络波动发送报警,那么这个是很头疼的,严重影响睡眠。 下边简单说下zabbix实现微信报警的步骤。
1,申请一个微信企业号。
申请的时候可以自己填写一个XXX工作室之类的名字,这个不影响。具体不做详细阐述,可以参考http://wuhf2015.blog.51cto.com/8213008/1688614说明去申请和设置。我这里创建了两个账号,一个manager01和manager02
2,zabbix server端进行shell脚本设置,这里我们 *** 作的是weixin.sh。
/usr/local/zabbix/alertscripts[root@21yunwei alertscripts]# vim weixin.sh #!/bin/bash CropID='XXXXXXXX'Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&ampcorpsecret=$Secret"Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() { local int AppID=1 local UserID=$1 local PartyID=2 local Msg=$(echo "$@" | cut -d" " -f3-) printf '{\n' printf '\t"touser": "'"$UserID"\"",\n" printf '\t"toparty": "'"$PartyID"\"",\n" printf '\t"msgtype": "text",\n' printf '\t"agentid": "'" $AppID "\"",\n" printf '\t"text": {\n' printf '\t\t"content": "'"$Msg"\""\n" printf '\t},\n' printf '\t"safe":"0"\n' printf '}\n'}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
chmod +x weixin.sh
脚本是否正常,我们可以先自己执行测试。比如执行:
sh weixin.sh manager01 testsub testcomtent 看下是否微信可以接收到消息,接收到说明成功,如果接受失败,那么设置有问题,需简单之前的步骤是否都 *** 作对了。
3,创建报警媒介、action和设置报警接收
创建报警媒介,这里相信大家都不陌生。我这里创建的情况是:
创建action:报警步骤这里不详细说了,我只是写一点微信报警的内容,其他的都一样。创建action的步骤可以参考《zabbix 如何通过action进行报警配置》
\n报警问题:{TRIGGER.NAME}\n报警主机:{HOSTNAME}\n报警时间:{EVENT.TIME}\n报警状态:{TRIGGER.STATUS}\n报警级别:{TRIGGER.SEVERITY}
加行\n是为了换行。
好了,设置下微信报警接收人员:
保存后测试下效果。
比如我们useradd -M test123,添加以后就可以收到微信报警了。
企业微信机器人告警企业微信群聊里面增加机器人,机器人会提供发送信息的URL
python 脚本进行实现
1、创建企业微信机器人
这个 webhook 后面需要使用到
2、配置 zabbix server
3、zabbix Web 页面配置
默认标题:
恢复 *** 作:
创建动作
4、测试发送告警
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)