マスターエージェントの状態ファイルには、マスターエージェントによって生成されたさまざまなサブエージェントに関する情報が保存されています。マスターエージェントのみがこのファイルを使用します。マスターエージェントはこのファイルに情報を動的に追加します。そのため、その情報を自分で編集する必要はありません。マスターエージェントがサブエージェントのプロセスを生成するたびに、このファイルにエントリが作成されます。このファイルは、マスターエージェントに障害が生じて動作しなくなってしまった場合に、マスターエージェントを復旧するためのものです。マスターエージェントを再起動すると、このファイル内のエントリによって、以前に作成されたサブエージェントや対応するポート番号が示されます。マスターエージェントは、このファイル内の各エントリを読み込み、それをマスターエージェントのリソース構成ファイル内のエントリと比較します。そのエントリがリソースファイル内になければ、マスターエージェントはそのプロセスを終了します。エントリが両方のファイル内に存在する場合、マスターエージェントはポートを使用してサブエージェントへのアクセスを試みます。
Solstice Enterprise Agents 技術を有効利用するために、サン・マイクロシステムズ社固有のエンタープライズ MIB OID 配下にテーブルが 3 つ定義されています。次のテーブルの例は、すべてのサブエージェントの管理特性を提供するためのものです。このテーブル内の情報で、サブエージェントに固有の情報を提供しています。このテーブルには、サブエージェントの名前とサブエージェントのポート番号が収められています。各サブエージェントによって管理されているサブツリーの OID の例は示してありません。
すべての種類の MIB 変数を含む MIB の例を次に示します。MIB にはテーブルも組み込まれています。この MIB が mibcodegen を通じて実行されると、適切な MIB データベースとスタブコードが生成されます。これによって、この MIB のサブエージェントが構築されます。
DEMO-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, Counter32, Gauge32 FROM SNMPv2-SMI DisplayString, TimeStamp FROM SNMPv2-TC; mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } sun OBJECT IDENTIFIER ::= { enterprises 42 } demo OBJECT IDENTIFIER ::= { sun 1000 } -- -- Some objects -- demoString OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write object of type String." ::= {demo 1} demoInteger OBJECT-TYPE ::= {demoTable 1} DemoEntry ::= SEQUENCE { demoEntryIndex INTEGER, demoEntryString DisplayString, demoEntryInteger INTEGER, demoEntryOid OBJECT IDENTIFIER } SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write object of type Integer." ::= {demo 2} demoOid OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write object of type Oid." ::= {demo 3} -- A table composed of some columns demoTable OBJECT-TYPE SYNTAX SEQUENCE OF DemoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table." ::= {demo 10} demoEntry OBJECT-TYPE SYNTAX DemoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table demoTable." INDEX {demoEntryIndex} demoEntryIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index to uniquely identify the entry." ::= {demoEntry 1} demoEntryString OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write column of type String." ::= {demoEntry 2} demoEntryInteger OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write column of type Integer." ::= {demoEntry 3} demoEntryOid OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-write STATUS current DESCRIPTION "A read-write column of type Oid." ::= {demoEntry 4} demoTrap TRAP-TYPE ENTERPRISE sun VARIABLES { demoInteger, demoString, demoOid} DESCRIPTION " Trap for testing." ::= 2 demoColdLinkTrap TRAP-TYPE ENTERPRISE snmp DESCRIPTION " Trap for testing." ::= 0 END