cacti spineでポーリングさせる

 2015-01-20
標準装備のcmd.phpだとデータを全部取得するまでに40秒程度かかっていた。イケテナイのでspineを導入して改善を試みる。
 
cactiの Console -> Utilities -> View Cacti Log File から確認してみると、下記↓
**/**/201* 01:23:45 PM - SYSTEM STATS: Time:39.0953 Method:cmd.php Processes:1 Threads:N/A Hosts:7 HostsPerProcess:7 DataSources:196 RRDsProcessed:98
40秒くらいかかってる。5分毎にポーリングさせているので、300秒毎に40秒はかならず処理中になる。なんかイクナイ。減らしたい。


ということでいろいろもうちょっと賢いspineというモノにポーリングをお願いする。
yumするだけで入る。簡単。cool! 出来るだけ簡単にしておけ!
root# yum install cacti-spine
この時cactiも一緒に入ったが、とりあえず無効化されている状態なので放置。apacheやcronの設定ファイルも既存のものがあったため、無効化した状態で入ったようだ。
(現在使っているcactiはyumで入れたモノでは無かった↑)


spineの設定ファイルにMySQLの設定を書いておく。
root# emacs /etc/spine.conf
中身は、 */cacti-0.8.8b/include/config.php に記載のものと同じでおーけー。


spineが無事に入ったらcactiで指定してあげるだけ。
  • cacti->console->Settings->PathsでSpine Poller File Pathにspineのパスを設定。
  • cacti->console->Settings->Pollerでspineを指定。
あとは適当にProcessやThread数をちょいちょいと増やしておく。



**/**/201* 02:34:56 PM - SYSTEM STATS: Time:20.5410 Method:spine Processes:2 Threads:10 Hosts:7 HostsPerProcess:4 DataSources:180 RRDsProcessed:90 
20秒ちょっとで終われるようになった。約半分。二倍速。きっとcmd.phpとかいうのよりもスケーラブルだろうから、これからポーリング対象が増えていっても、マシなはずだ。 たぶん。



ちなみに、yum install cacti-spineで入らない場合は自力でspineをコンパイルもできる。某VPSでやったら入らなかった。OpenVZ系の準仮想環境のためそこらのyumリポジトリを追加するのも気が引けたので自力でやった。面倒すぎ。
root# yum install gcc gawk net-snmp-devel mysql-devel
・・ごにょごにょ・・

root# wget "http://www.cacti.net/downloads/spine/cacti-spine-0.8.8c.tar.gz"
root# tar xzvf cacti-spine-0.8.8c.tar.gz
root# cd ./cacti-spine-0.9.8c/

root# ./configure
・・ごにょごにょ・・
root# make
・・ごにょごにょ・・
root# make install
・・ごにょごにょ・・

root# cp ./spine.conf.dist /etc/spine.conf
root# emacs /etc/spine.conf
~省略~
 
 
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:
http://wbbwbb.blog83.fc2.com/tb.php/185-9eb31864
≪ トップページへこのページの先頭へ  ≫