zabbix-微信报警设置


zabbix 微信报警设置

一、主要获取三个参数:企业ID、用户账号、AgentId,和Secret:

1.获取企业ID

J0OeUI.png

2.获取AgentId,和Secret3

这里要先点通讯录创建一个部门,然后再点应用小程序创建应用,填写logo、名称、和选择部门就可以了

J0Om5t.png

3.获取用户账号

J0OYan.png

J0OaGV.png

4.测试gentId,和Secret

这个是接口调用测试gentId,和Secret的地址:https://work.weixin.qq.com/api/devtools/devtool.php

这里看到有HTTP/1.1 200 OK 就说明接口有效了,其它的不管。

J0OyZ9.png

J0O2Px.png

二、调用的shell脚本方式,脚本如下:

这里要注意的是填写正确的通讯录 部门ID,可以点那个下线三个点那里。

J0O7dA.png

[root@cyy alertscripts]# vim wechat.sh


#!/usr/bin/env bash
#!/usr/bin/env bash
#
# Author: cyylog
# Email: cyylog@aliyun.com
# Date: 2019/09/25
# Github:    https://github.com/cyylog
# Usage:    Wechat alert script for zabbix
# 

if [ $# -eq 0 ] || [[ "$1" == "-h" || "$1" == "--help" ]];then
        echo "Usage of $0:"
        echo -e " --CorpID=string"
        echo -e " --Secret=string"
        echo -e " --AgentID=string"
        echo -e " --UserID=string"
        echo -e " --Msg=string"
        exit
fi

#ops=(-c -s -a -u)
#args=(CorpID Secret AgentID UserID)
#while [ $# -gt 0 ];do
#    [ "$1" == "-m" ] && Msg="$2" && shift 2
#    for i in {0..3};do
#        [ "$1" == "${ops[i]}" ] &&  eval ${args[i]}="$2"
#    done
#    shift 2
#done
for i in "$@";do
        echo $i|grep Msg &> /dev/null && msg=$(echo $i|sed 's/.*=//') && Msg="$msg" && continue
        eval "$(echo $i|sed 's/--//')"
done
#echo $CorpID
#echo $Secret
#echo $UserID
#echo $AgentID
#echo $Msg
#
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F \" '{print $10}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
Info(){
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'"$AgentID"\"",\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 "$(Info)" $PURL
echo




[root@cyy alertscripts]# chmod +x wechat.sh

[root@cyy alertscripts]# ./wechat.sh  "这里一个测试"     //可以这样直接调试,然后登陆到企业微信查看该部门的群成员是否收到此信息

脚本测试通过后就是在zabbix控制台上设置了

三、zabbix 控制台添加新媒体

1.点管理 -> 报警媒介类型 -> 创建媒介类型

J0X1W6.png

--AgentID=1000002

--CorpID=ww74c********56c    

--Secret=-c-3Xw*****************j-Zj6cw

--Msg={ALERT.MESSAGE}

--UserID={ALERT.SENDTO}
2.然后再设置上用户:点管理 —> 创建用户(微信报警的用户)

J0XYOe.png

3.再点用户旁边的 报警媒介 进行设置(收件人要填写用户的账号)

第一步的第3点获取的账号

J0XaTA.png

到这里就基本都设置完成了,可以设置个触发器和动作来测试脚本。

 上一篇
Docker_000 Docker_000
Dockerfile构建镜像通过Dockerfile创建镜像 虽然可以自己制作 rootfs(见'容器文件系统那些事儿'),但Docker 提供了一种更便捷的方式,叫作 Dockerfile docker build命
2019-11-15
下一篇 
Nexus3 搭建 maven Nexus3 搭建 maven
CentOS7 使用 Nexus3 搭建 maven 私服1、Nexus3 简介  Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model(POM)概念来管理项目,所有的
2019-10-09
  目录