zabbix之添加微信报警

本文介绍了如何将Zabbix与微信企业号结合,实现服务器监控报警。首先,需要申请微信企业号并创建通讯录及应用。接着,配置Zabbix的微信脚本,调用微信接口获取access_token。然后,在Zabbix中创建报警媒介、用户,并设置动作。最后,通过手机扫描二维码关注,完成个人微信接收Zabbix报警信息的设置。
摘要由CSDN通过智能技术生成

1.微信企业号的申请

注册的地址https://qy.weixin.qq.com/ 

在这里插入图片描述
2.创建通讯录
在这里插入图片描述
2.创建应用
在这里插入图片描述
到这里为止我们在企业微信上的操作基本就已经结束了,此时我们应该去zabbix下配置脚本

[root@koby ~]# cd /usr/local/zabbix-3.4.4/
[root@koby zabbix-3.4.4]# mkdir scripts && chown -R zabbix.zabbix scripts

[root@koby zabbix-3.4.4]# vim conf/zabbix_server.conf 
[root@koby zabbix-3.4.4]# vim conf/zabbix_server.conf
ExternalScripts=/usr/local/zabbix-3.4.4/scripts(脚本路径)
AlertScriptsPath=/usr/local/zabbix-3.4.4/scripts #(自定义脚本路径)

我们配置微信脚本 首先我们需要调用微信接口
调用微信接口需要一个调用接口的凭证:access_token
通过:GropID,Secret才能获取到access_token,但是获取到的token有效期为两分钟
微信企业号接口调试工具地址:http://qydev.weixin.qq.com/debug
打开上面的url,使用上面monitops企业号的monit-manager管理组的CorpID和Secret号获得调用接口凭证access_token,如下:
在这里插入图片描述

在这里我们看到需要两个值这两个值分别在
在这里插入图片描述

[root@koby /data/tar]# wget wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz
[root@koby /data/tar]# tar -zxvf simplejson-3.8.2.tar.gz
[root@koby simplejson-3.8.2]# python setup.py build
[root@koby simplejson-3.8.2]# python setup.py install
[root@koby scripts]# cat weixin.py 
#!/usr/bin/python
#_*_coding:utf-8 _*_

import requests,sys,json
import urllib3
urllib3.disable_warnings()

reload(sys)
sys.setdefaultencoding('utf-8')

def GetToken(Corpid,Secret):
    Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
    Data = {
        "corpid":Corpid,
        "corpsecret":Secret
    }
    r = requests.get(url=Url,params=Data,verify=False)
    Token = r.json()['access_token']
    return Token

def SendMessage(Token,User,Agentid,Subject,Content):
    Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
    Data = {
        "touser": "****",                                 # 企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
        #"totag": Tagid,                                # 企业号中的标签id,群发使用(推荐)
        "toparty": "2",                             # 企业号中的部门id,群发时使用。
        "msgtype": "text",                              # 消息类型。
        "agentid": "1000002",                             # 企业号中的应用id。
        "text": {
            "content": Subject + '\n' + Content
        },
        "safe": "0"
    }
    r = requests.post(url=Url,data=json.dumps(Data),verify=False)
    return r.text

if __name__ == '__main__':
    User = sys.argv[1]                                                              # zabbix传过来的第一个参数
    Subject = sys.argv[2]                                                           # zabbix传过来的第二个参数
    Content = sys.argv[3]                                                           # zabbix传过来的第三个参数

    Corpid = "ww5fb949e53edc118d"                                                   # CorpID是企业号的标识
    Secret = "Rpx0C3-sXCFl5Lqhyib0NDBkgk5VhY4I4F_FBcasy6o"     # 应用的Secret
    #Tagid = "1"                                                                     # 通讯录标签ID
    Agentid = "1000002"                                                                   # 应用ID
    #Partyid = "1"                                                                  # 部门ID

    Token = GetToken(Corpid, Secret)
    Status = SendMessage(Token,User,Agentid,Subject,Content)
    print Status



[root@koby scripts]# chmod 755 weixin.py & chown -R zabbix.zabbix weixin.py

手动测试weixin.py脚本,可以使用用户账号或应用ID去测试,观察微信是否能收到信息:

 [root@z5 alertscripts]#  ./wechat.py user 报警测试 error
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww53f352c08224ecb2&corpsecret=HWxBHnhoH3n1wnulndcGFDkdYBwPYfSsw6SRNO2ZqAo
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}
[root@z5 alertscripts]# ./wechat.py zhengge test 67
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww53f352c08224ecb2&corpsecret=HWxBHnhoH3n1wnulndcGFDkdYBwPYfSsw6SRNO2ZqAo
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

在这里插入图片描述

上面的user(zhengge)是我们的用户的账号
当在企业微信上收到发送的信息后我们就可以登录zabbix,在上面添加报警配置

1)创建报警媒介(这里我选用python脚本:weixin.py)
注意下面要填写的脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
在这里插入图片描述
在这里插入图片描述
2)创建用户weixin(密码一栏可以选择跟之前的超级管理员zabbix一样的密码;用户类型也可以设置成超级管理员)

在这里插入图片描述
在这里插入图片描述
上图中的收件人koby,应该时企业微信中的接收信息的部门id(本人是3)
在这里插入图片描述
3)创建动作
在这里插入图片描述
在这里插入图片描述
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}
在这里插入图片描述
在这里插入图片描述
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

到这里我们就配置完毕了 但是这样的问题是只能用企业微信接到消息 那么如何让我们平时使用的微信也能接到消息呢?
在这里插入图片描述
这里我们用手机扫描二维码进行关注 下面我们来测试下

[root@koby scripts]# service zabbix_agentd stop
Shutting down zabbix_agentd: [ OK ]
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix 5.0中添加微信告警,你需要进行以下配置步骤: 1. 首先,你需要在Zabbix服务器上找到zabbix_server.conf文件,并查看AlertScriptsPath的路径。你可以使用以下命令来查看路径:\[1\] ``` grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf ``` 默认情况下,AlertScriptsPath的路径是`/usr/lib/zabbix/alertscripts`。 2. 确保你的系统环境是CentOS 7.5.1804。你可以使用以下命令来查看系统版本:\[2\] ``` cat /etc/redhat-release ``` 3. 在Zabbix Web界面上进行以下配置: - 创建一个用户组,并将该用户组与需要管理的主机关联。 - 创建一个用户,并将其添加到上述用户组中。 - 添加报警媒介,选择企业微信作为报警方式。 - 进行测试报警,确保报警能够正常发送。 4. 配置推送内容,你可以使用以下内容作为告警推送内容的模板:\[3\] ``` 问题内容: -=【告警啦】=- 告警主机:{HOSTNAME1} 主机名称:{HOST.NAME} 主机地址:{HOST.IP} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} ``` 通过按照上述步骤进行配置,你就可以在Zabbix 5.0中成功添加微信告警了。 #### 引用[.reference_title] - *1* *2* [Zabbix5.0微信报警超详细步骤](https://blog.csdn.net/qq_19731521/article/details/118520958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Zabbix5.0配置微信单用户告警](https://blog.csdn.net/hzgnet2021/article/details/123690510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值