SNMPエージェントとマネージャーについての説明

SNMPエージェントとマネージャーについての説明

SNMP について話すときに使用される用語の一部、特に MIB の責任者がエージェントなのか管理ステーションなのかを理解するのが困難です。

簡単なシナリオを見てみましょう:

  • 私は既知のOID(CPU使用率など)でLinuxマシンを監視します
  • CPU 使用率 OID の SNMP 要求を送信すると、その要求はエージェントと管理ステーションのどちらが処理するのでしょうか?
  • MIB からデータを読み取るだけであれば、ここでのエージェントの役割は何でしょうか?
  • エージェントには get 用の同期 API がありますが、ストレージに直接アクセスすると、なぜこの get が必要になるのでしょうか。

この単純な CPU OID の例を理解するのを手伝ってくれる人はいますか? そこで何が起こっているのでしょうか?

答え1

実のところ、とても簡単です。

SNMP エージェントは管理対象のマシン上で実行され、任意の方法 (エントリの読み取り/proc、IPC 経由でのプロセスとの通信、ファイルからの読み取り、または他の任意の方法) でマシンからデータを読み取る (および設定する) ことができます。次に、このデータを 1 つ以上の定義ファイル (MIB) に従って適切に構造化された方法で表現します。

管理ステーション (または SNMP クライアント) は、この MIB に従ってエージェントと通信し、エージェントからデータを読み取る (または設定する) ことができます。

さらに、一部のエージェント (通常は管理ステーションから要求された場合にのみ動作します) は、何らかの条件が満たされたときに管理ステーションにメッセージを送信してそのことを通知するように設定できます。これは SNMP トラップと呼ばれます。

CPUの例:

  • エージェントはマシン上で実行されており、システム データを読み取ることができます。
  • 管理ステーションは、CPU 負荷 OID のポーリング エージェントです。
  • エージェントは、この OID のデータを取得する方法を検索し、データ ポイント (CPU 負荷) を読み取って、それを管理ステーションに送り返します。

関連情報