micro-canal de mecanismo de alarma Zabbix

alarma de micro-canal debe registrarse para obtener una carta de micro empresa antes de que pueda darse cuenta de alarma de micro-canales. Baidu poseen

carta de micro:

 

 

 

 

 

 Añadir un usuario al departamento que creó anteriormente

 

 

 

 

 

 

Recuerde AgentID creado y secreto

Siguiente: Recuerde Empresa ID

1) Configuración Editar perfil zabbix-servidor (donde I es la fuente instalada ruta / usr / local / zabbix; yum si camino instalado / etc / zabbix /)

Vim /usr/local/zabbix/etc/zabbix_server.conf # 
AlertScriptsPath = / usr / local / Zabbix / lib / Zabbix / alertscripts // (creado automáticamente si no existe) 
# mkdir -p / usr / local / Zabbix / lib / Zabbix / alertscripts

2) solicita conjunto de montaje

 

# Pip instalar peticiones 
# pip instalar solicitudes --upgrade

3) Descargar e instalar la escritura

Git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git # 
# cp de ZABBIX-Alerta-WeChat / wechat.py / usr / local / Zabbix / lib / Zabbix / alertscripts / // Copiar a la configuración del directorio de archivos de configuración anterior 
# chmod + x /usr/local/zabbix/lib/zabbix/alertscripts/wechat.py

Hacer los cambios apropiados de acuerdo a la secuencia de comandos dentro de los comentarios, la información en su propia señal de micro-empresa. de la siguiente manera

#! / usr / bin / python2. 7 
#_ * _coding: UTF- 8 _ * _ 
#auther:火星小刘

solicitudes de importación, sys, JSON 
urllib3 importación 
urllib3.disable_warnings () 

de recarga (sys) 
sys.setdefaultencoding ( ' utf-8 ' ) 

def GetTokenFromServer (Corpid, secreto): 
    Url = " https://qyapi.weixin.qq.com/cgi-bin/gettoken " 
    datos = {
         " Corpid " : Corpid,
         " corpsecret " : secreto 
    } 
    r = peticiones. obtener(URL = URL, params = datos, compruebe = False) 
    de impresión (r.json ()) 
    si r.json () [ ' errcode ' ] =! 0 :
         retorno Falso
     otra cosa : 
        Token = r.json () [ ' señal_acceso ' ] 
        archivo = open ( ' /tmp/zabbix_wechat_config.json ' ' w ' ) 
        file.write (R.TEXT) 
        file.close () 
        volver simbólico 

def SendMessage (usuario, AgentID, tema, contenido): 
    try :
        archivo= Abierto ( ' /tmp/zabbix_wechat_config.json ' , ' r ' ) 
        Token = json.load (archivo) [ ' señal_acceso ' ] 
        file.close () 
    excepto: 
        Token = GetTokenFromServer (Corpid, Secret) 

    n = 0 
    Url = " https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s " % token 
    de datos = {
         " touser " : " LiYanJie "# Cuentas de usuario de la empresa, el usuario Zabbix medios de comunicación en la configuración, si no se configura correctamente, enviarán departamento. 
        # " Totag " : TagId, # Empresa en el identificador de etiqueta, el uso masivo (recomendado)
         " toparty " : 2 , ID # Ministerio de la Empresa, el uso masivo.
        " MsgType " : " texto " , escriba # mensaje.
        " AgentID " : 1000002 , solicitud id # en Enterprise.
        " Texto " : {
             " contenido ": Sujeto +' \ N ' + Contenido 
        }, 
        " seguro " : " 0 " 
    } 
    r = requests.post (url = URL, los datos json.dumps = (Datos, ensure_ascii = False), verificar = False)
     , mientras que r.json () [ ' errcode ' !] = 0 y n < 4 : 
        n + = 1 
        Token = GetTokenFromServer (Corpid, secreto)
         si simbólico: 
            Url = " https://qyapi.weixin.qq.com/cgi-bin/message/send? señal_acceso =% s " % el Token 
            R & lt = requests.post (= la Url URL, Data = json.dumps (los datos, ensure_ascii = Falso), = Verificar False) 
            Imprimir (r.json ()) 

    de retorno r.json () 


SI la __name__ == ' __main__ ' : 
    el usuario = la sys.argv [ . 1 ] # ZABBIX pase el primer parámetro de 
    la Asunto = STR (la sys.argv [ 2 ]) # ZABBIX pase segundo parámetro sobre 
    el contenido = STR (la sys.argv [ . 3 ]) # ZABBIX pase al tercer parámetro 

    Corpid= " Ww986f52f27xxxxxxx "                                                      # Corpid es el número de identificación de la empresa 
    Secret = " Sinht6K7VBaJmjuZDaoOnCoyovcLHxxxxxxxxxxxxxx "                             tecla # Secreto es gestionar el conjunto de credenciales 
    #Tagid = " 1 "                                                                       # Contactos identificación de la etiqueta 
    AGENTID = " 1000002 "                                                                ID # aplicación 
    del PartyID = " 2 "                                                                     Departamento ID #

    Estado = SendMessage (Usuario, AgentID, tema, contenido) 
    Estado de impresión
Ver código

6) script de prueba está disponible

# Python /usr/local/zabbix/lib/zabbix/alertscripts/wechat.py web www 123 
{u'invaliduser 'en' 'u'errcode': 0, u'errmsg ': u'ok'}

Información adicional: La escritura de python2.7 que es el sistema por defecto viene y estamos python2.6

Intro: Configuración -> Alarma tipo de medio -> Crear Tipo de soporte

Parámetros de script

{ALERT.SENDTO} 
{ALERT.SUBJECT} 
{} ALERT.MESSAGE

Añadir la alarma a los medios de comunicación de los usuarios, se puede utilizar para crear un nuevo usuario a una alarma de micro-canal dedicado, el uso directo del usuario admin mí (Nota: cuando el ID de aplicación receptor correspondiente a la señal de micro-Empresa )

 

Supongo que te gusta

Origin www.cnblogs.com/topass123/p/12536966.html
Recomendado
Clasificación