zabbix 通过企业微信发送报警

注册企业微信

通过手机号和微信号即可免费创建一个企业微信

创建完成后大概就是这个样子,最下面的企业ID 一会是要用到的。

点击 应用管理添加一个用来发送告警的应用

创建应用后打开这个应用看到这两个位置是发送报警需要用到的

新建一个标签,将需要接收到报警的人员加入这个标签,

点击标签详情,找到标签ID, 这个也是发报警需要用到。

然后指定应用负责人,和指定该应用能接收到消息的人

zabbix 调用 shell 脚本 实现企业微信 报警

shell 脚本

默认放到/usr/lib/zabbix/alertscripts/目录下

测试如下脚本起名叫infra.sh

#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###

CropID='w#############f'             企业ID
Secret='*********************************Ydlq_'     应用发过来的secret ID
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')

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

function body() {
        local int AppID=XXXXX           #应用ID
        local tagID=XXXXX               #标签ID
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser": "'"$User"\"",\n"
        printf '\t"totag": "'"$tagID"\"",\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

测试脚本

(如果成功手机会收到hello!)

# ./infra.sh hello!

zabbix 页面配置触发报警

新建报警媒介

将上面之前定义的脚本名字写入脚本名称里

脚本参数

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

填好后点更新就可以了,其他选项保持默认。

添加好可以点击测试,成功即可收到消息,没有收到说明上面配置有问题。

新建用户群组

(新建或者用现有的)

点击权限

将需要发送报警消息的群组加好,权限设置为读写,其他保持默认

(没有权限将导致消息发送失败)

新建用来报警的用户

创建用户信息

添加用户报警媒介

类型选择刚刚创建的报警媒介

收件人随便写,默认与报警用户保持一致(方便未来区分)

严重性:按需勾选,这里只勾选相对重要的报警通知

添加权限,这里注意主机所在群组是否有权限即可,这里在之前群组已经定义过了,默认在这里无法修改。(这里权限不对,报警会无法发出)

配置动作

新建动作

添加条件,这里按需添加

(下图为按群组警示度添加,意思是当该群组下的主机,出现大于等于一般严重的告警,将会触发该动作)

添加触发操作,需要添加操作与恢复操作内容

(具体见下图)

操作:

(仅送到选项: 选择刚刚创建的报警媒介)

主题:

告警主机:{HOSTNAME1} 故障!
告警主机:{HOSTNAME1}

告警IP:{HOST.IP}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}

当前状态:{TRIGGER.STATUS}

事件ID:{EVENT.ID}

恢复操作:

主题:

恢复主机:{HOSTNAME1} 恢复!

消息:

恢复主机:{HOSTNAME1}

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

问题详情:{ITEM.NAME}

当前状态:{TRIGGER.STATUS}

*到此就已经配置完了,可以进行主机故障报警测试,看看手机能不能收到消息。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不仙520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值