zabbix配置企业微信报警

编程入门 行业动态 更新时间:2024-10-26 02:35:29

前提:安装配置好zabbix-server 安装php 、 pip
实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点
1、申请一个微信公众号(企业号),为了获得三个数据(corpid、appsecret、agentid)用于写脚本参数。


接口调用测试
点击:API文档——>开发者工具——>接口调试工具,找不到就直接点这个地址
work.weixin.qq./api/devtools/devtool.php
corpid为创建的企业号生成的corpid2.写脚本 位置/usr/lib/zabbix/alertscripts
cat weixin.py

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import requests
import sys
import os
import json
import logginglogging.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='微信企业号corpid'appsecret='应用的Secret'agentid=应用的id#获取aesstokentoken_url='qyapi.weixin.qq./cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
aesstoken=req.json()['aess_token']
#发送消息
msgsend_url='qyapi.weixin.qq./cgi-bin/message/send?aess_token=' + aesstoken 
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +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)

3.脚本编写完成之后需要为脚本添加执行权限
[root@zabbix alertscripts]# chmod +x weixin.py
4.web界面新增报警媒介类型

名称自定义即可,类型选择脚本,脚本名称为所写的脚本的名称weixin.py,脚本的三个参数都是zabbix内置变量,分别为:报警收件人:{ALERT.SENDTO},报警标题:{ALERT.SUBJECT},报警内容:{ALERT.MESSAGE},添加完报警媒介类型后勾选启用.
5.6、配置用户报警媒介信息
配置需要收到微信报警的用户的信息,添加报警媒介,选择上面创建的微信报警,收件人填写上面所说的部门成员的账号,由于是通过微信公众号发送的微信提醒,如果需要为多个用户例如微信企业号中所有用户发送报警,这里收件人的信息就填写为@all

6.测试
命令行测试脚本能否成功执行
[root@zabbix alertscripts]# ./weixin.py 用户id “测试” ‘test’

测试的时候如果出现错误提示缺少requests,解决方法为使用pip进行安装:pip install smtplib
同时在zabbix服务器的后台也生成了微信报警的日志文件/tmp/weixin.log,如果测试不成功可以通过日志来进行查错
命令行测试完成后,如果想要通过zabbix进行触发报警,还需要做的就是将上面生成的日志文件的所属修改为zabbix用户且具有写权限chown -R   777 /tmp/weixin.log[root@zabbix alertscripts]# ll /tmp/weixin.log    
-rwxr-xr-x 1 zabbix zabbix 35329 6月 13 07:47 /tmp/weixin.log 
到这里微信报警就算大功告成了,接下来就可以愉快的通过zabbix进行触发微信报警了,报警成功触发后可以通过zabbix面板的报表——>动作日志查看

更多推荐

企业,zabbix

本文发布于:2023-06-02 05:10:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/447360.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:企业   zabbix

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!