zabbix报警媒介钉钉通知–注意避坑

本文主要介绍下一些注意点,避免出现明明配置触发器动作后无法发送报警消息的情况。实现方式网上有很多教程就不去重复写了,你也可以直接去看这篇:https://blog.csdn.net/lyace2010/article/details/124744970

一、报警媒介配置

1、一个新的报警媒介添加后,一定要配置下消息模板,我一般至少要添加”问题、恢复“这2项,添加时可以按默认内容直接保存。

2、如果你的报警媒介类型选择的是”脚本“ 那么这个脚本需要存放到zabbix/alertscripts目录下,我是用的宝塔一键安装的Docker版server端,对应的物理机映射路径是/www/dk_project/dk_app/dk_zabbix/zbx_env/usr/lib/zabbix/alertscripts

3、我测试时的ding.sh脚本 钉钉webhook机器人,注意配置的关键字要被包含在zabbix发送/测试的消息里面。

#!/usr/bin/bash
sendkey='4743993fc652248d65977d6a9钉钉机器人的token'
curl 'https://oapi.dingtalk.com/robot/send?access_token='$sendkey 
-H 'Content-Type: application/json' 
-d "{
     "msgtype": "markdown",
     "markdown": {
         "title":"事件:$2",
         "text": "#### $2n $3 n n>消息接收对象:$1n >$(date +%F%n%T)n"
     }
 }"

4、报警媒介测试,在报警媒介列表右侧有”测试“按钮,请务必先确保测试能够正常发送消息,然后再继续往下配置。

二、为zabbix用户赋予消息权限

1、要为需要通知的用户创建对应的报警媒介权限,避免触发报警动作时虽然配置的了用户A,但实际用户A本身没有给他配置对应的报警媒介! 尤其时新增的用户或新增了报警媒介

2、尽量要为用户赋予群组权限。先看下面3张图:

假设我们想让web-api这个主机上的”web监测“或”监控项“触发一些报警通知Admin,分析下上面3张图:图1可以看到这个主机所属的群组(主机群组)是Linux Servers;那么我们看图2,这个Admin用户的群组(用户群组)是Zabbix administrator;图3就是最后一步确保Zabbix administrator这个用户群组,里面主机群组权限有包含Linux Servers就可以了。

三、建立触发器

报警是针对指标数据的报警,所以zabbix监测到一系列指标数据需要有个触发器来”定义“数据异常/恢复。

具体的触发器及zabbix相关教程是有官方教程文档的:https://www.zabbix.com/documentation/6.0/zh/manual/config/triggers

四、创建报警动作

第3步的触发器只是确保让zabbix知道数据是否异常,要不要记录为报警问题。如果要发送消息是需要创建动作的。创建动作很简单先选择触发器,然后配置操作来发送消息。

默认操作步骤持续时间

持续时间,简单理解成 同样的告警事件id,指定时间内最多只发送一次;如果你想测试可以尝试改小一点,最小是60秒【60s】

五、报警消息发送失败排查

只要触发器设置正确,告警问题都可以在zabbix面板的”监测--问题“里面看到,点击动作可以查看具体失败的原因进一步排查。 注意像钉钉这种webhook一般是有频率限制的,发送同样的消息、短时间内超过一定消息数量,都有可能触发钉钉的限流。

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/zabbix-ding-message-action/

赞赏

微信赞赏支付宝赞赏

发表评论