Dec 192010
 

Zabbixのディスク容量監視で取得できるキーにはtotal, used, free, pused, pfreeの5項目あります。
totalは別にして、容量不足だけを監視したいのならどれか1項目でもなんとかなるはずです。
最低限取得するとしたら、Zabbixの負荷的にどれが一番効率がいいのか、ソースを見てみました。

zabbix-1.8.3/src/libs/zbxsysinfo/linux/diskspace.c

        if (free)
                *free = (zbx_uint64_t)s.f_bavail * s.ZBX_BSIZE;
        if (used)
                *used = (zbx_uint64_t)(s.f_blocks - s.f_bfree) * s.ZBX_BSIZE;
        if (pfree)
        {
                if (0 != s.f_blocks - s.f_bfree + s.f_bavail)
                        *pfree = (double)(100.0 * s.f_bavail) /
                                        (s.f_blocks - s.f_bfree + s.f_bavail);
                else
                        *pfree = 0;
        }
        if (pused)
        {
                if (0 != s.f_blocks - s.f_bfree + s.f_bavail)
                        *pused = 100.0 - (double)(100.0 * s.f_bavail) /
                                        (s.f_blocks - s.f_bfree + s.f_bavail);
                else
                        *pused = 0;
        }

ちなみにs構造体に入ってくる値はstatvfs()かstatfs()でまとめて取得するようになっています。

計算の少なさでfreeの勝ち。次点はusedでした。
ただ閾値設定をファイルシステム毎にサイズ指定することになってしまうので、pfreeかpusedで値を取得、パーセンテージで監視するのが一番かもしれません。pfreeかpusedどちらかを取るならpfreeのほうが若干計算少ないです。

コードの単純さだけを比較すれば、サイズとパーセンテージではサイズが有利、freeかusedではfreeが有利ということになります。

Sorry, the comment form is closed at this time.