エージェントはその状態をデバイス自体に保存しますか?
デバイスのオンまたはオフにデータを保存できます。どちらも可能で、どちらも完了しています。リモート デバイスに関する (キャッシュされた) 状態情報を格納するエージェントの問題は、管理システムが、エージェント内の (キャッシュされた) データが許容できる最新のものであるかどうかを本当に認識できないことです。信頼できない場合は、マネージャーを使用して同期をトリガーするか、リモート デバイスの状態やエージェントとリモート デバイス間の通信リンクをポーリングする必要があります。このゲームに取り掛かると、リモート デバイスにサブエージェントを配置し、標準の SNMP プロトコルを使用して情報を取得する方がよい場合がよくあります。
エージェントにトラップが設定されている場合、同じ OID でポーリングを実行して同じ情報を取得できますか?
ほとんどの適切に設計された MIB は、実際には、変更された MIB オブジェクトをそのままトラップに入れます。そうすれば、SNMP マネージャーは念のためにエージェントをポーリングする必要はありません。
そうは言っても、Entity-MIB のトラップには状態変数がありません。ただし、その MIB はシェルフ、カード、ポートなどの物理的なインベントリを記述するために使用され、トラップは物理的な構成が変更された場合にのみスローされます。この場合、完全な新しい物理構成を取得するために、SNMP マネージャーにエンティティ MIB を再度ウォークさせる必要があります。
mib ファイルを使用せずに、デバイスのすべての情報を一度に照会する方法はありますか?
はい。独自のカスタム MIB を展開し、必要なものを入れます。デバイス構成全体を 1 つの MIB オブジェクトに入れることができます。これの欠点は、構造を解析するために SNMP マネージャーにパーサーを作成する必要があることです。構造が変更された場合は、現在の値と以前の値の違いの意味を理解する必要があります。 . つまり、SNMP MIB を再発明します。ただし、非常に小さな MIB の場合は、これを行う価値があります。
おそらく、SNMP GET-BULK を使用するか、オブジェクトが返されなくなるまで SNMP-GET-NEXT を連続して呼び出して MIB ウォークを実行する方がよいでしょう。
そうでない場合、独自のカスタマイズされたマネージャーを作成している場合、事前に報告する内容の構造を知る必要がありますか?
「カスタマイズされたマネージャー」をシンプルに保ちたい場合は、構造を前もって知っておく必要があります。柔軟性が必要な場合は、構造をエンコードするための構造記述言語が必要です。マネージャーは、エージェント データからこれをデコードしてマネージャーに入力し、マネージャーからデータを取得してエンコードできる必要があります。この形式でエージェントに送信します。つまり、SNMP/SMI、CMIP/CMISE、CIM、およびすでに展開されているその他の管理システムとプロトコルのホストを再発明します。
報告するようにエージェントを設定している場合、通常、エージェントがトラップを送信する頻度を制御する方法はありますか? それとも、通常、何らかの条件が満たされるたびにトラップを送信しますか?
これは良い質問です。ネットワークが最も必要なときにトラップ ストームによってネットワークが輻輳することがよくあるからです。そのため、プロビジョニングするネットワークの量を予測することは困難です。
トラップは慎重に使用してください。たとえば、Entity-MIB には 1 つのトラップしかなく、物理構造の変化を報告するため、そのトラップを使用する価値があります。Interfaces-MIB には、ポートごとに潜在的に多くのトラップがあります。この MIB では、物理ポートにバインドされたインターフェイスのトラップを有効にするだけで、下位層のインターフェイスの上にスタックされたインターフェイスのトラップを有効にするのが最善です。大規模なネットワークの場合、多くの場合、ポーリングと物理機器および物理インターフェイスのトラップを組み合わせて使用するのが最善です。こうすることで、通常の運用時またはネットワーク障害時に、管理トラフィックに使用されるネットワークの量を予測できます。
一部の標準 MIB では、トラップをスローできる頻度またはタイミングが指定されています。それでよろしければ、ご利用ください。マネージャが特定のトラップを抑制できる構成 MIB オブジェクトを使用して、独自のエンタープライズ MIB をいつでも展開できます。