设为首页 收藏本站
查看: 881|回复: 0

[经验分享] Zabbix 3.4.3之企业微信报警

[复制链接]

尚未签到

发表于 2019-1-18 11:01:12 | 显示全部楼层 |阅读模式
  一、企业微信注册
  微信的报警方式可以让我们随时随地接收到信息,加快问题的处理,比传统邮件更加方便,首先我们先打开企业微信的地址 https://work.weixin.qq.com
  1、填写申请信息

  2、下一步
  根据注册流程步骤进行后面的操作,直到注册成功。
  二、企业微信配置
  1、创建部门

  首先我们要创建部门,类似于组,把相关的人员放到这个部门里面,创建部门之后,我们会用到部门id,报警消息根据部门id发到部门的相关人员。

  根据自己的需求填写,所属部门也可以是现有部门的子部门,具有层级所属关系。

  查看部门id,我们以后会用到,我这里部门id是2。

  2、给部门增加人员
  点击添加成员,然后让用户关注就可以了。

  3、添加应用
  用于消息发送的接口,这里我们需要记住应用的id以及secret,用于发送token的获取,按照我们的设定,目前只有运维部的人员可以看到此应用,即可以通过此应用获取到报警信息。

  记住这里的Agentid和Secret。

  4、获取企业ID


  三、测试微信消息发送接口

  调用微信接口需要一个调用接口的凭证:access_token,通过CropID 、Secret才能获取到access_token,但是获取到的token有效期为7200秒。
  我们可以通过下面的接口调试工具以及接口说明文档进行测试。

  接口调试工具:http://work.weixin.qq.com/api/devtools/devtool.php
  接口说明文档:https://work.weixin.qq.com/api/doc#10167
  调试成功页面如下。

  四、报警脚本
  1、编写python脚本
  脚本使用的python版本为3.6,关于python3.6的安装请查看博文http://blog.运维网.com/wzlinux/2043592  。
  vim /usr/local/zabbix/alertscripts/wechat.py
#!/usr/bin/python3.6   
# -*- coding: UTF-8 -*-   
# wangzan18@126.com   
# 2018-09-30   
import json   
import requests   
import sys   
# 微信公众号上应用的CropID和Secret   
corpid = 'wx8d46d36104988993'   
corpsecret = 'QCjzy2lH2ZB7MUG6uowChyChPsOQw96EB0X0QjofRRt0JePGezTVR4saIw3Ezznh'   
def getToken(corpid,corpsecret):   
# 获取access_token   
GURL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (corpid, corpsecret)   
# 使用requests.get 函数请求,并把结果转化为json形式,获取token   
token = requests.get(GURL).json()['access_token']   
return token   
def sendMsg(title,message):   
# 获取access_token   
access_token = getToken(corpid,corpsecret)   
# 消息发送接口   
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s"  % access_token   
# 要发送的消息   
weixin_msg = {   
"toparty": '2',      # 部门ID   
"agentid": '4',   # 企业应用的id   
"msgtype" : "textcard",   
"textcard": {   
"title": title,   
"description": message,   
"url": "www.wzlinux.com",   
"btntxt": "更多"   
}   
}   
# 向消息接口发送消息   
print(requests.post(Purl,data = json.dumps(weixin_msg),headers={'Content-Type': 'application/json;charset=utf-8'}).content)   
if __name__ == '__main__':   
# 向脚本传参title和message   
title = sys.argv[1]   
message = sys.argv[2]   
sendMsg(title,message)chmod +x /usr/local/zabbix/alertscripts/wechat.py  代码地址:https://github.com/wangzan18/learnpython/blob/master/weixin_news.py
  
  2、测试脚本

  微信已经可以接收到消息,那脚本已经没有什么问题了。

  五、Zabbix配置
  1、添加Media types
  首先需要在zabbix server的配置文件开启上面脚本的目录,然后才可以使用,我们添加两个参数,一个是报警的标题,一个是报警信息的内容,用于传给脚本的两个参数。

  2、给用户添加报警媒介

  3、创建Action

服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
}

服务器:{HOST.NAME}: 报警确认
{
确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:
"{ACK.MESSAGE}"
问题服务器IP:{HOSTNAME1}
问题ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}
}  六、报警测试
  关掉zabbix agent。







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664740-1-1.html 上篇帖子: 清除zabbix历史缓存 下篇帖子: zabbix邮件报警中文化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表