一、监控项目介绍
linux自带得监控项目比较多,也不计较杂,很多监控项目用不到。所以这里要做一个比较精简得监控模版
二、监控模板克隆
1.搜索原模板
2.克隆模板
全克隆模板,这样就和原来原模板没有联系了,操作也不会影响原模板。这里是对被动模式的模板进行克隆,因为主动模式的模板有些监控没有,还需要再次添加,所以这里选择了对被动模式的模板进行克隆。
3.自定义名称
再次搜索 模板已经克隆完成
4.裁剪模板
一定要对克隆后得模版进行裁剪,不要对源模板进行裁剪。不需要的监控项目删除就可以了。裁剪后的模板剩下的监控项目如下:
监控项目 | 含义 |
---|---|
Available memory | 可用内存(free -h 中available的值) |
Available memory in % | 可用内存百分比(上边的百分比值) |
Load average (1m avg) | 1分钟以前的系统负载 |
Load average (5m avg) | 5分钟以前的系统负载 |
Load average (15m avg) | 15分钟以前的系统负载 |
Available memory in %: Memory utilization | 内存利用率,监控一般使用此项比较方便 |
Number of CPUs | cpu的核心数量 |
System local time | 系统时间,时间不同步看此选项 |
System uptime | 启动运行了多少时间,单位是秒 |
Total memory | 内存总大小 |
Zabbix agent availability | agent是否存活,决定zabbix是否会变绿色的监控项目 |
Zabbix agent ping | 是否能够ping通agent,ping通返回1,否则返 |
5.修改主动模式
监控项目 | 类型 |
---|---|
Available memory | Zabbix客户端(主动式) |
Available memory in % | Zabbix客户端(主动式) |
Load average (1m avg) | Zabbix客户端(主动式) |
Load average (5m avg) | Zabbix客户端(主动式) |
Load average (15m avg) | Zabbix客户端(主动式) |
Available memory in %: Memory utilization | 相关项目 |
Number of CPUs | Zabbix客户端(主动式) |
System local time | Zabbix客户端(必须被动模式) |
System uptime | Zabbix客户端(主动式) |
Total memory | Zabbix客户端(主动式) |
Zabbix agent availability | Zabbix内部 |
Zabbix agent ping | Zabbix客户端(主动式) |
6.禁用自动发现规则
目前来讲我会禁用以下规则
Block devices discovery
Network interface discovery 此选项根据主机来决定是否启用
7.修改触发器名称
监控项目 | 原触发器名称 | 修改后触发器名称 |
---|---|---|
Available memory | Lack of available memory | |
Available memory in % | 无 | |
Load average (1m avg) | Load average is too high | 系统负载过高 |
Load average (5m avg) | 同上 | |
Load average (15m avg) | 同上 | |
Available memory in %: Memory utilization | High memory utilization | 内存使用率超过xxx% |
System local time | System time is out of sync | 系统时间不同步 |
System uptime | has been restarted | 主机发生重启 |
Zabbix agent availability | Zabbix agent is not available | zabbix_agent无效 |
注意:
发送报警邮件的时间,取决于触发器状态由 “正常” 状态变为 "问题"状态的时间。
例如:zabbix_agent 宕机了,zabbix_agent 的图标由绿色变为了红色,但是只要触发器中的状态没有从 “正常” 变为 “问题” ,就不会发送报警信息。
之所以会有这种问题,是 触发器表达式接收到最新数据后,会重新对表达式进行计算,这个计算时间和 “图标显示” 还有 "问题"处的显示 计算时间不是同步开始的,所以出现了好像报警延迟的问题。
还有就是表达式式本身的写法,时间比较长。所以会报警延迟。
8.修改触发器表达式
1.修改之前的说明:
(1)触发器中的 “名称” 对应 {TRIGGER.NAME} 变量。 这个变量在 “动作” --> “操作” --> "自定义消息内容"中使用。
(2)触发器中的 “事件名称” 是在 “监测” --> “问题” --> “问题”,如下图:
其中{HOST.NAME}变量的值是 主机 中的 “可见名称”
2.Zabbix agent availability
删除模板中的原有触发器表达式,使用last函数生成表达式,基数和时间参数不填写。
报警表达式:
last(xxxx)=0
恢复表达式
last(xxxx)=1
3.has been restarted
报警表达式
last(xxxxx)<8m
4.System time is out of sync
时间监控得监控项目必须是被动模式,此监控项得值是linux的时间戳,也就是date +%s的值
报警表达式
fuzzytime(/winning_winex_template/system.localtime,60s)=0
5.Load average is too high
系统1分钟以前的负载大于cpu的核心数量就报警
报警表达式
last(xxxxx/system.cpu.load[all,avg1])>=last(xxxx/system.cpu.num)
恢复表达式
last(xxxxx/system.cpu.load[all,avg1])<last(xxxx/system.cpu.num)
6.Available memory in %: Memory utilization
内存利用率超过90%就报警
报警表达式
last(/winning_winex_template/vm.memory.utilization)>90
恢复表达式
last(/winning_winex_template/vm.memory.utilization)><90