BIG-IPのSNMPグラフ取得
たぶん読者置いてきぼりシリーズ!!
会社でBIG-IPの運用状況のグラフを整備してたんですが、以下のサイトにcacti用テンプレートがあった。
http://devcentral.f5.com/Default.aspx?tabid=63&articleType=ArticleView&articleId=136
で、入れてみたけどこれはかなり便利。BIG-IP付属のグラフよりも便利かも。
Private MIBをチマチマ読んではsnmpbulkwalk投げてたのはいったいなんだったんだ!(ノ ゚Д゚)ノ ==== ┻━━┻
ただし、入れたままだとバグっているのかLB用のOSのCPU使用率が取れなかった。
Linux部分は簡単に取れるんだけどねー。
しょーがないのでcactiのソースを読んだ。phpのデバッグは2回目だけど、var_dump を覚えたのでかなり楽だった。
Perlユーザ向けvar_dumpのイメージ
結果としては、rrdにデータを投入する際のコマンドがおかしい。
rrdtool update --template ←引数抜け 入力値
ってなってた。
で、この原因はmysqlに保存されているDataSource用のテーブルで当該データのrrd_nameが空になってた。
で、rrd_nameが空なので --template 入力値 となって rrdtoolがこけていた。
DataSource登録でデータがおかしいということはDataTemplateかDataInputMethodかに原因があると思うんだけど、時間切れで調査打ち切り。
とりあえず、対象療法
update poller_item set rrd_name = 'tmmcpu' where rrd_path like '%_tmmcpu_%';
あと、このCPU取得スクリプトがデフォルトのものの場合、CPU周りにカウンタがリセットされたときからの平均CPU使用率になるという欠点が。。。
いつリセットされてるのか知らんし。
デフォルトで10秒平均のCPU使用率取得のスクリプトがあるので、5秒とかに書き換えて利用したほうがいい。ってかそうしてます。
台数が多い場合は、5分平均で割り切って、毎回データを保存して、前回との差分とかにした方がいいかも。
pollingが並列処理ではなく逐次処理なので、sleepしてるのが非常に無駄になりそう。polling終わるのに数分とか。
次のpolling始まるし!
とまぁBIG-IPとcactiを両方使っている方向けの情報でした。