SNMPとは何か
企業やデータセンターのように管理すべきネットワーク機器が数十台、数百台に及ぶ環境では、機器ごとに個別にアクセスして状態を確認するのは現実的ではありません。SNMP(Simple Network Management Protocol)は、機器が共通の方式でトラフィック量・温度・エラー回数といった自分の状態情報を報告し、管理者がそれをひとつの画面にまとめて確認できるようにする、ネットワーク管理の古くからの標準規格です。
マネージャー・エージェント構造
情報を問い合わせる管理ソフトウェアである「マネージャー」と、各機器上で動作して情報を提供する「エージェント」がペアになって動作します。監視サーバー(マネージャー)がルーターやスイッチ(エージェント)に「このポートの現在のトラフィック量は?」と問い合わせると、エージェントは自分が保持している値を読み取って応答します。ひとつのマネージャーが多数のエージェントに同時に問い合わせて集計することで、ネットワーク全体の状態を一目で把握できるダッシュボードを構築できます。
MIBとOID:値を指し示すアドレス体系
機器が提供できるすべての情報項目の一覧をMIB(Management Information Base)と呼び、その中の各項目はOID(Object Identifier)と呼ばれる、ドット区切りの数字による固有の番号で識別されます。あるOIDを問い合わせれば機器の稼働時間が、別のOIDを問い合わせれば特定ポートの受信バイト数がわかるといった具合で、管理者は目的の情報のOIDさえ知っていれば、メーカーが違っても同じ方法で値を読み取れます。
SNMPv3:認証と暗号化の強化
SNMPv3は、利用者ごとの認証と、通信内容そのものの暗号化を導入し、コミュニティストリングに頼っていた旧バージョンのセキュリティ上の弱点を補っています。セキュリティが重要な環境では、可能な限りSNMPv1・v2cよりもSNMPv3を使うことが推奨されており、最近の機器の多くは3つのバージョンすべてに対応していて、状況に応じて選択できるようになっています。
使用ポートとトラップ
マネージャーがエージェントに問い合わせるクエリはUDP161番ポートを、エージェントが異常事態をあらかじめ知らせるトラップはUDP162番ポートを使用します。通常はマネージャーが定期的にエージェントへ値を要求する方式(ポーリング)で動作しますが、ポーリングの間隔の合間に機器のダウンやポート障害といった緊急事態が発生すると、エージェントはマネージャーの問い合わせを待たずに自らトラップとして即座に通知を送ることができます。この2つの方式を組み合わせることで、定期的な状態確認と緊急事態への迅速な対応の両方をカバーできます。
SNMPを活用する監視ソフトウェア
多くのオープンソース・商用のネットワーク監視ツールがSNMPを基本的な収集方式として採用し、機器の状態をグラフやダッシュボードの形で可視化しています。管理者はこうしたツールに各機器のIPアドレスとコミュニティストリング(またはSNMPv3の認証情報)を登録しておくだけで、トラフィックの推移・機器の温度・エラー率といった値を時間の経過とともに自動的に収集し、グラフで確認できます。しきい値を超えた場合に管理者へ通知を送るよう設定すれば、障害が深刻化する前に対応する用途にも広く活用できます。