cactiでグラフがコマ切れになる
最初は一部のサーバのみだったし コマ切れサーバの snmpd を疑ったけど snmpd 使ってないグラフもコマ切れになっているので、まずは cacti の詳細なログを確認しよう!ということで consol -> settings -> General -> Poller Logging Level を debug に設定、これでガンガンログが吐き出されるようになる。
まず、ログを見ていて気になったのが
POLLER: Poller[0] WARNING: Poller Output Table not Empty.
というログ。明らかに問題ありそうなので調べてみたけど、いまいち状況つかめず。さらにログを見てみたら
SYSTEM STATS: Time:430.7131
というログがあって、これがおそらくポーリングにかかった時間なのだろうけど、おかしい。ポーリングは5分間隔なのに明らかに5分以上かかっている、、、、。
ということで、ポーリング処理が5分以上かかってポーリングが二重に走ってしまうのが問題なんじゃないかと推理。
cacti のポーリング処理には php で動く cmd.php というのが標準であってほかに cactid 今でいう spine という C で動くポーリングツールがあってこっちが高速らしいので spine を入れてみることにする。
最初はおてがる yum インストールと行きたかったんだけど rpmforge のパッケージが古いので最新版ソースを公式から落としてきてインストールすることに
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz # tar zxvf cacti-spine-0.8.7e.tar.gz # cd cacti-spine-0.8.7e # ./configure --prefix=/usr/local/spine # make # make install
でインストール完了、あとは cacti に spine のパスを登録して poller を spine にする。 consol -> settings -> Paths -> Spine Poller File Path に /usr/local/spine/bin/spine と登録。 consol -> settings -> poller -> Poller Type を spine にする。
また spine の設定ファイルが cacti と別であって、そこに mysql の設定を行なう。
# vi /usr/local/spine/etc/spine.conf
ということで、ログを再度確認
SYSTEM STATS: Time:23.7131
はやっ