今回の「kanshi de mirai」は、性能を取得する手法の1つとして用いられるSNMPプロトコルとMIBファイルについての技術コラムです。
SNMPプロトコルは、System AnswerおよびSystem Answer G2に限らず多くの製品で監視を行う仕組みに取り入れられています。
SNMPプロトコルが幅広く多くの機器に実装されているのは、機器の情報を取得しやすいためだと考えられます。
■SNMPプロトコル
SNMPは現在、SNMPv1、SNMPv2c、SNMPv3の大きく3つの規格が存在します。
・SNMPv1
1990年に標準化された最初のSNMPです。
主に、32bitデータ値を取り扱います。
・SNMPv2c
1993年に標準化されたSNMPプロトコルです。
主に、64bitデータ値を取り扱いできるように拡張されました。
・SNMPv3
2002年に標準化されたSNMPプロトコルです。
1993年に標準化されたSNMPv2cでは、当初議論されていたセキュリティ面への対応が実装されておらず、SNMPv3でセキュリティ面の対応が実装されました。
SNMPプロトコルでは、マネージャからエージェントに対しSNMP Request(要求)を行い、エージェントからマネージャへSNMP Response(応答)を行うシンプルな通信を行います。
マネージャからの要求に対し、エージェントが応答する際にはマネージャから要求された情報を応答しますが、要求される応答内容はエージェントに実装されているMIBに定義された情報を応答します。
■MIB
MIBは、SNMPプロトコルの要求に対し機器情報の応答や機器情報の設定、機器情報の通知が定義されたオブジェクト(ファイル)です。
MIBには、RFCで規定されている情報と各メーカ―が作成しているファイルがあります。
RFCで規定されているMIBは各社共通で利用されておりますが、各メーカ―のMIBは独自に作成されているため、定義されている内容の情報が異なります。
SNMPを利用した上での情報取得では、RFCで規定されたMIBおよび各メーカ―のMIBを調査するのに膨大な時間と知識が必要となります。
MIBにはオブジェクト識別子(OID)があり、SNMPプロトコルで情報取得時にオブジェクトに指定された定義内容を応答します。
RFC1213に記載されている「Interface」グループで定義されているトラフィック量を取得する際、「どのインターフェース」を把握する必要があります。
ifDescr(インターフェース名称)
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
IF-MIB::ifDescr.3 = STRING: eth1
を取得すると、「ifDescr.2」が「eth0」のインターフェースとして分かります。
ifOutOctets(送信トラフィック量)
IF-MIB::ifOutOctets.1 = Counter32: 210988611
IF-MIB::ifOutOctets.2 = Counter32: 4031572377
IF-MIB::ifOutOctets.3 = Counter32: 0
「ifDescr.2」と「ifOutOctets.2」を見ることで、eth0の送信トラフィック量が分かります。
OSSのアプリケーション等では、上記の様な形で送信トラフィックと受信トラフィックの量や、他の性能に関する情報を集めて取得するために1つ1つの情報を機器毎に調べ、値の内容が機器側の情報と一致しているかどうか確認し情報収集対象とします。
弊社の製品に実装されているテンプレートは、お客様が上記の様な情報を知識として持っていなくても、存在する監視項目をクリックによって検索するだけで必要な情報を取得できます。
弊社のテンプレートでは、「検索」のみで利用していただけるよう以下の対応を行っております。
・MIBから取得可能と考えられるOIDとSNMP応答結果を比較し、応答があるOIDに対し性能が取得可能な情報かどうかを調査します。(メーカー作成のMIBは様々な形式で定義されているため、特徴をとらえつつ、必要と考えられる項目の精査およびお客様が必要とされている項目の精査をいたします。)
・マネージャが要求したOIDに対し、エージェントが応答するSNMPの応答値がエージェントの実機側の値と同様の値であることを調査します。(応答値については、実機側の応答値と異なることがあるため、必ず実機側の値と同様の値となっているかを調査いたします。)
・マネージャが要求したOIDに対し、MIBに定義されている説明がエージェントの応答するSNMP応答値と同じ意味であることを確認します。(MIBには、DescriptionというOIDの説明が記載されていますが、説明がないことや説明が異なることがあるため、実機側の値が意味する内容と同様の内容か調査いたします。)
・製品としてのテンプレート実装前に、仮テンプレート搭載機器にて値を調査し「検索が可能か」「グラフの描画は問題が無いか」「値が取得可能か」「値が実機の値と同様か」を調査した上で製品をリリースしております。
監視項目を作成するためには専門的な知識が必要であり、またメーカ―の製品毎にMIBが異なるため調査の時間もかかります。そこで弊社は、MIBの調査や値確認といった膨大な工数がかかる作業をテンプレートとして提供しております。
SNMPを利用した性能情報取得において、お客様の負担や知識の属人化をなくすことも必要ですが、お客様が性能情報を安心して簡単にご利用いただけるよう、弊社では今後もテンプレートの拡充を行ってまいります。
次回のテーマは「ファーストケース」です。
by テクニカルサービス部 今川 裕太