Zabbix报告无交换内存主机“Lack of free swap space”问题解决

Zabbix初始设计是大型公司用于监控服务器集群的,但日常中也用于监控VPS或云主机。后者情况下Zabbix的很多配置和属性就没有经过优化,取决于监控的对象和用途,经常需要对一些Zabbix配置进行调整。Kaijia主要使用Zabbix监控一些云主机和VPS,也会经常遇到一些问题,比如之前遇到的“Lack of free swap space”问题,今天写下来和大家分享。

Kaijia使用的部分云主机(例如DigitalOcean)和VPS(一代OpenVZ)都没有设置交换分区/虚拟内存,使用free -m命令将会显示SWAP三项都为0。

这种情况下,如果开启Zabbix监控,Zabbix将会报告系统缺少交换分区空间(“Lack of free swap space”)。这完全可以理解,因为按照正常的逻辑,一台物理服务器不可能不设置交换分区。显然,这样的设计没有考虑到云主机用户,但需要适当调整监控文件配置即可解决问题。

Kaijia解决此问题的步骤如下:选择Configuration->Templates(模板),在模板界面中选择Template OS Linux右侧的Triggers(触发器),在触发器页面中打开Lack of free swap space on {HOST.NAME}项目,在新打开的触发器编辑页面中修改Expression(表达式)的内容,由原先的

{Template OS Linux:system.swap.size[,pfree].last(0)}<50

修改为

{Template OS Linux:system.swap.size[,pfree].last(0)}<50 and {Template OS Linux:system.swap.size[,free].last(0)}<>0

此处修改增加了“ and {Template OS Linux:system.swap.size[,free].last(0)}<>0”判断系统有交换空间,当系统无交换空间即{Template OS Linux:system.swap.size[,free].last(0)}的值为0时将不会时表达式不成立就不会触发错误提示。保存之后在下一个更新周期内Zabbix之前报告的“Lack of free swap space”问题就会被自动标记为Resolved(已解决)。

Zabbix的表达式还能组成其他很多实用的功能,之后有机会Kaijia将会继续分享Zabbix表达式应用的经验。

7条评论

  1. Zabbix报告无交换内存主机“Lack of free swap space”问题解决
    avatar
    Lv.1 1楼

    不正确的触发器表示式. 检查开始于” and {Template OS Linux:system.swap.size[,free].last(0)}<>0″的表示式部份  这个是zabbix 的错误提示

    • Zabbix报告无交换内存主机“Lack of free swap space”问题解决
      avatar
      Lv.1 1楼-1

      Incorrect trigger expression. Check expression part starting from ” and {Template OS Linux:system.swap.size[,free].last(0)}<>0″.英文就是这样,话说为啥贴图显示不出来???

  2. Zabbix报告无交换内存主机“Lack of free swap space”问题解决
    avatar
    Lv.1 2楼

    博主,我就是按照你说的方法,直接复制粘贴,却被提示不可以。

  3. Zabbix报告无交换内存主机“Lack of free swap space”问题解决
    avatar
    Lv.1 3楼

    <>0?zabbix还有这样的判断语句吗?

    发表评论

  1. 😉
  2. 😐
  3. 😡
  4. 😈
  5. 🙂
  6. 😯
  7. 🙁
  8. 🙄
  9. 😛
  10. 😳
  11. 😮
  12. emoji-mrgree
  13. 😆
  14. 💡
  15. 😀
  16. 👿
  17. 😥
  18. 😎
  19. ➡
  20. 😕
  21. ❓
  22. ❗
  23. 84 queries in 0.469 seconds