Zabbix報告無交換記憶體主機“Lack of free swap space”問題解決

背鍋浩發表於2018-06-22

Zabbix初始設計是大型公司用於監控伺服器叢集的,但日常中也用於監控VPS或雲主機。後者情況下Zabbix的很多配置和屬性就沒有經過優化,取決於監控的物件和用途,經常需要對一些Zabbix配置進行調整。主要使用Zabbix監控一些雲主機和VPS,也會經常遇到一些問題,比如之前遇到的“Lack of free swap space”問題,今天寫下來和大家分享。

部分雲主機(例如DigitalOcean)和VPS(一代OpenVZ)都沒有設定交換分割槽/虛擬記憶體,使用free -m命令將會顯示SWAP三項都為0。


                                                       free -m 顯示系統無交換空間

這種情況下,如果開啟Zabbix監控,Zabbix將會報告系統缺少交換分割槽空間(“Lack of free swap space”)。這完全可以理解,因為按照正常的邏輯,一臺物理伺服器不可能不設定交換分割槽。顯然,這樣的設計沒有考慮到雲主機使用者,但需要適當調整監控檔案配置即可解決問題。

解決此問題的步驟如下:選擇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(已解決)

相關文章