Zabbix monitorización de alarmas empresa de micro-canales [final]

1, descargar empresa móvil de micro-canales
2, crear una empresa
Aquí Insertar imagen Descripción
3, inicio de sesión del ordenador
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
desplegable
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
este registro será utilizado más tarde después de creado con éxito
AGENTID 1000002
Secreto RROB-PrX4crYoE-C0ubxdXAKKrRyaxVqzJfonGWHdEo
Aquí Insertar imagen Descripción
departamento también id abajo
Aquí Insertar imagen Descripción
identificación corporativa también cayó
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción
La prueba es satisfactoria

operativo del servidor
pitón escritura de monitoreo de alarmas

需要修改脚本中的四个信息:
self.__corpid = 'wwd5348195e1cd' //公司的corpid
self.__secret = '2QvlfpUxh4k-JeIVNmkh2N7ijfkCs1lzb4Tkgr6xQ' //应用的secret
'toparty':1, //部门id
'agentid':"1000002", //应用id
[root@zabbix-server ~]# vim /usr/lib/zabbix/alertscripts/wechat.py
打开写入如下内容 修改上面说的四个地方
#!/usr/bin/env python
# -*- coding: utf-8 -*-

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


class WeChat(object):
        __token_id = ''
        # init attribute
        def __init__(self,url):
                self.__url = url.rstrip('/')
                self.__corpid = 'wwd5348195e1cdd809'
                self.__secret = '2QvlfpUxh4k-JeIuxVNmkh2N7ijfkCs1lzb4Tkgr6xQ'


        # 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':1,
                        'msgtype':"text",
                        'agentid':"1000002",
                        '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])
                                                                                                                                                                             
监控脚本测试:
注:Youn为企业微信名 test为标题 yufei为内容,标题和内容均可自定义
[root@youngfit ~]# /usr/lib/zabbix/alertscripts/wechat.py Youn test yufei
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}
看下自己的企业微信是否收到信息
一般youn设置其他也能收到
Zabbix crear una alerta a los medios

Nota :( enviar información de alarma a la que los mensajes de texto modo, guiones, etc.)
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

名称:sendmail                    //名称任意
类型:脚本
脚本名称:sendmail.sh              自己写的脚本
脚本参数:                          //一定要写,否则可能发送不成功
    {ALERT.SENDTO}              //照填,收件人变量
    {ALERT.SUBJECT}             //照填,邮件主题变量,变量值来源于‘动作’中的‘默认接收人’
    {ALERT.MESSAGE}           //照填,邮件正文变量,变量值来源于‘动作’中的‘默认信息’

Zabbix la adición de un usuarios de alarma

创建用户组:web-group,包含yangge、alice...等用户
创建用户:yangge、alice...等用户,并关联到微信告警
希望的结果是:发微信到组web-group,组中的用户yangge、alice都能收到

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Conjunto grupo de usuarios ha leer y escribir (enviar mensaje) a los permisos del grupo de acogida
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

如果希望中文显示:
告警主机: {HOST.NAME}
告警地址: {HOST.IP}
监控项目: {ITEM.NAME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}


收到的信息
主机: 192.168.119.130
时间: 2020.03.25 19:49:22
级别: High
触发: HTTP service is down on 192.168.119.130
详情: nginx status:net.tcp.listen[80]:Up (1)
状态: nginx已启动
项目:net.tcp.listen[80] 
事件ID:2548


主机: {HOST.NAME1}
时间: {EVENT.DATE} {EVENT.TIME}
级别: {TRIGGER.SEVERITY}
触发: {TRIGGER.NAME}
详情: {ITEM.NAME1}:{ITEM.KEY1}:{ITEM.VALUE1}
状态: {TRIGGER.STATUS}
项目:{TRIGGER.KEY1} 
事件ID:{EVENT.ID}

Aquí Insertar imagen Descripción

Prueba de alarma de micro-canales

operación final se controla

###### 测试微信报警

被监控端操作  这个机器要在你放入用户组权限的那个组机组里面才可以
[root@zabbix-agent-none1 ~]# systemctl stop nginx
查看自己的企业微信
Publicado 48 artículos originales · alabanza ganado 18 · vistas 3633

Supongo que te gusta

Origin blog.csdn.net/wx912820/article/details/105103279
Recomendado
Clasificación