Maison >Applet WeChat >Développement WeChat >Explication détaillée de la mise en œuvre de Zabbix d'alarme WeChat

Explication détaillée de la mise en œuvre de Zabbix d'alarme WeChat

高洛峰
高洛峰original
2017-02-20 14:33:052178parcourir

Cet article présente principalement les informations pertinentes sur la méthode Zabbix d'alarme WeChat. Les amis qui en ont besoin peuvent s'y référer

Dans un environnement de production réel, nous utilisons généralement le courrier électronique et les SMS pour recevoir les informations d'alarme Zabbix, mais le courrier électronique l'est. souvent utilisé par le travail, le personnel est laissé dans les coins ou même filtré comme spam. L'interface SMS de l'entreprise est trop coûteuse et l'utilisation d'alarmes SMS dans des environnements complexes augmentera considérablement les coûts d'exploitation et de maintenance. WeChat fournit une bonne interface tierce. Nous pouvons utiliser WeChat pour déclencher une alarme afin de réduire les coûts d'exploitation et de maintenance.

L'interface tierce de WeChat nous oblige à demander d'abord un compte d'entreprise - portail : https://qy.weixin.qq.com/

微信报警 zabbix实现详解

Comment faire fonctionner le compte entreprise ?

1. Ajouter des membres corporatifs au carnet d'adresses

Nous devons ajouter les informations sur les membres au service organisationnel à l'avance, et les champs obligatoires incluent le téléphone portable. numéro ou identifiant WeChat, de sorte que les autres Ce n'est que lorsque vous scannez le code QR que vous pouvez suivre avec succès le compte d'entreprise.

Remarque : Nous devons utiliser deux informations ici, un identifiant de service organisationnel et un numéro de compte d'un membre du département (le numéro de compte est spécifié manuellement par vous-même, contrairement à l'identifiant WeChat, il est préférable pour utiliser des lettres et des chiffres)

微信报警 zabbix实现详解

微信报警 zabbix实现详解

2. Créez une application dans le centre de candidature

Nous allons créer une application ici car nous avons besoin d'envoyer des messages aux membres du département via l'application

Remarque : N'oubliez pas une valeur ici, l'ID de l'application

微信报警 zabbix实现详解

微信报警 zabbix实现详解

3. Configurer un administrateur pour le département

Paramètres--->Paramètres de fonction---->Gestion des autorisations--- ->Nouveau groupe de gestion

Administrateur Vous devez avoir suivi le compte d'entreprise au préalable et configuré votre adresse e-mail

微信报警 zabbix实现详解

Assurez-vous que l'administrateur peut lire le carnet d'adresses et utilisez l'application pour envoyer des messages.

Remarque : Nous avons besoin du CorpID et du secret de l'administrateur

微信报警 zabbix实现详解

Nous devons préparer ces éléments :

Un compte d'entreprise WeChat

Le compte entreprise a été suivi par les membres du département

Il existe une application dans le compte entreprise qui peut envoyer des messages

Un administrateur autorisé peut utiliser l'application pour envoyer des messages aux membres

Nous souhaitons obtenir ces informations :

Compte membre

ID du département de l'organisation

ID de l'application

CropID

Secret

Comment appeler l'interface WeChat ?

L'appel de l'interface WeChat nécessite un certificat pour appeler l'interface : access_token

Access_token peut être obtenu via : CropID, Secret, mais le token obtenu est valable deux minutes

微信报警 zabbix实现详解

微信报警 zabbix实现详解

        微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debug

Shell脚本原理

        使用:

        curl -s -G  url           获取 AccessToken

        使用:

        curl --data  url     传送凭证调用企业号接口


        zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容

#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1-2015-08-25###

CropID=‘xxxxxx‘
Secret=‘xxxxxx‘
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" 
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" ‘{print $4}‘)

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
    local int AppID=3            企业号中的应用id
    local UserID=$1             部门成员id,zabbix中定义的微信接收者
    local PartyID=1             部门id,定义了范围,组内成员都可接收到消息
    local Msg=$(echo "$@" | cut -d" " -f3-) 过滤出zabbix中传递的第三个参数
    printf ‘{\n‘
    printf ‘\t"touser": "‘"$User"\"",\n"
    printf ‘\t"toparty": "‘"$PartyID"\"",\n"
    printf ‘\t"msgtype": "text",\n‘
    printf ‘\t"agentid": "‘" $AppID "\"",\n"
    printf ‘\t"text": {\n‘
    printf ‘\t\t"content": "‘"$Msg"\""\n"
    printf ‘\t},\n‘
    printf ‘\t"safe":"0"\n‘
    printf ‘}\n‘
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

为什么要这样写脚本?

      因为微信企业号开放的端口有固定的格式限制

      企业号支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title消息类型及数据格式

微信报警 zabbix实现详解

将脚本放入zabbix默认执行路径下

mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

        服务器端

       1.创建媒介

微信报警 zabbix实现详解

        2.创建用户

微信报警 zabbix实现详解


        3.创建触发器动作发送内容

微信报警 zabbix实现详解

        4.设置触发器动作发送方式

微信报警 zabbix实现详解

收到的微信消息:

微信报警 zabbix实现详解 

以上就是微信报警 zabbix 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

更多微信报警 zabbix实现详解相关文章请关注PHP中文网!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn