今回は運用監視(というかインフラ全般的に)では避けて通れないSNMPについて説明しようと思います。
・
SNMPとは
SNMP(Simple Network Management Protocol) は OSI 参照モデルのアプリケーション層に相当します。
TCP/IP ネットワーク上につながる機器の情報を管理したり、状態を監視したりするために使用されるプロトコルです。
SNMPは管理する側のマネージャーと管理される側のエージェント間で動作します。
・
SNMPの動き
SNMPマネージャーは監視対象機器に向けて定期的な情報収集をおこないます。
これをポーリングと呼び、定期的なポーリングを行うことで監視対象機器の変化やエラーに気づくことができます。
※対象機器のオブジェクトの変化を監視することをメトリック監視と呼びます。
一方で対象機器が応答するかどうかを継続的に監視することを死活監視と呼びます。
ち・な・み・に
SNMPマネージャ側から情報を取りに行くの動作を「
SNMPポーリング」、
SNMPエージェント側から自発的に情報を送る動作を「SNMPトラップ」と呼びます。
障害発生時にトラップなどで通知設定をすることが基本です。
SNMPマネージャーからのポーリングによりSNMPエージェントは機器の情報をMIBと呼ばれる自身のデータベース上から取得しています。
・
MIB(Management Information Base)
簡単に言うとMIBはネットワーク上の機器を管理するデータベースの一つです。
SNMPを使って機器を管理する場合、メーカーごとに仕様がバラバラだと、どのようなSNMPコマンドを送ればよいのかわかりません。
そこで、異なるメーカーでも同一のポリシーで管理情報を共有できるように、MIBというデータベースフォーマットが決められました。
またMIBを話すうえで欠かせないオブジェクトID(OID)があります。
・
OID
MIB上に存在する機器を区別するために割り当てられる識別番号を指します。
例:1.3.6.1.2.1.1
※ここら辺語ると脱線するので必要になったらその都度調べてみてください。
動きをまとめると
マネージャーはポーリングによりエージェントが管理しているMIBから情報を引き出しており、対象機器のOIDによりオブジェクトの状態の回答をしています。
そして障害発生時にエージェント側がトラップをマネージャー側に通知してくれるイメージです。
SNMPマネージャー →(ポーリング)→ SNMPエージェント(監視対象サーバー、機器)
←(トラップ) ←