- blogs:
- cles::blog

cactiのpollerがタイムアウトする

しばらく前からcacti調子が悪くて、pollerは動いているもののなぜかグラフが表示できない状態になっていました。
さすがにシステムのモニタリングができない状態のままにしておくのは忍びないのでcactiを最新版の0.8.6jにアップデートしてみました。
とりあえず全てのインストール済みファイルを上書きし、include/config.phpのデータベース接続を設定しなおしてから管理画面にログインすると自動的にアップデート用の画面が現れてそのままアップデートは完了しました。グラフもちゃんと表示できるようになっています。ところが、なぜかpoller.phpがタイムアウトしてしまってグラフが更新されないようになってしまいました。ログを見ると下記のようなログが大量に残っています。
07/26/2006 05:40:01 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting.
ということで、この内容をそのままGoogleに突っ込んでみたところ下記のようなページがヒットしました。
Cactiのグラフが生成されない - 時間の渦
再インストールした際に、Cronが/etc/cron.d/cactiに追加されたようで、これが問題でした。 crontabにあるrootで走っているタスクを消去して/etc/cron.d/cactiのみにすると、解決しました。
ビンゴかとおもいきや、元々このcactiはtarballでのインストールなのでcrondの設定は自動的に書き換わることはないので、僕のところで発生している問題はこの問題とは違う問題のようでした。
† patchを当てないとダメらしい
いろいろと公式フォーラムを検索してみたりしたのですが、参考になる情報は見つからないので諦めようかと思いましたが、質疑時の環境説明にバージョンなどのほかにpatchを当てているかについて記載している人が多いみたいだったので、ちょっとcactiのpatchについて調べてみたところ、こんな感じで公式のパッチが公開されていました。
Cacti: The Complete RRDTool-based Graphing Solution
Patches will be listed here for any bug that has been discovered in a current version of Cacti.
とりあえず全てのパッチを当ててみたところpollerが正常に動くようになりました*1。こういうプロダクトはバグがあると基本的にはバージョンアップで対応してもらえるものだとステレオタイプに考えていたんですが、cactiはバージョンがあがるまでの間は公式パッチという形で対応しているんですね。ちょっとこれは盲点でした。
- *1: おそらくSNMP Ping Method Faulty for PHP Version 4.xというパッチが効いたのだと思います。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2129
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112974)
3 . 年次の人間ドックへ(112398)
4 . 2023 年分の確定申告完了!(1つめ)(111965)
5 . 三菱鉛筆がラミーを買収(111838)