Zabbix realiza monitoramento e alarme WeChat empresarial (7)

zabbix usa WeChat empresarial para monitorar alarmes

1. WeChat de empresa registrada

Para usar o alarme WeChat corporativo, você precisa primeiro registrar o WeChat corporativo

企业微信地址:https://work.weixin.qq.com/

Basta preencher as informações de registro

Insira a descrição da imagem aqui

O registro está completo

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-hotlink. Recomenda-se salvar a imagem e carregá-la diretamente (img-JSFbgHlA-1611739005163) (. \ Zabbix-note picture storage \ image-20201005101144092.png )]

2. Crie um robô de alarme

2.1. Criar um aplicativo

Application Management-Application-Create Application
Insira a descrição da imagem aqui

2.2. Editar as informações do aplicativo

Configurar log do robô, informações de descrição, departamento de aplicação

Insira a descrição da imagem aqui

2.3. Criado com sucesso

O mais importante são essas duas informações

AgentId 1000002

Segredo iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI

Insira a descrição da imagem aqui

3. Empresa afiliada do WeChat, WeChat, recebe conteúdo de alarme

Clique em Meu Negócio - Plug-in do WeChat - encontre o código QR e leia a atenção para receber as informações de alarme do WeChat corporativo

Insira a descrição da imagem aqui

Digitalize o código QR para seguir minha empresa e receber informações de alarme

Insira a descrição da imagem aqui

Visualização do WeChat para celular

Insira a descrição da imagem aqui

3. O teste de linha de comando encontrou mensagens WeChat

3.1. Obtenha o ID da empresa

Clique em minha empresa-informações da empresa-ID da empresa

ww48f74fc8ed3a07ba

Insira a descrição da imagem aqui

3.2. Obtenha o ID e a senha do aplicativo

Clique em Gerenciamento de aplicativos - encontre o aplicativo correspondente - copie o valor de AgentId, Secret

AgentId		1000002
Secret		iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI

Insira a descrição da imagem aqui

3.3. Prepare o script Python para enviar mensagens para o WeChat empresarial

Preencha as informações, como ID da empresa, ID do aplicativo e senha do aplicativo, preparadas nas duas primeiras etapas no script Python

Você só precisa modificar as linhas 17, 18 e 19 cada vez que usá-lo

corpid = 'xx'
#corporate ID appsecret = 'xx' #application password
agentid = xx # ID do aplicativo

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#comment: zabbix接入微信报警脚本

import requests
import sys
import os
import json
import logging

logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
	datefmt = '%a, %d %b %Y %H:%M:%S',
	filename = os.path.join('/tmp','weixin.log'),
	filemode = 'a')
	
	
corpid='ww48f74fc8ed3a07ba' #企业ID
appsecret='iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI'  #secret
agentid=1000002  #AgentID

#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']

#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken

touser=sys.argv[1]
subject=sys.argv[2]
toparty='3|4|5|6'
message=sys.argv[3]

params={
    
    
        "touser": touser,
        "toparty": toparty,
        "msgtype": "text",
        "agentid": agentid,
        "text": {
    
    
                "content": message
        },
        "safe":0
}

req=requests.post(msgsend_url, data=json.dumps(params))

logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

3.4. Faça upload do script para o zabbix-server e teste o conteúdo do alarme

1.准备Python环境安装所依赖的模块
安装Python2-pip时依赖epel源提前准备好
[root@zabbix-server ~]# yum -y install python2-pip

2.去清华源找到对应的加速器并安装缺少的模块
这个地址有加速器的使用方法https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
[root@zabbix-server ~]# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple request

3.命令行测试并发生内容到微信
[root@zabbix-server ~]# python weixin.py JiangXiaoLong 'ceshi' 'ceshi'
语法格式:python 脚本名 要发生给谁 '标题' '内容'

要发生给谁可以在企业微信部门中找到要发生的人点进去即可看到账号信息

O WeChat verifica se a mensagem foi recebida

Insira a descrição da imagem aqui

4.zabbix percebe alarme WeChat empresarial

4.1 Conteúdo do alarme

报警内容

发生的
问题发生
当前状态: 未解决❎️
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}

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

4.2. Excluir o registro de alarme gerado pelo teste de linha de comando

由于我们测试是以root身份测试的,如果不删除,zabbix报警的时候则无法报警,会提示无权限讲报警信息写入到日志
[root@zabbix-server ~]# rm -rf /tmp/weixin.log

4.3. Mova o script de alarme para o diretório de script de alarme do zabbix

1.获取报警脚本存放路径
[root@zabbix-server ~]# egrep -v '^$|^#' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
AlertScriptsPath=/usr/lib/zabbix/alertscripts			#这个目录存放报警脚本
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

2.移动报警脚本至脚本目录
[root@zabbix-server ~]# mv weixin.py /usr/lib/zabbix/alertscripts/

4.4. Novo remetente de definição de mídia de alarme do WeChat

Clique em Gerenciar - Tipo de mídia de alarme - Adicionar mídia de alarme - Preencha o nome - Script de seleção de tipo - Adicione três parâmetros de script

{ALERT.SENDTO}			//发件人
{ALERT.SUBJECT}			//标题
{ALERT.MESSAGE}			//内容

Insira a descrição da imagem aqui

Criado com sucesso

Insira a descrição da imagem aqui

4.5. Definir destinatários

Clique em Usuário - Mídia de alarme - Adicionar - Selecione o tipo de alarme do WeChat - Os destinatários podem obtê-lo na empresa WeChat - Adicionar - Atualizar

Insira a descrição da imagem aqui

4.6. Alarme da caixa de correio antes da desativação

Insira a descrição da imagem aqui

4.7. Acione o alarme de desativação do host e verifique a mensagem de alarme

随便找一台监控主机执行poweroff
[root@192_168_81_220 ~]# poweroff

O painel foi alarmado

Insira a descrição da imagem aqui

A mensagem no log de ação foi entregue

Insira a descrição da imagem aqui

Veja a mensagem de alarme quando o problema ocorrer

Insira a descrição da imagem aqui

Veja a mensagem de alarme de recuperação de problema

Insira a descrição da imagem aqui

4.8. Acione o número de terminal aberto e verifique a mensagem de alarme

Aqui você pode ver que o número máximo de terminais abertos para esta máquina de 192.168.81.230 é 3, e se houver mais de 3., ele disparará o alarme. O alarme
Insira a descrição da imagem aqui
foi disparado .
Insira a descrição da imagem aqui
Visualize o conteúdo do alarme
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_44953658/article/details/113256550
Recomendado
Clasificación