zabbix服务器监控和触发器表达式
zabbix:
服务器监控,网络监控,数据库监控
zabbix自定义监控项配置:
为了满足用户的其它监控需求,zabbix允许用户创建自定义监控任务,主机是主要的监控载体,一般都在主机上配置监控项。
利用zabbix创建自定义监控项:
1.找到你的zabbix_agentd.conf,设置允许添加自定义脚本将#Include=/usr/local/etc/zabbix_agentd.conf.d/前的#号去掉即可
![](https://img.haomeiwen.com/i10453069/a9c004196baa8b8a.png)
2 查看并进入自定义监控路径Monitor.conf:
![](https://img.haomeiwen.com/i10453069/dcc4a5d8f8a8ce25.png)
3 我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法。我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter.
Monitor.conf:前面自定义参数UserParameter代表这个自定义配置的key,和监控项的键值有关联。后面是目录,$1和$2是传的参数
![](https://img.haomeiwen.com/i10453069/c29a650cf2ed3796.png)
4 然后在monitor.sh下根据web端传的参数找到对应的程序路径
![](https://img.haomeiwen.com/i10453069/24f74d58e2c00d06.png)
5 进入config/monitor.properties。然后在monitor.proerties下面找参数2对应的程序名
![](https://img.haomeiwen.com/i10453069/7263d92c9be61506.png)
![](https://img.haomeiwen.com/i10453069/5063a701301d2f34.png)
6 最后找到了jar包里面的java程序,这就是我们最后要执行的监控代码
![](https://img.haomeiwen.com/i10453069/d089c733c21acff6.png)
页面端配置:
【组态】-【主机】-【项目】-【创建监控项】
此处键值的用法和zabbix_agentd.conf中定义的UserParameter一致。自定义的监控项无法在键值中选择,故只能手工输入,注意不要输错。【java,ad-click-check】参数1和参数2会传入monitor.sh中做逻辑处理指定具体java代码执行程序
![](https://img.haomeiwen.com/i10453069/b2327e4a94529618.png)
【组态】-【主机】-【触发器】-【创建触发器】
我们可以自定义触发器名称以及严重程度,然后表达式哪里,点击添加
![](https://img.haomeiwen.com/i10453069/e1b226aa7f962bf4.png)
查看监控数据情况:
【监控中】-【最新数据】最新数据
有值则说明配置成功 如:广告点击的请求响应时长-分钟的最后一个值为12 ,这个值在触发器表达式中用到。
![](https://img.haomeiwen.com/i10453069/732fd6e90110810e.png)
键值
进入config/monitor.properties。然后在monitor.proerties下面找参数2对应的程序名
主机是主要的监控载体,一般都在主机上配置监控项主机是主要的监控载体,一般都在主机上配置监控项
zabbix配置过程:
主机是主要的监控载体,一般都在主机上配置监控项
![](https://img.haomeiwen.com/i10453069/dc15f74312ce3963.png)
设置条件查询监控项:
![](https://img.haomeiwen.com/i10453069/348ac3839fde96b6.png)
触发器依附于监控项上,功能是对改项监控采取对应的措施,比如内存监控项中设置了内存小于20%会报警告。
![](https://img.haomeiwen.com/i10453069/6c1b3e5ea546dc47.png)
动作:也就是发送消息给给媒介
![](https://img.haomeiwen.com/i10453069/9325dc75bb676e5d.png)
zabbix触发器表达式:
![](https://img.haomeiwen.com/i10453069/bc7e157b1092c0a4.png)
uar02是机器名字,agent.ping是监控项(键值) ,prev是功能 N代表数值,T代表最后一个周期
unix时间秒数小于N : {uar02:agent.ping.now()}<1
unix时间秒数不是N : {uar02:agent.ping.now()}<>1
前一个值小于N:{uar02:agent.ping.prev()}<1
周期T的最大值小于N {uar02:agent.ping.max(1,2)}<5 ,如下图
![](https://img.haomeiwen.com/i10453069/4e172f4754f7adbe.png)
期间T的平均值 {bar45:monitor[java,ad-click-check].avg(#3)}<5 ,如下图
![](https://img.haomeiwen.com/i10453069/0c22ba2fba2fd63b.png)