zabbix实现微信报警
zabbix基于微信报警
[root@zabbix-server ~]# yum install python-pip -y
[root@zabbix-server ~]# pip install requests
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# wget http://fj.xuliangwei.com/public/weixin.py
1.选择企业微信进行登录
2.进行部门创建提取secrite、agentd、企业ID
weixin.py脚本
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# cat weixin.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: bgx
#date: 2018
#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='wwabc724323d435e09'
appsecret='wyKxAj7dpAEESnm5Vg9PenvyDikytl3iKEcZtuIFdaw'
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)
#脚本需要修改提取企业微信上述信息
[root@zabbix-server alertscripts]# vim weixin.py
......
corpid='wwabc724323d435e09'
appsecret='wyKxAj7dpAEESnm5Vg9PenvyDikytl3iKEcZtuIFdaw'
agentid=1000002
#获取accesstoken
#脚本授权
[root@zabbix-server alertscripts]# chmod +x weixin.py
#测试是否成功 WangYongQiang 为企业微信账号
[root@zabbix-server alertscripts]# ./weixin.py WangYongQiang 监控测试 "123456"
#手机登录企业微信查看消息发送成功
#注意:切记一定要删除,否则会导致权限问题--->因为前面测试步骤产生了日志,但是不是zabbix运行的
[root@zabbix-server alertscripts]# rm -f /tmp/weixin.log
填写微信报警名称以及需要传入的参数
{ALERT.SENDTO} #发送的用户
{ALERT.SUBJECT} #发送的主题
{ALERT.MESSAGE} #发送的内容*
微信报警添加成功--->添加报警信息---->配置--->报警媒介--->所有(更新)
#压力测试进行信息查看
[root@zabbix-server alertscripts]# dd if=/dev/zero of=/dev/null bs=1000M count=200
技术是没有终点的,也是学不完的,最重要的是活着、不秃。 学习看书还是看视频,都不重要,重要的是学会,欢迎关注,我们的目标---不秃。
---更多运维开发交流及软件包免费获取请加V: Linuxlaowang
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义