Zabbix告警篇-Zabbix4.4之企业微信

释放双眼,带上耳机,听听看~!

企业微信账号申请

申请地址https://work.weixin.qq.com/wework_admin/register_wx?from=myhome

按照要求填写信息

创建应用

1) 创建应用

2) 填写信息后确认创建应用

3) 记录AgentdID和Secret

4) 记录企业ID

5) 记录部门ID
部门ID为告警发送的部门

创建调用脚本

1) 确认zabbix_server.conf配置文件中有告警脚本存储位置

[root@zbxsrv01 /]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep alertscripts
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts 

2) 编写告警脚本

[root@zbxsrv01 /]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@zbxsrv01 alertscripts]# vim wechat.sh 
#!/usr/bin/env bash
CorpID="ww3474e701efbf96de"                                     #指定企业ID
Secret="e0qdbLJWTP_2blXJgJcLFxL7y2xgboy-oJKm0xuqAX8"            #指定Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": '{print $4}'|awk -F\" '{print $2}')
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
function body(){
        local int agentid=1000002           #指定AgentID
        local UserID=$1                     #发送的用户位于$1的字符串
        local PartyID=1                     #第一步看的通讯录中的部门ID
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\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 "$(body $1 $2 $3)" $PURL 

创建媒介

下图中的脚本名称需要与我们创建的一致
脚本参数不能更改

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

创建报警用户

指定我们需要哪个用户来进行告警通知
创建一个用户

给予权限,然后点击添加

创建动作

告警通知: {TRIGGER.STATUS}: {TRIGGER.NAME}
告警商户: {TRIGGER.HOSTGROUP.NAME}
告警主机: {HOST.NAME}
主机 IP: {IPADDRESS}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID: {EVENT.ID}

恢复通知: {TRIGGER.NAME}:{TRIGGER.STATUS}
告警商户: {TRIGGER.HOSTGROUP.NAME}
告警主机: {HOST.NAME}
主机 IP: {IPADDRESS}
告警时间: {EVENT.DATE} {EVENT.TIME}
恢复时间: {DATE} {TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID: {EVENT.ID}

测试告警发送

点击测试

填写测试消息,下面的收件人填写的是 企业微信 中的用户名称

虽然测试超时,但是消息发送成功了,打开企业微信可以看到如下消息

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索