zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)

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

zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第1张图片

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(应用集名称)
  • 创建监控项(见下图)
    zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第2张图片
  • 创建触发器,见下图
表达式:{custom-template:javaxt.check.count(#3,down,like)}>=3
#3 最近3个值,"like"匹配出关键字"down"至少3次之后触发告警

zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第3张图片

  • zabbix-agent添加自定义模板
    zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第4张图片

  • 动作配置
    zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第5张图片
    zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第6张图片
    zabbix5.0+自定义主机+监控脚本+模板+触发器(count函数的使用)_第7张图片

  • 告警内容设置

# 触发告警
主题:服务器:{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}
}

你可能感兴趣的:(zabbix,zabbix)