参考博主的文章: https://www.cnblogs.com/LyShark/p/10884630.html
本次测试官方详细注释:
不是本章重点直接贴图,不做详解
一、创建监控项
二、创建触发器
三、配置钉钉
四、创建报警脚本
参看文档
1、查看官方提示
2、创建脚本
vim healthcheckv1.sh
#!/usr/bin/bash
sendkey=钉钉token值
curl 'https://oapi.dingtalk.com/robot/send?access_token='$sendkey \
-H 'Content-Type: application/json' \
-d "
{
\"actionCard\": {
\"title\": \"$2\",
\"text\": \"$3\",
\"hideAvatar\": \"0\",
\"btnOrientation\": \"0\",
\"btns\": [
{
\"title\": \" 请赶快处理\"
}
]
},
\"msgtype\": \"actionCard\"
}"
3、赋予执行权限测试脚本
chmod +x healthcheckv1.sh
sh -x healthcheckv1.sh 1 测试 告警
五、zabbix创建钉钉报警
六、 创建动作
设置触发告警信息:
默认操作步骤持续时间:1m
默认标题:
故障{TRIGGER.STATUS},服务器:{HOST.NAME1}发生: {TRIGGER.NAME}故障!
消息内容:
告警主机: {HOST.NAME1} \n
告警地址: {HOST.IP} \n
告警时间: {EVENT.DATE} {EVENT.TIME} \n
告警等级: {TRIGGER.SEVERITY} \n
告警信息: {TRIGGER.NAME} \n
告警项目: {ITEM.KEY} \n
问题详情: {ITEM.NAME}:{ITEM.VALUE} \n
当前状态: {TRIGGER.VALUE} \n
事件ID: {EVENT.ID}
下图表示触发无限次动作,每隔60秒触发一次,告警发给 admin 用户,用钉钉媒介发送.
详细解释官方介绍
设置恢复操作信息:
默认标题:
恢复:{EVENT.RECOVERY.STATUS},服务器:{HOST.NAME1} 触发器: {TRIGGER.NAME}恢复正常!
消息内容:
恢复主机: {HOST.NAME1} \n
恢复地址: {HOST.IP} \n
恢复时间: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} \n
恢复等级: {TRIGGER.SEVERITY} \n
恢复信息: {TRIGGER.NAME} \n
恢复项目: {ITEM.KEY} \n
问题详情: {ITEM.NAME} 最新值:{ITEM.VALUE} \n
当前状态: {TRIGGER.VALUE} \n
事件ID: {EVENT.RECOVERY.ID}
六、为用户添加报警媒介
七、使其主机CPU飙高
cat /dev/urandom | md5sum
八、查看钉钉消息
触发告警消息内容:
九、中止CPU飙高
触发恢复消息内容:
实际报警内容,更具自己想要的内容进行修改就好了。 ,也可以使用开头提到博主的方式(钉钉 text方式)报警。
后期修改报警内容格式
利用宏报警主题、内容
报警:
告警主机:{HOST.NAME} \n
告警地址:{HOST.IP} \n
告警时间:{EVENT.DATE} {EVENT.TIME} \n
告警等级:{TRIGGER.SEVERITY} \n
告警触发:{TRIGGER.NAME} \n
告警项目:{ITEM.KEY} \n
警告监控:{ITEM.NAME} \n
警告取值:{ITEM.VALUE} \n
当前状态:{TRIGGER.STATUS} \n
事件ID:{EVENT.ID} \n
访问地址: http://192.168.11.132/zabbix/zabbix.php?action=problem.view&filter_triggerids%5B%5D={TRIGGER.ID}&filter_set=1
恢复正常:
恢复主机: {HOST.NAME1} \n
恢复地址: {HOST.IP} \n
恢复时间: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} \n
恢复等级: {TRIGGER.SEVERITY} \n
告警触发:{TRIGGER.NAME} \n
告警项目:{ITEM.KEY} \n
警告监控:{ITEM.NAME} \n
警告取值:{ITEM.VALUE} \n
当前状态: {TRIGGER.STATUS} \n
事件ID: {EVENT.RECOVERY.ID}