Zabbix微信报警

1.注册企业微信账号

邀请好友

查看通讯录信息

创建应用信息

 记录用户ID和密码

 编辑微信报警的python.py脚本

[root@myserver_1 test]# cat wechat.py 
#!/usr/bin/env python
#-*- coding: utf-8 -*-
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='ww0ffff4baf7b8a1bf'
appsecret='gmSS3j4seH2TGQh0fEOMLjH-2NT146TWaT2Vfr8jafg'
agentid=1000002
#获取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[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)

下载脚本中依赖插件(pip 依赖epel.repo)


 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 
 
 yum install -y python-pip   

 pip install request -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 

[root@myserver_1 test]# python wechat.py 'YangHuaDong' '微信报警' '小伙子赶紧查看'

[root@myserver_1 test]#

手机端查收验证:

以上是代码脚本验证微信报警,下面是对zabbix发件人和收件人实现zabbix报警

[root@myserver_1 test]# egrep -Ev '^$|#' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

将zabbix报警脚本放到 /usr/lib/zabbix/alertscripts 目录下并赋予执行权限和用户权限

编辑zabbix-web客户端的收件人信息

上面填写的参数可以参考官网,粘贴复制即可

https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300

 

官网参数如下

 

 

点击添加后返回管理页面查看

编辑收件人信息

点击添加后测试结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 Python 实现的 Zabbix 微信报警脚本,需要先安装 WeixinBot 和 requests 库: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import sys class WeChat(object): def __init__(self, corpid, corpsecret): self.url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' self.corpid = corpid self.corpsecret = corpsecret self.params = { 'corpid': self.corpid, 'corpsecret': self.corpsecret } self.access_token = self.get_access_token() def get_access_token(self): r = requests.get(self.url, params=self.params) return r.json()['access_token'] def send_message(self, message, agentid, touser=None, toparty=None): url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send' data = { "touser": touser, "toparty": toparty, "msgtype": "text", "agentid": agentid, "text": { "content": message }, "safe": 0 } params = { 'access_token': self.access_token } headers = {'Content-Type': 'application/json;charset=utf-8'} r = requests.post(url, params=params, data=json.dumps(data), headers=headers) return r.json() if __name__ == "__main__": corpid = 'YOUR_CORPID' corpsecret = 'YOUR_CORPSECRET' agentid = 'YOUR_AGENTID' touser = sys.argv[1] subject = sys.argv[2] content = sys.argv[3] message = u"收件人:%s\n主题:%s\n内容:%s" % (touser, subject, content) wechat = WeChat(corpid, corpsecret) response = wechat.send_message(message, agentid, touser=touser) print(response) ``` 使用方法: 1. 用企业微信扫描二维码,加入企业; 2. 创建一个应用,并记录下应用的 `corpid`、`corpsecret`和 `agentid`; 3. 安装 WeixinBot 和 requests 库; 4. 将上述代码保存到文件 `wechat.py` 中; 5. 在 Zabbix 中配置告警媒介,将 `wechat.py` 的路径作为脚本名,并在参数中依次填入收件人、主题和内容。例如:`/usr/bin/python /path/to/wechat.py {ALERT.SENDTO} "{ALERT.SUBJECT}" "{ALERT.MESSAGE}"`; 6. 测试告警是否正常发送。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值