型落ちのSSLアクセラレータを手に入れた。
ネットワーク環境を構築したので、さっそくこの機器の検証を行い、動作状況を確認したい。
どうせならグラフ描画したいので、cactiでモニタリングさせることにする。
snmpwalkして機器の必要なステータスを一括で取得するのが賢明だろう。
となると、Data QueryのXMLファイルを使うべきだとひらめき、
その作成にとりかかるも、なかなかうまくいかず手こずってしまった。
というわけで、そのXMLファイル書き方をメモしておく。
アクセラレータの話ではないので、そっち方面の話を期待した方ごめんなさい。
それではさっそく。
まず、適当にsnmpwalkを実行し、XMLファイルの作成時に使えそうなものを確認する。
ポイントとしては、何をinputにし、何をoutputにするか、である。
input :オブジェクトを識別するOIDや名前などの静的なデータ
output : グラフ化させる動的なデータ
【input情報】
◆ ディスクリプション
今回、HTTP、SMTP、POP通信の暗号・復号化処理を実施させるように構成しているのだが、
以下のmibで設定したディスクリプションが表示される。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.2
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.101 = STRING: "HTTPS"
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.102 = STRING: "SMTP over SSL"
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.103 = STRING: "POP over SSL"
◆ ポート番号
HTTP、SMTP、POP通信をSSL化した場合のポート番号である。
これもinputデータとして利用できそうである。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.4
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.4.101 = INTEGER: 443
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.4.102 = INTEGER: 465
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.4.103 = INTEGER: 995
◆ IPアドレス
各通信用に個別にIPアドレスを振ったのだが、これも利用できそうである。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.3
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.3.101 = IpAddress: 192.168.1.1
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.3.102 = IpAddress: 192.168.1.2
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.3.103 = IpAddress: 192.168.1.3
【output情報】
◆ セッション数
検証する上でこれは必要であろう。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.3.1.1.1
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.1.101 = Gauge32: 5
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.1.102 = Gauge32: 10
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.1.103 = Gauge32: 1
◆ TPS(Transaction Per Sec)
機器のボトルネックを見極める上でも、TPSは見ておきたい。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.3.1.1.2
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.2.101 = Gauge32: 2
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.2.102 = Gauge32: 3
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.3.1.1.2.103 = Gauge32: 1
【XMLファイルの記載】
これは説明するよりもファイルを見てもらったほうが早いだろう。
<interface>
<name>SSL Machine</name>
<description>test</description>
<oid_index>.1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.2</oid_index>
<oid_index_parse>OID/REGEXP:.*\.([0-9]{1,3})$</oid_index_parse>
<index_order>port:string:ipaddress</index_order>
<index_order_type>numeric</index_order_type>
<index_title_format>|chosen_order_field|</index_title_format>
<fields>
<string>
<name>STRING</name>
<method>walk</method>
<source>value</source>
<direction>input</direction>
<oid>.1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.2</oid>
</string>
<port>
<name>PORT</name>
<method>walk</method>
<source>value</source>
<direction>input</direction>
<oid>.1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.4</oid>
</port>
<ipaddress>
<name>IPADDRESS</name>
<method>walk</method>
<source>value</source>
<direction>input</direction>
<oid>.1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.3</oid>
</ipaddress>
<session>
<name>SESSION</name>
<method>walk</method>
<source>value</source>
<direction>output</direction>
<oid>.1.3.6.1.4.1.1872.2.3.2.2.1.3.1.1.1</oid>
</session>
<tps>
<name>TPS</name>
<method>walk</method>
<source>value</source>
<direction>output</direction>
<oid>.1.3.6.1.4.1.1872.2.3.2.2.1.3.1.1.2</oid>
</tps>
</fields>
</interface>
oid_indexフィールド、oid_index_parseフィールドについては説明が必要だろうか。
すべてのSNMPクエリーはインデックスの値を表すOIDを指定しなければならない。
inputフィールドに先立ち、各行を一意に識別するインデックスを用いよ、ということである。
今回のネットワーク機器には使えそうな適切なインデックス値がなかった。
そこで、".1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.2"の
mibの末尾をインデックスとして使う、というわけである。
もう一度下記コマンドを実行してほしい。
% snmpwalk -v 2c -c $コミュニティ名 $ネットワーク機器 .1.3.6.1.4.1.1872.2.3.2.2.1.2.1.1.2
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.101 = STRING: "HTTPS"
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.102 = STRING: "SMTP over SSL"
SNMPv2-SMI::enterprises.1872.2.3.2.2.1.2.1.1.2.103 = STRING: "POP over SSL"
oid_index_parseフィールドで下記のような表現を使っている。
.*\.([0-9]{1,3})
最初の正規表現の".*"は任意の一文字が0または1以上を表す。
次の括弧で囲った部分がインデックスとして抜き出す箇所である。
[0-9]{1,3}はつまり、0から9が1個以上,3個以下ということである。
よってインデックスは101, 102, 103となる。