Icinga

Icinga2 perfdata 目錄溢出

  • December 9, 2015

我已經在虛擬機上安裝了 icinga2 以監控其他 5 個圖形,並使用石墨支持圖形和 icingaweb2 作為界面。最近在我的網路界面上,我得到了以下資訊:

Fatal error: Uncaught exception 'ErrorException' with message 'session_start(): open(/var/lib/php5/sess_3aabfsu76vcdj2hd2u3teofta5dvanpn, O_RDWR) failed: No space left on device (28)' in /usr/share/php/Icinga/Web/Session/PhpSession.php:105 Stack trace: #0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(2, 'session_start()...', '/usr/share/php/...', 105, Array) #1 /usr/share/php/Icinga/Web/Session/PhpSession.php(105): session_start() #2 /usr/share/php/Icinga/Web/Session/PhpSession.php(215): Icinga\Web\Session\PhpSession->open() #3 /usr/share/php/Icinga/Authentication/Auth.php(344): Icinga\Web\Session\PhpSession->refreshId() #4 /usr/share/php/Icinga/Authentication/Auth.php(166): Icinga\Authentication\Auth->persistCurrentUser() #5 /usr/share/php/Icinga/Authentication/Auth.php(262): Icinga\Authentication\Auth->setAuthenticated(Object(Icinga\User)) #6 /usr/share/php/Icinga/Authentication/Auth.php(93): Icinga\Authentication\Auth->authExternal() #7 /usr/share/php/Icinga/Application/Web. in /usr/share/php/Icinga/Web/Session/PhpSession.php on line 105
Fatal error: Uncaught exception 'ErrorException' with message 'Unknown: open(/var/lib/php5/sess_3aabfsu76vcdj2hd2u3teofta5dvanpn, O_RDWR) failed: No space left on device (28)' in Unknown:0 Stack trace: #0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(2, 'Unknown: open(/...', 'Unknown', 0, Array) #1 {main} thrown in Unknown on line 0

為了檢查發生了什麼,我試圖在磁碟可用空間中找到問題:

# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/hostname--vg-root  6.5G  4.8G  1.4G  78% /
tmpfs                         201M  412K  200M   1% /run
...
...
/dev/sda1                     236M  154M   70M  69% /boot

問題發生在已完成的 inode 中:

#df -i
Filesystem                   Inodes  IUsed  IFree IUse% Mounted on
/dev/mapper/hostname--vg-root 441504 441504      0  100% /
...
...
/dev/sda1                     62248    318  61930    1% /boot

要檢查我所做的小文件的最大部分在哪裡:

#for i in /*; do echo $i; find $i |wc -l; done

並發現該點在*/usr/var/spool/icinga2/perfdata/*目錄下

/usr
177882
/var/spool/icinga2/perfdata
229326

問題在於 icinga2 不清理其性能數據的原因以及如何在不損壞的情況下手動清理它。謝謝。

Icinga 2 不會清理旋轉的性能數據文件。它期望外部守護程序/應用程序在處理後刪除這些文件。例如,如果您使用 PNP,NPCD 守護程序將收集旋轉文件、處理它們並在之後刪除它們。

您還希望在監控中添加帶有 inode 門檻值的“磁碟”檢查,以便提前發現此類問題。

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