zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)
1、添加主机
1.1、zabbix-agnet端配置
[root@vm63 ~]# grep -vE '^(#|$)' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.100.62 #zabbix-server端IP
ServerActive=192.168.100.62 #zabbix-server端IP
Hostname=vm63 #本机主机名
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1 #允许自定义监控模板
1.2、zabbix-server上添加agent

1.3、写脚本监控tomcat(端口8080)的状态
- 模拟检测(8080|80801)端口的状态,8080端口正常,8081端口异常
[root@vm63 ~]# mkdir /etc/zabbix/scripts/ #新建一个存放自定义监控脚本的地方
[root@vm63 ~]# cd /etc/zabbix/scripts/
[root@vm63 scripts]# cat t8-check.sh
#!/bin/bash
# tomcat8状态检查
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
port=8081 # 8081端口不存在,则输出 ip:8081 is down
ip=$(ifconfig ens8 |grep inet |head -1 |awk '{print $2}' |cut -d "/" -f 1)
curl -Is localhost:$port |head -1 |grep 200 &>/dev/null && echo $ip:$port is ok ||echo $ip:$port is down
1.4 部署自定义监控脚本
[root@vm63 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@vm63 zabbix_agentd.d]# cat userparameter_script.conf
# Java心跳监测
UserParameter=javaxt.check,/etc/zabbix/scripts/t8-check.sh
# 重启zabbix-agent
[root@vm63 zabbix_agentd.d]# systemctl restart zabbix-agent.service
# zabbix-server端检测
[root@vm62 ~]# yum -y install zabbix_get
[root@vm62 ~]# zabbix_get -s 192.168.100.63 -p 10050 -k javaxt.check
192.168.100.63:80801 is down #出现这证明自定义监控项没问题
1.5、web界面操作
- 创建主机群组
主机群组-->创建主机群组-->Custom(主机群组名称)
- 创建自定义模板
模板-->创建模板-->custom-template(模板名称)-->群组(Custom)
- 创建应用集
模板-->custom-template-->应用集-->创建应用集-->Java-check(应用集名称)
- 创建监控项(见下图)

- 创建触发器,见下图
表达式:{custom-template:javaxt.check.count(#3,down,like)}>=3
#3 最近3个值,"like"匹配出关键字"down"至少3次之后触发告警

-
zabbix-agent添加自定义模板

-
动作配置



-
告警内容设置
# 触发告警
主题:服务器:{HOST.NAME}发生:{TRIGGER.NAME}故障!
消息:{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE}-{EVENT.TIME}
事件ID:{EVENT.ID}
}
# 告警恢复
主题:服务器:{HOST.NAME}发生:{TRIGGER.NAME}故障恢复!
消息:{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE}-{EVENT.TIME}
事件ID:{EVENT.ID}
}
602

被折叠的 条评论
为什么被折叠?



