Cacti-spine on Windows
Cactiのpollerとしてspineを利用するメモ
Cactiのpollerとしては標準のphpで記述されたpoller(cmd.php)の他、実行形式のspineと呼ばれるpollerが用意されています。監視対象機器の数が増えてくると、標準pollerだと5分以内にpollingを完了出来ないケースが発生したりします(過去の経験だと監視機器が100を超えたあたりで発生)。
WindowsのCactiのpollerとしてspineを利用する場合、デフォルトのspine.conf を用いると正常に動作せず、結構悩んでいたのですが…ふと以下のエントリを発見。
Windows上で cactiのpollerにspineを使うときのspine.confあっさり動いた…。ということで導入メモ。
spineの取得・インストール
Cactiの公式ページの”Spine(Cactid)”-“Download”メニューから、Windowsバイナリを取得・解凍し、任意のフォルダに解凍します。フォルダにはpollerを実行するユーザ(crondの実行ユーザ、もしくはタスクマネージャで設定した実行ユーザ)の読み取り・実行権限があることを確認しておきます。
spine.confの設定
spineを解凍したフォルダ内の”spine.conf.dist”を同フォルダ内にコピーし、”spine.conf”にリネームし、編集します。cactiのDB設定を記述するのですが…DB_Hostに”localhost”を記述すると、unixソケットを利用しようとしてしまうので、IPで”127.0.0.1″を指定してやるとTCPソケットで接続してくれます…(よく見たらconfの説明の中に書いてあったo……rz)。
Cacti側の設定
ブラウザでCactiのコンソールを開き、”Settings”-“Path”タブ内の”Alternate Poller Path”に、spine.exeのパスを指定して[save]します。例によって、”[OK: FILE FOUND]“表示になることを確認しませう。
spineのパスを設定したら、”Settings”-“Poller”タブを開、”Poller Type”を “spine”に変更します。[save]すれば、次回のpollingからはspineが利用されるハズ。
動作確認
Cactiのログ( Cactiインストールパス/log/cacti.log )に出力されるログを確認。ポーリングのログ(SYSTEM STATS:として出力されるハズ)が”Method:spine”になっていればOK。
監視台数が少ない場合は影響はないといえばないのですけれどね…。