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.再去测试

 

我的提示是中文的,是因为我手动改了一下,你也可以自己改,具体不说在哪里改了,大功告成!!!!再见!

 
posted @   山山多喝热水  阅读(1139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示