zabbix配置微信报警
一.注册企业微信(这里不多赘述)
二.配置报警
1.配置报警媒介类型
这里的脚本名字为:weixin.py
第一个参数:{ALERT.SENDTO}
第二个参数:{ALERT.SUBJECT}
第三个参数:{ALERT.MESSAGE}
下边是完整的配置
2.配置 使用上边配置的报警媒介类型
注:这里的类型是刚刚创建的报警媒介类型的名称
下边选择收件人(需要登录企业微信,没有企业微信就别想了,嘿嘿嘿)
这里的账号就是我们的收件人
下边是完整的配置,点击添加即可
点击更新或者添加(这里因为我这里有一个邮箱报警,所以是更新)
这个启用动作即可
到此为止,前端的配置就完成了
三、脚本配置
命令也给你们贴出来
grep -Ev '^$|#' zabbix_server.conf # 我当前是在/etc/zabbix/的目录下面,在/etc/zabbix/下面才可以直接运行,不然需要用绝对路径
开始写发送微信报警的脚本(知道为什么上面创建报警媒介类型的时候,我的脚本名字为什么叫weixin.py了吧)
# 脚本内容复制粘贴就行,需要改三行的配置(corpid, appsecret,agentid)我也不知道脚本什么意思
vim weixin.py
#!/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')
#填写自己的企业ID号
corpid='wwfe60fb71a0159ffe' # 这个地方需要换成你自己的企业id号
# 应用的secret
appsecret='6VPRv0XJthXr4lbxHZzhxRHjUiq8Tq4hEMsWLWtqbtU' # 这个地方需要换成你自己secret
#填写自己的应用ID
agentid=1000002 # 这个地方需要换成你自己的应用ID
# 获取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)
获取自己的企业微信ID号,复制id号替换我的id号
2.创建应用,创建应用是为了有人给我们报警,还有获取应用id和secret(现在secret只能通过手机版企业微信获得,还是乖乖下载企业微信吧)
3.获取应用的agentid,记得把weixin.py脚本里面的agentid替换了
4.获取secret
5.发送完去手机企业微信去查看
6.把你的secret替换weixin.py脚本中的appsecret
四、测试脚本是否成功(注意:运行脚本的时候需要传入三个参数)
1.首次运行会报错,这是因为我们的python中没有安装requests的模块
解决办法
# 安装pip
yum -y install python-pip
# 用pip安装requests模块
pip install requests
解决问题之后继续测试
到此为止,测试成功,可以发送。
五、zabbix上制造错误
1.我有一个这样的触发器
2.开始创造错误
3.报错了
这个报错是因为zabbix写日志的时候没有权限向/tmp/weixin.log 里面写入,重新删除或者改变用户都行
chown zabbix:zabbix weixin.log
4.再去测试
我的提示是中文的,是因为我手动改了一下,你也可以自己改,具体不说在哪里改了,大功告成!!!!再见!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~