美文网首页Zabbix
zabbix报警-企业微信篇

zabbix报警-企业微信篇

作者: 胖虎喜欢小红 | 来源:发表于2020-02-18 18:22 被阅读0次

一、企业微信操作

我们所需要的信息无法从PC端或者MD(移动端)中获取,所以我们需要进入企业微信的网页

企业微信官网

我们需要获取:
①:应用ID
②:应用秘钥
③:部门ID
④:企业ID

image.png
1、点击应用管理,然后创建应用
image.png
2、应用logo和名称必须要填写,选择发送消息所在部门或个人
image.png

3、获取到Agentld和Secret
Agentld是应用ID
Secret是应用秘钥

4、然后我们还需要部门ID和企业ID

image.png
image.png

二、zabbix操作

1、创建一个报警媒介类型

image.png

2、创建用户

image.png image.png
生产情况权限看需求给,实验中给了超级管理员权限
image.png

3、指定主机或主机群主,指定监控项,设置触发器

实验中监控的是http服务端口

image.png image.png

4、设置动作

image.png image.png

消息内容

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

步骤1-0

执行命令的前提:在/etc/sudoers中给zabbix用户提权,并且不需要密码

image.png

步骤1-2

image.png
恢复操作 image.png
5、在服务断添加脚本
查看脚本默认目录:
[root@192 ~]# cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath | grep -v '#'
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@192 ~]# cd /usr/lib/zabbix/alertscripts
[root@192 alertscripts]# vim wechat.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

corpid_main = 'ww1120bbc1c541de70'   #企业ID
secret_main = 'nXJEdMsvPDL7upI-MJZZ5C_8g5v5HLxrLKwZEVNZBlA'   #应用秘钥
toparty_main = 1   #部门ID
agentid_main = '1000002'   #应用ID
class WeChat(object):
        __token_id = ''
        # init attribute
        def __init__(self,url):
                self.__url = url.rstrip('/')
                self.__corpid = corpid_main
                self.__secret = secret_main


        # Get TokenID
        def authID(self):
                params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
                data = urllib.urlencode(params)


                content = self.getToken(data)


                try:
                        self.__token_id = content['access_token']
                        # print content['access_token']
                except KeyError:
                        raise KeyError


        # Establish a connection
        def getToken(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'gettoken?'
                try:
                        response = urllib2.Request(url + data)
                except KeyError:
                        raise KeyError
                result = urllib2.urlopen(response)
                content = json.loads(result.read())
                return content


        # Get sendmessage url
        def postData(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
                request = urllib2.Request(url,data)
                try:
                        result = urllib2.urlopen(request)
                except urllib2.HTTPError as e:
                        if hasattr(e,'reason'):
                                print 'reason',e.reason
                        elif hasattr(e,'code'):
                                print 'code',e.code
                        return 0
                else:
                        content = json.loads(result.read())
                        result.close()
                return content

        # send message
        def sendMessage(self,touser,message):
                self.authID()
                data = json.dumps({
                        'touser':touser,
                        'toparty':toparty_main,
                        'msgtype':"text",
                        'agentid':agentid_main,
                        'text':{
                                'content':message
                        },
                        'safe':"0"
                },ensure_ascii=False)


                response = self.postData(data)
                print response

if __name__ == '__main__':
        a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
        a.sendMessage(sys.argv[1],sys.argv[3])

[root@192 alertscripts]# chmod a+x wechat.py

6、测试

将agent服务器的http服务停止

查看企业微信PC端或者移动端

a4fc664219a4cd5b99ffcd5dde8c4d9.png

相关文章

  • 企业微信报警

    Zabbix企业微信报警shell脚本 Zabbix服务端配置

  • zabbix报警-企业微信篇

    一、企业微信操作 我们所需要的信息无法从PC端或者MD(移动端)中获取,所以我们需要进入企业微信的网页 企业微信官...

  • zabbix企业微信报警

    随着技术进化的越来越快,移动应用的普及。传统的短信邮件报警方式显的有点落伍。 微信接收报警变得越来越时髦。 好处就...

  • zabbix企业微信报警

    参考链接: https://www.abcdocker.com/abcdocker/2472 https://ww...

  • zabbix企业微信报警

    前言:通过企业微信小程序,实现zabbix自动注册和zabbix告警的微信消息推送。前言:通过企业微信小程序,实现...

  • Zabbix使用企业微信报警配置小结

    前言 从Zabbix 3.0开始就已经有很多小伙伴开始使用微信公众号或者企业微信配置Zabbix报警,当然这里还可...

  • zabbix配置微信报警

    前言:zabbix一般可以通过邮件以及脚本的方式进行告警,zabbix通过微信报警的方式也是通过脚本来实现 企业微...

  • zabbix相关

    配置企业微信报警 登录企业微信,选择应用于小程序-》创建应用-》按需创建用于zabbix监控的应用 进入刚才创建的...

  • zabbix一键安装

    zabbix微信报警脚本 https://github.com/X-Mars/Zabbix-Alert-WeCha...

  • zabbix5.0部署 and 监控docker容器状态 and

    zabbix5.0部署 and 监控docker容器状态 and 配置企业微信报警机器人 加权sudo gpass...

网友评论

    本文标题:zabbix报警-企业微信篇

    本文链接:https://www.haomeiwen.com/subject/xszgfhtx.html