Monitoring

如何使 Nagios 服務的狀態資訊更易於閱讀?

  • October 16, 2011

我在具有多個伺服器的環境中執行 Nagios,每個伺服器上都有多個服務。有一些自定義檢查,但如果可能,最好使用現有檢查。我正在使用 NRPE 外掛檢查check_disk來檢查每個已安裝的文件系統的使用率:

command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p / -p /var -C -u GB -w 200 -c 100 -r '^/mounts[^/]+$'

將這些都作為單個服務(“磁碟”)進行檢查很方便,但是當其中一個進入警告模式時,很難讀取狀態資訊行中的輸出:

DISK WARNING - free space: / 6 GB (9% inode=92%): /var 125 GB (67% inode=99%): /mounts/vol0 1152 GB (16% inode=99%): /mounts/vol1 1096 GB (15% inode=99%): /mounts/vol2 126 GB (1% inode=99%): /mounts/vol3 228 GB (3% inode=99%): /mounts/vol4 3245 GB (44% inode=99%): /mounts/vol5 108 GB (1% inode=99%): 

在上述情況下,檢查是警告,因為 /、/mounts/vol2 和 /mounts/vol5 低於門檻值。操作員必須遍歷每個值才能找到超過設定水平的值。此外,如果一個處於關鍵狀態而另一個處於警告狀態,最好以不同的方式顯示它們,或者通過標記它們,或者將它們放在不同的行上。

有沒有一種直接的方法可以做到這一點,而無需為每個掛載點創建一個新命令?還是我錯過了其他一些 Nagios 魔法的基本方法來使其友好?

試試–errors-only 標誌,它應該會大大減少這個外掛吐出的文本量。

 -e, --errors-only
 Display only devices/mountpoints with errors

這似乎對我有用。請注意輸出中的巨大差異:

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% 
DISK WARNING - free space: / 37167 MB (96% inode=98%); /dev/shm 244 MB (100% inode=99%); /boot 84 MB (18% inode=99%); /home 21253 MB (99% inode=99%);

但是有了這個--errors-only標誌,現在很明顯我的問題在於/boot

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% --errors-only
DISK WARNING - free space: /boot 94 MB (20% inode=99%);

如果系統沒有問題,則輸出很短:

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% --errors-only
DISK OK

(注意:為了清楚起見,我刪除了第一個 | 之後的所有內容。Nagios Web 界面還會在此輸出顯示在螢幕上之前對其進行修剪。)

另請參閱有關 Debian bugtacker 的討論:nagios2:以無法理解的方式抱怨磁碟空間

引用自:https://serverfault.com/questions/320027