zabbix配置钉钉报警
文章发布较早,内容可能过时,阅读注意甄别。
当我们把 zabbix 的基础建设构建完成之后,就能够对 Linux 服务器的一些基本项进行监控了,在 web 界面也可以看到相关问题的一些报警了,但是这样的报警显然是不够的,我们需要的是那种与实际工作常用工具相结合的报警,这样既容易发现告警,先显得比较高端,再加上一些基础的服务器信息以及告警项,做出对应的处理就非常容易了。
今天我们就来整理一下 zabbix 结合钉钉机器人的报警配置。
# 1,首先是钉钉客户端配置。
# 1,建立一个钉钉群组。
# 2,添加一个机器人。
注意,这里要复制下来这个 wenhook 值,等会要用到的。
# 2,zabbix 服务器端配置。
# 1,Zabbix 配置文件中查找”Alert”查看告警脚本存放路径。
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts (455行,默认的,不用修改)
1
2
2
# 2,进入配置中路径创建配置文件,并添加监听脚本。
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
1
# 3,然后添加脚本。
[root@localhost alertscripts]# vim token.sh
#!/bin/bash
to=$1
subject=$2
text=$3
curl 'xxxxxxxxx' \ #此处的xxxxx就是刚刚复制存留的api接口地址。
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'"$text"'"
},
"at":{
"atMobiles":[
"'"$1"'"
],
"isAtAll":false
}
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 3,配置执行文件权限与归属
[root@localhost alertscripts]# chown zabbix.zabbix token.sh
[root@localhost alertscripts]# chmod +x token.sh
1
2
2
切换至 zabbix 用户测试脚本是否执行成功。
bash token.sh 11 22 33
1
如果钉钉已经有了提示消息,说明配置成功。
# 4,设置前端创建脚本
及报警媒介
再添加以下 3 个参数,分别对应脚本需要的 3 个参数:收件人地址、主题、详细内容。
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
1
2
3
2
3
# 5,创建动作
配置
--->动作
--->右上角触发器
--->创建动作
--->名称(钉钉)
--->新的触发条件(触发器示警度--->大于等于--->警告)
--->添加(上边出现了两条--->计算方式选和)
--->选择右边操作
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
--->步骤时间--->1000
--->标题(故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!)
--->默认信息下边的添加
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
--->操作添加
--->步骤--->5 表示触发 5 次动作
--->步骤持续时间--->每隔 120 秒触发一次
--->告警发给 admin 用户
--->用”钉钉”媒介发送。
--->点击小”add”添加选项,否则等于没写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
点击添加之后
--->右边恢复操作,相当于服务正常之后的操作
--->标题改为--->恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
--->信息改为--->
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
--->点击”新的”添加发送选项
--->添加群组
--->添加用户 Admin
--->仅送到--->钉钉
--->点击小”添加”添加选项,否则等于没写
点击小 add 添加选项后再点击大 ADD 完成动作增加。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 6,添加报警媒介
--->点击右上角用户头像
--->点击报警媒介
--->添加
--->类型--->钉钉
--->收件人--->要@的人的手机号
--->当启用时--->这个设置的是报警的时间设置
--->添加
--->然后直接点击更新
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
更新。
# 7,配置提示
--->点击右上角用户头像
--->选择正在发送消息
--->选中前端消息
--->下边的全选中,,更新。
1
2
3
4
2
3
4
测试 直接把监控的 nginx 服务器网卡断掉,然后等待报警!!!
现在再将网卡链接,看等会儿会是怎样的报警。
这样,一个非常给力好用的 zabbix 结合钉钉的报警就配置完成了。
上次更新: 2024/11/19, 23:11:42