メモ - cacti - Data Query からのグラフ作成

とりあえずまとめの意味をこめてメモる。とりあえず参照ページが凄く役に立ったので

同じ悩みで悩んでる方はぜひ参考にして欲しい。



参考ページ 監視するMIBを追加する(2) 〜 Data Query のカスタマイズする方法:(URL)

参考ページ SNMP Query XML Syntax:(URL)



大きく分けると下記のような工程が必要。



1.XMLファイルの作成

2.Data Templatesの作成

3.Graph Templatesの作成

4.Data Queriesの作成

5.実際にあるDevice設定で作成したData Queryをadd

6.Verbose Queryによる確認

7.グラフ作成(テストを兼ねる)



特に詰まった1についてメモメモ。



XMLファイルの作成で各項目には下記設定が必要。

タグ名 説明
interface.name このXMLで定義しているMIBの名前。
interface.oid_index MIBの中で主キーになる項目のOIDを記述。
interface.oid_index_parse 主キーのOIDで一意で指定できる部分を記述。通常は正規表現で記述する。
interface.index_order 項目の並び順を「:」区切りで記述。使われてないっぽい。
interface.index_order_type 主キー項目の値を(「numeric」数字として認識)or(「alphabetic」英字で認識)を記述
fields.XXXXXX.name 項目XXXXXX(任意)の項目名を記述
fields.XXXXXX.method 項目XXXXXX(任意)の値の取得方法を記述。単数なら「get」、複数なら「walk」。
fields.XXXXXX.source 項目XXXXXX(任意)の値の取り込み方を記述。通常は「value」(そのまま)。
fields.XXXXXX.direction 項目XXXXXX(任意)のグラフ上の取り扱いを記述。「input」なら項目候補、「output」なら値候補
fields.XXXXXX.oid 項目XXXXXX(任意)の値が格納されているOIDを記述



特に詰まったのが、「interface.oid_index_parse」。有効な正規表現の例を2例記述しておく。



OID例:.1.3.6.1.4.1.41567.3.1.2.7.2.5.1.9.36.12.34.56.78.99.88.77.66.11.22.33.44.55



表現例A: OID/REGEXP:.*\.([0-9]{1,3}(\.[0-9]{1,3}){13})$

表現例B: OID/REGEXP:^.{28}.\.[0-9]\.[0-9]{1,2}\.(.*)



基本として、「最も外側の括弧の値が指定部分として抽出される(多重に括弧があったら一番外側)」

「括弧が2組以上(多重は1つとしてカウント)があるとOID全てを拾ってしまう」

という制限がある模様。

OID例から抽出したいのは後半の「36.12.34.56.78.99.88.77.66.11.22.33.44.55」。

例Aは「後方一致」で抽出を試みて、前半は「前方一致」で抽出を試みております。





P.S. 実はまだCOUNTER64型の値が取り込めなくて困ってるんですけどね!0になるー!!