zabbix企业微信报警
1.先注册企业微信
企业微信地址:https://work.weixin.qq.com
1.2.填写注册相关信息
1.3.注册完成
2.创建报警机器人
2.1.创建应用
应用管理–应用-创建应用
2.2.编辑应用信息
设置机器人log、机器人名称
2.3.创建成功
需要的两个信息
AgentId 1000002
Secret #这个会发送到企业微信
3.微信关联企业微信接收报警内容
点击我的企业微信–微信插件–找到二维码扫码关注即可接收微信报警信息
扫描二维码关注我的企业微信报警信息
手机微信查看邀请信息
3.1.命令行测试发现微信信息
获取企业ID
点击我的企业–企业信息–企业ID
企业ID:ww232c7ba826aceaac
3.2.获取企业应用ID和密码
点击应用管理–找到对应的–应用-复制Agentld、Secret的值
AgentID 1000002
secret TtPPKdfYWphLiNBqnAqLEjH4Re8B9Ljg9dN8QUjxkfI
4.准备Python脚本发送消息至企业微信
使用脚本的时候只需要修改17、18、19行即可
corpid=’ ’ 企业ID
appsecret=‘ ’ secret
agentid=’ ‘ AgentID
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#comment: zabbix接入微信报警脚本
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
corpid='' #企业ID
appsecret='-t0rZGTakxaH2izz7degTA41naI' #secret
agentid= #AgentID
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
toparty='3|4|5|6'
message=sys.argv[3]
params={
"touser": touser,
"toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
4.2.zabbix实现企业微信报警
将脚本上传至zabbix-server端的,/usr/lib/zabbix/alertscripts路径下 。
报警内容
报警内容
发生的
问题发生
当前状态: 未解决❎️
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
恢复的
问题恢复
当前状态: 已处理✅
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
4.3.删除命令行测试生成的报警日志
由于我们测试是以root身份测试的,如果不删除,zabbix报警的时候则无法报警,会提示无权限讲报警信息写入到日志
[root@zabbix-server ~]# rm -rf /tmp/weixin.log
4.4.新建微信报警媒介-定义发件人
点击管理—报警媒介类型—新增报警媒介—填写名称—类型选择脚本—添加三个脚本参数
{ALERT.SENDTO} //发件人
{ALERT.SUBJECT} //标题
{ALERT.MESSAGE} //内容
5.添加zabbix报警媒介
创建成功
5.1.定义收件人
点击用户—报警媒介—添加—类型选择微信报警—收件人可以从企业微信上获取—添加—更新
5.2.停用之前的邮箱报警![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wGmz0JJT-1631095396003)(D:\linux笔记总结\zabbix\05zabbix微信报警.assets\image-20210908175906997.png)]](https://i-blog.csdnimg.cn/blog_migrate/35a62f9adbfc59e00fb46d0ff0bd3f97.png)
5.3.触发报警
日志提示已经送达