Heim  >  Artikel  >  WeChat-Applet  >  Detaillierte Erläuterung der WeChat-Alarm-Zabbix-Implementierung

Detaillierte Erläuterung der WeChat-Alarm-Zabbix-Implementierung

高洛峰
高洛峰Original
2017-02-20 14:33:052061Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur WeChat-Alarm-Zabbix-Methode vorgestellt. Freunde, die sie benötigen, können darauf zurückgreifen.

In einer realen Produktionsumgebung verwenden wir normalerweise E-Mail und SMS, um Zabbix-Alarminformationen zu erhalten, E-Mail jedoch Oftmals werden sie von Mitarbeitern in den Hintergrund gedrängt oder sogar als Spam herausgefiltert. Die SMS-Schnittstelle des Unternehmens ist zu teuer und der Einsatz von SMS-Alarmen in komplexen Umgebungen erhöht die Betriebs- und Wartungskosten erheblich. WeChat bietet eine gute Schnittstelle zu Drittanbietern. Wir können WeChat zur Alarmierung verwenden, um die Betriebs- und Wartungskosten zu senken.

Für die Drittanbieter-Schnittstelle von WeChat müssen wir zunächst ein Unternehmenskonto beantragen – Portal: https://qy.weixin.qq.com/

微信报警 zabbix实现详解

Wie betreibe ich das Unternehmenskonto?

1. Firmenmitglieder zum Adressbuch hinzufügen

Wir müssen der Organisationsabteilung vorab die Mitgliedsinformationen, die erforderlichen Felder + Mobiltelefon hinzufügen Nummer oder WeChat-ID. Nur wenn andere den QR-Code scannen, können sie dem Unternehmenskonto erfolgreich folgen.

Hinweis: Hier müssen wir zwei Informationen verwenden: eine organisatorische Abteilungs-ID und eine Kontonummer eines Abteilungsmitglieds (die Kontonummer wird im Gegensatz zur WeChat-ID manuell von Ihnen angegeben, am besten). um Buchstaben und Zahlen zu verwenden)

微信报警 zabbix实现详解

微信报警 zabbix实现详解

2. Erstellen Sie eine Bewerbung im Bewerbungscenter

Wir möchten hier eine Anwendung erstellen, weil wir über die App Nachrichten an Abteilungsmitglieder senden müssen

Hinweis: Merken Sie sich hier einen Wert, die Anwendungs-ID

微信报警 zabbix实现详解

微信报警 zabbix实现详解

3. Legen Sie einen Administrator für die Abteilung fest

Einstellungen--->Funktionseinstellungen---->Berechtigungsverwaltung----> ;Erstellen Sie eine neue Verwaltungsgruppe

Administrator Sie müssen dem Unternehmenskonto im Voraus gefolgt sein und Ihre E-Mail-Adresse eingerichtet haben

微信报警 zabbix实现详解

Stellen Sie sicher, dass der Administrator das lesen kann Adressbuch und nutzen Sie die App zum Versenden von Nachrichten.

Hinweis: Wir benötigen die CorpID und das Geheimnis des Administrators

微信报警 zabbix实现详解

Wir müssen diese Dinge vorbereiten:

Ein WeChat-Unternehmenskonto

Das Unternehmenskonto wurde von Abteilungsmitgliedern verfolgt

Es gibt eine Anwendung im Unternehmenskonto, die Nachrichten senden kann

Ein autorisierter Administrator kann die Anwendung verwenden, um Nachrichten an Mitglieder zu senden

Wir möchten diese Informationen erhalten:

Mitgliedskonto

Organisationsabteilungs-ID

Anwendungs-ID

CropID

Geheim

Wie rufe ich die WeChat-Schnittstelle auf?

Für den Aufruf der WeChat-Schnittstelle ist ein Zertifikat zum Aufrufen der Schnittstelle erforderlich: access_token

Access_token kann über CropID, Secret abgerufen werden, das erhaltene Token ist jedoch zwei Minuten lang gültig

微信报警 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中文网!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn