zabbix使用企业微信发送告警

1、简介

zabbix已经使用邮件告警了一段时间了,发现还有微信告警,这里使用了微信公众号进行了告警;

步骤描述:1)申请企业微信(没有企业也可以申请)  2)记录企业公众号的信息,配置脚本,测试脚本   3)配置zabbix的web页面参数,完成监控

未实现的部分:使用公众号可以给特定的用户发送特定信息,这个没实现;

 

2、简介

1)申请企业微信

注意:没有企业也可以申请

首先,在浏览器中搜索“企业微信”,然后注册

 

然后创建应用

最后记录AgentId、Secret、企业ID(企业ID在我的企业中)

2)记录企业公众号的信息,配置脚本,测试脚本

[root@izm5eecf1m12fnlxolc08hz ~]# cat /etc/zabbix/zabbix_server.conf|grep alert|grep -v '#'
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@izm5eecf1m12fnlxolc08hz ~]# more /usr/lib/zabbix/alertscripts/wechat.py 
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#date: 2018-04-20
#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('/data/zabbix','weixin.log'),filemode = 'a')
corpid='xxxx'   #企业ID
appsecret='xxxxxxxxxxxxxxxxxxxxx'   #Secret
agentid=1000002   #agentID
#获取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[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@izm5eecf1m12fnlxolc08hz ~]# 

 

测试脚本

chmod +x wechat.py 
./wechat.py 用户名称或部门ID alertTest "This is test message"

 

3)配置zabbix的web页面参数,完成监控

首先配置告警,如下图

 

{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}

如下,点击测试,测试告警媒介;

 

给用户添加告警媒介

给告警动作配置目标

 

 

消息内容如下修改:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}


恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

 

4)测试截图

 

主要参考)参考1:https://blog.csdn.net/jack_yangyj/article/details/86472013

时间:2020-07-28

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值