当我们把zabbix的基础建设构建完成之后,就能够对Linux服务器的一些基本项进行监控了,在web界面也可以看到相关问题的一些报警了,但是这样的报警显然是不够的,我们需要的是那种与实际工作常用工具相结合的报警,这样既容易发现告警,先显得比较高端,再加上一些基础的服务器信息以及告警项,做出对应的处理就非常容易了。
今天我们就来整理一下zabbix结合钉钉机器人的报警配置。
1. 首先是钉钉客户端配置。
2. 建立一个钉钉群组。
3. 添加一个机器人。

注意,这里要复制下来这个wenhook值,等会要用到的。
4. zabbix服务器端配置。
5. Zabbix 配置文件中查找”Alert”查看告警脚本存放路径。
| 12
 
 | [root@localhost ~]AlertScriptsPath=/usr/lib/zabbix/alertscripts		(455行,默认的,不用修改)
 
 | 
6. 进入配置中路径创建配置文件,并添加监听脚本。
| 1
 | [root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
 | 
7. 然后添加脚本。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | [root@localhost alertscripts]
 
 to=$1
 subject=$2
 text=$3
 curl 'xxxxxxxxx' \
 -H 'Content-Type: application/json' \
 -d '
 {"msgtype": "text",
 "text": {
 "content": "'"$text"'"
 },
 "at":{
 "atMobiles":[
 "'"$1"'"
 ],
 "isAtAll":false
 }
 }'
 
 | 
8. 配置执行文件权限与归属
| 12
 
 | [root@localhost alertscripts][root@localhost alertscripts]
 
 | 
切换至 zabbix 用户测试脚本是否执行成功。
如果钉钉已经有了提示消息,说明配置成功。
9. 设置前端创建脚本及报警媒介
再添加以下 3 个参数,分别对应脚本需要的 3 个参数:收件人地址、主题、详细内容。
| 12
 3
 
 | {ALERT.SENDTO}{ALERT.SUBJECT}
 {ALERT.MESSAGE}
 
 | 

10. 创建动作
| 12
 3
 4
 5
 6
 7
 8
 
 | 配置--->动作
 --->右上角触发器
 --->创建动作
 --->名称(钉钉)
 --->新的触发条件(触发器示警度--->大于等于--->警告)
 --->添加(上边出现了两条--->计算方式选和)
 --->选择右边操作
 
 | 

| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 
 | --->步骤时间--->1000--->标题(故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!)
 or: 服务故障告警:{TRIGGER.STATUS}: {TRIGGER.NAME}
 --->默认信息下边的添加
 
 告警主机:{HOSTNAME1}
 告警时间:{EVENT.DATE} {EVENT.TIME}
 告警等级:{TRIGGER.SEVERITY}
 告警信息: {TRIGGER.NAME}
 告警项目:{TRIGGER.KEY1}
 问题详情:{ITEM.NAME}:{ITEM.VALUE}
 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
 事件 ID:{EVENT.ID}
 
 or:
 服务故障告警:{TRIGGER.STATUS}: {TRIGGER.NAME}
 告警主机:{HOST.NAME}
 主机IP:{HOST.IP}
 告警时间:{EVENT.DATE} {EVENT.TIME}
 告警等级:{TRIGGER.SEVERITY}
 告警信息:{TRIGGER.NAME}
 问题详情:{ITEM.NAME}:{ITEM.VALUE}
 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
 事件ID:{EVENT.ID}
 
 --->操作添加
 --->步骤--->5 表示触发 5 次动作
 --->步骤持续时间--->每隔 120 秒触发一次
 --->告警发给 admin 用户
 --->用”钉钉”媒介发送。
 --->点击小”add”添加选项,否则等于没写
 
 | 

| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 
 | 点击添加之后--->右边恢复操作,相当于服务正常之后的操作
 --->标题改为--->恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
 or: 服务故障恢复告警:{TRIGGER.STATUS}: {TRIGGER.NAME}
 --->信息改为--->
 
 告警主机:{HOSTNAME1}
 告警时间:{EVENT.DATE} {EVENT.TIME}
 告警等级:{TRIGGER.SEVERITY}
 告警信息: {TRIGGER.NAME}
 告警项目:{TRIGGER.KEY1}
 问题详情:{ITEM.NAME}:{ITEM.VALUE}
 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
 事件 ID:{EVENT.ID}
 
 or:
 服务故障恢复告警:{TRIGGER.STATUS}: {TRIGGER.NAME}
 告警主机:{HOST.NAME}
 主机IP:    {HOST.IP}
 告警时间:{EVENT.DATE} {EVENT.TIME}
 告警等级:{TRIGGER.SEVERITY}
 告警信息:{TRIGGER.NAME}
 问题详情:{ITEM.NAME}:{ITEM.VALUE}
 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
 事件ID:   {EVENT.ID}
 
 --->点击”新的”添加发送选项
 --->添加群组
 --->添加用户 Admin
 --->仅送到--->钉钉
 --->点击小”添加”添加选项,否则等于没写
 点击小 add 添加选项后再点击大 ADD 完成动作增加。
 
 | 

11. 添加报警媒介
| 12
 3
 4
 5
 6
 7
 8
 
 | --->点击右上角用户头像--->点击报警媒介
 --->添加
 --->类型--->钉钉
 --->收件人--->要@的人的手机号
 --->当启用时--->这个设置的是报警的时间设置
 --->添加
 --->然后直接点击更新
 
 | 

更新。

12. 配置提示
| 12
 3
 4
 
 | --->点击右上角用户头像--->选择正在发送消息
 --->选中前端消息
 --->下边的全选中,,更新。
 
 | 

测试 直接把监控的nginx服务器网卡断掉,然后等待报警!!!

现在再将网卡链接,看等会儿会是怎样的报警。
这样,一个非常给力好用的zabbix结合钉钉的报警就配置完成了。