問題
デバイスからのSNMPメトリクスの収集に問題がある場合や、デバイスがサポートする特定のオブジェクト識別子(OID)を確認する必要がある場合。
解決
snmpwalkユーティリティは、発生する可能性のあるさまざまなSNMPの課題をトラブルシューティングするための便利なツールです。 ktranslate
は、Dockerが実行されているLinuxホストのホストネットワーク上で実行されるため、デバイスがSNMP要求に応答しているかどうか、および具体的に何に応答しているかを正確に測定します。
ヒント
ほとんどのシステムにはsnmpwalk
がインストールされていますが、必要に応じて、 apt-get install snmp
またはyum install net-snmp-utils
を実行して自分でロードできます。
接続テスト
デバイスのSystem Object Identifier(SysOID)を収集する基本的なテストで、SNMPデバイスへの接続性をテストすることができます。これが成功すれば、デバイス上のSNMPの設定と、Dockerホストとデバイス間のネットワーク接続がうまくいっていることになります。失敗した場合は、内部ネットワークでの設定を検証する必要があります。
お使いのSNMP機器のバージョンに応じて、以下のいずれかを実行してください。
以下は、 snmpwalk
を実行した後に期待される出力の例です。
$.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.1.46
完全なSNMPウォークの取得
デバイスで利用可能なすべてのOIDを歩いたときの出力をキャプチャすることをお勧めします。この出力は、 ktranslate
の新しいSNMPプロファイルを作成するときに使用され、GitHubでプロファイルリクエストを開く必要があります。
このためのコマンドの主な違いは、ターゲットをルート.
に変更することと、後でデータを収集できるファイルに出力をリダイレクトすることです。
SNMP v2 example
$snmpwalk -v 2c -On -c $COMMUNITY $IP_ADDRESS . >> snmpwalk.out
SNMP v3 example
$snmpwalk -v 3 -l $LEVEL -u $USERNAME -a $AUTH_PROTOCOL -A $AUTH_PASSPHRASE -x $PRIV_PROTOCOL -X $PRIV_PASSPHRASE -ObentU -Cc $IP_ADDRESS . >> snmpwalk.out
このコマンドの出力は、デバイスが応答するすべてのOIDをリストするsnmpwalk.out
という名前のファイルになります。
ヒント
多数のインターフェースを持つ機器では、このSNMPウォークが完了するまでに10分以上かかることがあります。