Zabbix配置企业微信群聊机器人告警

Zabbix配置企业微信群聊机器人告警,第1张

步骤:

[if !supportLists]1、 [endif]在zabbix告警目录新建wxrobot.py脚本

vi /usr/local/zabbix/share/zabbix/alertscripts/wxrobot.py

粘贴以下内容:

#!/usr/bin/python

#-*- coding: utf-8 -*-

import requests

import json

import sys

import os

headers = {'Content-Type': 'application/jsoncharset=utf-8'}

api_url = "复制群聊机器人Webhook地址到这"

def msg(text):

    json_text= {

     "msgtype": "text",

        "text": {

            "content": text

        },

    }

    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':

    text = sys.argv[1]

msg(text)

保存退出

需要安装python插件库:pip install requests

授权和更改权限:

chmod +x *.py

chown zabbix:zabbix *.py

2.Zabbix页面配置,新增告警媒介

配置动作

配置—动作—创建动作 , 事件源  选择  触发器

1、点击右上角,“ 创建动作  ”填写对应的信息;在 动作 页面填写以下信息,这里例子为以主机内存使用率超过90%为例,

 计算方式:

Aand B,需要同时符合条件里面添加的条件;

条件A:主机群组等于 Linux Servers;

条件B:触发器等于linux模板的物理内存使用率持续3分钟等于90%。

2、切换到 *** 作

  *** 作: 也就是在符合动作里面配置好的条件时,做出对应的动作,具体的 *** 作说明,请参考官网指导文档,填写好信息,然后点击 *** 作细节 里面的 添加

[if !supportLists]1、 [endif]恢复 *** 作配置

到这就触发器告警企业微信群机器人发送配置完成了,动作日志可以在 

报表 –动作日志  页面查看

附上格式配置,参数说明和其他的格式,请参考  使用宏

*** 作发送消息内容恢复 *** 作发送消息内容

问题:{EVENT.NAME}

告警信息:{TRIGGER.NAME}

告警地址:{HOST.NAME}

监控项目:{ITEM.NAME}

监控取值:{EVENT.VALUE}

告警严重性:{EVENT.SEVERITY}

当前状态:{EVENT.STATUS}

告警时间:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

告警信息:{TRIGGER. NAME}

告警地址:{HOST.NAME}

监控项目:{ITEM.NAME}

监控取值:{EVENT.RECOVERY.VALUE}

告警严重性:{EVENT.SEVERITY}

当前状态:{EVENT.RECOVERY.STATUS}

告警时间:{EVENT.DATE} {EVENT.TIME}

恢复时间:{EVENT.RECOVERY.TIME}

持续时间:{EVENT.AGE}

事件ID:{EVENT.RECOVERY.ID}

技术交流欢迎加入Q群:177428068

首先,该 *** 作是非常简单的。而且通过微信辅助邮件报警是一个非常好的选择,现在微信这么普及而且免费。短信报警也是非常好的,只不过都是双刃剑,如果晚上出现网络波动发送报警,那么这个是很头疼的,严重影响睡眠。 下边简单说下zabbix实现微信报警的步骤。

1,申请一个微信企业号。

申请的时候可以自己填写一个XXX工作室之类的名字,这个不影响。具体不做详细阐述,可以参考http://wuhf2015.blog.51cto.com/8213008/1688614说明去申请和设置。我这里创建了两个账号,一个manager01和manager02

2,zabbix server端进行shell脚本设置,这里我们 *** 作的是weixin.sh。

/usr/local/zabbix/alertscripts[root@21yunwei alertscripts]# vim weixin.sh #!/bin/bash CropID='XXXXXXXX'Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&ampcorpsecret=$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=1        local UserID=$1        local PartyID=2        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": "'" $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

chmod +x weixin.sh

脚本是否正常,我们可以先自己执行测试。比如执行:

sh weixin.sh manager01 testsub  testcomtent 看下是否微信可以接收到消息,接收到说明成功,如果接受失败,那么设置有问题,需简单之前的步骤是否都 *** 作对了。

3,创建报警媒介、action和设置报警接收

创建报警媒介,这里相信大家都不陌生。我这里创建的情况是:

创建action:报警步骤这里不详细说了,我只是写一点微信报警的内容,其他的都一样。创建action的步骤可以参考《zabbix 如何通过action进行报警配置》

\n报警问题:{TRIGGER.NAME}\n报警主机:{HOSTNAME}\n报警时间:{EVENT.TIME}\n报警状态:{TRIGGER.STATUS}\n报警级别:{TRIGGER.SEVERITY}

加行\n是为了换行。

好了,设置下微信报警接收人员:

保存后测试下效果。

比如我们useradd  -M test123,添加以后就可以收到微信报警了。

企业微信机器人告警

企业微信群聊里面增加机器人,机器人会提供发送信息的URL

python 脚本进行实现

1、创建企业微信机器人

这个 webhook 后面需要使用到

2、配置 zabbix server

3、zabbix Web 页面配置

默认标题:

恢复 *** 作:

创建动作

4、测试发送告警


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11655456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存