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

[经验分享] Zabbix使用企业微信进行告警

[复制链接]

尚未签到

发表于 2019-1-18 11:06:14 | 显示全部楼层 |阅读模式
  一、注册企业邮箱
  1.1、企业微信告警优势:让我们实时接收到信息,加快问题的处理,比传统邮件更便捷;
     如果没有企业微信,那么我们首先到企业微信官网: https://work.weixin.qq.com进行注册。

  二、企业微信配置
  2.1、在通讯录中创建部门
  创建部门,类似于组,把相关的人员放到这个部门里,创建部门后,会用到部门ID,报警消息会根据部门ID发到部门的相关人员。



  2.2、增加部门人员
  添加成员--填写资料。

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

得到这样的界面( 再次提醒记住AgentidSecret):

  2.4、获取企业ID(需要有成员加入后才能显示CorpID):

  三、测试微信消息发送接口
    微信接口的调用需要一个凭证:access_token,通过CorpID Secret才能获取到access_token,但是获取到的token有效期为7200秒。
可以通过下面的接口调试工具以及接口说明文档来进行测试(返回200表示成功)
接口调试工具:http://work.weixin.qq.com/api/devtools/devtool.php
接口说明文档:https://work.weixin.qq.com/api/doc#10167

测试成功显示如下:

  四、报警脚本
  4.1、编写python脚本
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim wechat.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# zabbix notification confirmation script
# python2.7 or above

import requests
import json
import os
import sys

Toparty = "2"   #部门id
AgentID = 1000002     #应用id

#修改为企业CropIDSecret
CropID = 'wwac7665d19735ca22'
Secret = 'Z6W81GSJe7JwRu6Khbz2V9kUPtBQf31ArnhMiNuFMjU'

#获取Token
Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ CropID + "&corpsecret=" + Secret
headers = {'Content-Type': 'application/json'}
json_data = json.loads(requests.get(Gtoken).content.decode())
token = json_data["access_token"]

#消息发送接口
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token

#消息发送函数
def msg(title,message):
    weixin_msg = {
"toparty" : Toparty,
"msgtype" : "textcard",
"agentid" : AgentID,
"textcard" : {
"title" : title,
"description" : message,
"url" : "www.wzlinux.com",
"btntxt":"更多"
          }
      }
    print requests.post(Purl,json.dumps(weixin_msg),headers=headers)

if __name__ == '__main__':
    title = sys.argv[1]        #获取第一个参数
    message = sys.argv[2]      #获取第二个参数
    msg(title,message)
[root@zabbix-server alertscripts]# chmod+x wechat.py
[root@zabbix-server alertscripts]# chown zabbix:zabbix wechat.py
[root@zabbix-server alertscripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 2080 May 21 13:28 wechat.py
[root@zabbix-server alertscripts]# ./wechat.py 1 2
Traceback (most recent call last):
  File "./wechat.py", line 5, in
    import requests,sys,json
ImportError: No module named requests
[root@zabbix-server alertscripts]# yum -y install python-setuptools
[root@zabbix-server alertscripts]# easy_install pip
[root@zabbix-server alertscripts]# pip install requests
[root@zabbix-server alertscripts]# ./wechat.py 1 2

  五、Zabbix配置
5.1、添加Media types
    首先需要在zabbix server的配置文件开启上面脚本的目录,然后才可以使用,我们添加两个参数,一个是报警的标题,一个是报警信息的内容,用于传给脚本的两个参数。
Step1:管理--报警媒介类型--创建媒体类型



Step2:添加动作(配置--动作--创建动作):




  注:不管能否解决你遇到的问题,欢迎相互交流,共同提高!




运维网声明 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-664747-1-1.html 上篇帖子: zabbix3.0版本部署使用 下篇帖子: Zabbix_sender介绍及配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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