配置内存自定义监控项
# 监控内存命令
[root@web01 ~]# free -m|awk '/^Mem/{print $NF/$2}'
0.664609
[root@web01 ~]# free -m|awk '/^Mem/{print $NF/$2*100}'
66.358
# 定义监控项
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/mem_free.conf
UserParameter=mem_pfree,free -m|awk '/^Mem/{print $NF/$2*100}'
测试监控项
# 客户端测试
[root@web01 ~]# zabbix_agentd -t mem_pfree
mem_free [t|66.2551]
[root@web01 ~]# systemctl restart zabbix-agent.service
# 服务端测试
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k mem_pfree
66.358
配置监控项
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910200728439-1957843133.png)
配置触发器
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910201052423-1583454595.png)
测试告警
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=2000M count=1000
# 执行上面的命令之前,最好将 zabbix_server.conf 中的 Timeout 超时时间配置好
# 否则可能会因为 agent 端内存被吃的太厉害,server 端连接不上 agent 端,监控项和触发器因为超时而失效
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
Timeout=30
配置 Swap 空间自定义监控项
# 获取值, Swap 空间使用率
[root@web01 ~]# free -m|awk '/^Swap/{print $3/$2*100}'
15.0538
# 自定义监控项
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/swap_used.conf
UserParameter=swap_pused,free -m|awk '/^Swap/{print $3/$2*100}'
测试监控项
# 客户端
[root@web01 ~]# systemctl restart zabbix-agent.service
[root@web01 ~]# zabbix_agentd -t swap_pused
swap_used [t|14.6628]
# 服务端
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k swap_pused
14.6628
配置监控项
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910202427298-1357595054.png)
配置触发器
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910202559504-127837489.png)
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910202748031-1443045395.png)
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910202828140-230525101.png)
![](https://img2020.cnblogs.com/blog/1968707/202009/1968707-20200910203011262-1576094283.png)
触发器常用表达式
and # 并且
or # 或者
last() # 比对最新的值
avg() # 平均值
diff() # 比对上一次文件的内容
nodata() # 收不不到数据进行报警 nodata(5m)
(5m) # 表示最近5分钟得到值
(#5) # 表示最近5次得到的值