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
    评论
Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。 Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。 Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。主要讲解8个主题:1.     通过SNMP防火墙设备的监控2.     通过SNMP交换机设备的监控3.     对Windows的性能、服务、用户登陆监控4.     对Linux的性能、用户登陆情况进行监控5.     生产中常用的服务进行监控,如nginx,httpd,mysql,ceph,bind等6.     Zabbix分布式的部署和监控7.     常见的zabbix三种报警方式8.     使用grafana对zabbix中的数据进行展示

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值