Cacti に SNMP デバイスを追加したときのメモ
スマートスイッチ(NETGEAR GS724Tv3)を Cacti でモニタリングしたときの記録
SNMP 経由で監視するデバイス (ハブ) を追加する
- 「Create」メニューの「New Graphs」を選択する
- 右上にある「Create New Host」リンクをクリックする
- 適当に設定する
- ホストが作成されたら右上の「Create Graphs for this Host」リンクをクリックする
- 今後このホスト画面には,「Management」メニューの「Devices」を選択して,適切なデバイス名をクリックするといける
- うまく設定できていると「Data Query」欄に,各ポートごとのデータソースが大量に出ているはず
- 「Data Query」欄のヘッダ右端のチェックボックスをクリックするとすべてのデータソースを一度に選択できる
- もちろん,いらない項目はチェックボタンをはずすこともできる
- 一番下の「Select a graph type:」で適切なグラフタイプを選択して,「create」
- 普通,「In/Out Bytes (64-bit Counters)」でいいと思う
- もし Error 等も統計をとりたいなら同じ手順で graph type を適切に選択して create する
グラフビューのツリーにもいれとく。
- 「Management」メニューの「Graph Trees」を選択
- 「Default Tree」を選択
- 「Tree Items」ヘッダの右端の「Add」リンク*1をクリック
- 適宜設定して「Add」
- 「Parent Items」は「root」のままでいい (凝ったツリーにしないのなら)
- 「Tree Item Type」を「Host」にする (ここがポイント; まぁちまちま「Graph」を追加してもいいんだけど)
- 「Graph Grouping Style」はデフォルトの「Graph Template」のままが結局わかりやすいと思う
- もちろん今回のようにハブの場合,「Data Query Index」でもポート順に並ぶのでいいけど
グラフのタイトルをいっぺんに変更する
んで,以上のようにするとハブを Cacti からモニタリングできるんだけど,各グラフのタイトルが
HUBNAME - Traffic - 0/1
ってなる。
NETGEAR GS724T (に限らないと思うけど) だと,設定画面で各ポートにぶら下がってる機器とかの名前を指定することができる。なので,これを反映して,
HUBNAME - Traffic - 0/1 (PORTNAME)
みたいに表示できるようにしたい。
いっこいっこ手作業で変更していくこともできるんだけど,この手のハブはポート数が膨大にあるので手作業でやってくのは骨が折れる。なのでいっぺんに設定する方法を調べた。
- まずはテンプレートの修正
- 「Collection Methods」メニューの「Data Queries」を選択
- 「SNMP - Interface Statistics」を選択
- 下部の「Associated Graph Templates」欄から適切なテンプレートを選択する
- 上記の例の場合だと「In/Out Bytes (64-bit Counters)」
- 「Suggested Values」にテンプレート候補を追加する
- ややこしい概念なのでちょっと解説
- データソースの名前やグラフのタイトルはここのテンプレートの候補をもとに適切なものが選ばれる
- たとえば「Data Template」の「name」の上から2番目に「|host_description| - Traffic - |+query_ifName|」というのがあって,実際にはこれが選ばれてる
- これは,1番目の「|host_description| - Traffic - |query_ifIP| - |query_ifName|」というのが不適切だった (query_ifIP が取得できなかった) ため
- なので,ここの候補群に「|host_description| - Traffic - |query_ifName| (|query_ifAlias|)」というのを追加すれば,query_ifAlias が存在する場合はこのテンプレートを使い,そうでない場合は別のテンプレートを使う,といったようになるわけ
- ということで具体的には,まず「Data Template - Interface - Traffic」のほうで,下部の左側のフィールドに「|host_description| - Traffic - |query_ifName| (|query_ifAlias|)」を入力する
- つぎに「Field Name:」欄に「name」と入力して,「add」する*2
- 追加されたデータを右側の上下矢印アイコンをクリックして「|host_description| - Traffic - |query_ifName|」より上位にもってくる
- つぎに「Graph Template - Interface - Traffic (bytes/sec)」のほうでも同じように追加して上位にもってくる
- こちらは「Field Name:」を「title」にすることに注意
- てか,グラフのタイトルを修正するだけならこちらの Graph Template だけでいいんですよね; 上の Data Template のほうは修正する必要はない
- 最後に「save」することを忘れずに
- これだけだと既存のデータソース,グラフの名前・タイトルが変わらないので既存のものにも適用する
- まずデータソースから。「Management」メニューの「Data Sources」を選択
- 修正したいデータソースを右端のチェックボックスで選択
- 右下の「Choose an action:」で「Reapply Suggested Names」を選択し,「go」ボタンを押す
- 確認画面がでるので「yes」を押す
- 次にグラフのタイトル。これは「Management」メニューの「Graph Management」を選択して同じようにする
Cacti • View topic - Display Interface Alias (IF-MIB) as well as Name (IF-MIB) を参考にした。
データ取得間隔を1分毎に変更する
デフォルトで5分間隔のグラフになっててさみしいので。これが正式なやり方かわかんないけど。
- 「Configuration」メニューの「Settings」を選択,「Poller」タブを選択
- 「Poller Interval」と「Cron Interval」をおのおの「Every Minute」に変更
- どうしてべつべつにあるかがよくわかんないです
- 「Templates」メニューの「Data Templates」を選択
- SNMP の場合「Interface - Traffic」を選択
- 「Step」項が「300」になっているので「60」に変更
- 他必要なテンプレートも適宜書き直す
- RRD ファイルを削除する
- 「Utilities」メニューの「System Utilities」を選択
- 「Rebuild Poller Cache」をクリック
version 0.8.7g の場合,http://www.cacti.net/download_patches.php にある One Minute Polling Interval Fix を当てるべきかもしんない。
わたしは EPEL repo のをそのままいれたので 0.8.7e という古いバージョンなのでそもそもパッチが当たらない (いいのか?)
いっそ momo-i さんの日本語化 *3されたのにするのがいいのかも。最新パッチまであたってるみたいだし。
あとはデータの保存期間をhttp://www.sabakan.info/techinfo/cacti-0.8.7-4.htmlにしたがって調整した。