自定义阈值-深入
1.演示取出内存的百分比
取出内存的可用的MB大小 / 总的内存大小 = 实际可用的百分比
1.定义剩余内存百分比
[root@web03 zabbix_agentd.d]# vim
/etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Mem_pre,free -m|awk
'/^Mem/{print $NF*100/$2}'
[root@web03 zabbix_agentd.d]# systemctl
restart zabbix-agent
2.在ZabbixServer验证监控项是否可用
[root@m01 ~]# zabbix_get -s 10.0.0.9 -k 'Mem_pre' 72.1766
2.自定义单条件触发器,设置内存低于 30% 进行报警
1.创建触发器
2.填写表达式
3.压低内存,检查报警邮件(以内存1G为例,使用下面方式进行消耗内存)
[root@web03~]# dd if=/dev/zero of=/dev/null bs=500M count=1024
3.内存低于百分之10加上,swap使用超过百分之5,再次进行监控报警(更精准)
1.增加swap的监控
[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Swap_pre,free -m|awk
'/^Swap/{print $3*100/$2}'
[root@web03 ~]# systemctl restart
zabbix-agent
2.在ZabbixServer使用zabbix_get命令测试
[root@m01 ~]# zabbix_get -s 10.0.0.9 -k 'Swap_pre' 1.05873
3.在ZabbixWeb创建监控项
4.基于之前建立的触发器进行修改,修改为多条规则同时满足才触发
{web03-10.0.0.9:Mem_pre.last()}<30 and {web03-10.0.0.9:Swap_pre.last()}>1
5.使用dd命令进行压测(只满足内存低于30%规则,所以无法报警)
[root@web03 ~]# dd if=/dev/zero of=/dev/null bs=500M count=1024
6.使用dd命令进行压测(满足内存低于30%规则,并且同时满足swap使用率超过百分之1
触发报警)
[root@web03 ~]# dd if=/dev/zero of=/dev/null bs=800M count=1024
7.常用的触发器表达式,常用的函数
and 并且 or 或者
last() 比对最新的值
avg() 解决波动报警,流量在多少分钟平均达到多少报警avg(5m)
diff() 比对上一次文件的内容
nodata()收不到数据进行报警nodata(5m)
4.图形中文乱码处理
[root@m01 ~]# cd /usr/share/fonts/dejavu/
[root@m01 dejavu]# mv DejaVuSans.ttf
DejaVuSans.ttf.bak
在windows电脑的C盘找到windows目录, 进入fonts,随便复制一个字体至桌面,然后上传至服务器C:\Windows\Fonts
[root@m01 dejavu]# rz #上传了simhei.ttf
[root@m01 dejavu]# mv simhei.ttf
DejaVuSans.ttf