この節では、WBEM 用 SNMP アダプタを構成するために使用するファイルについて説明します。そのファイルは、 /etc/snmp/conf/ にあります。
snmpXwbem.acl では、アダプタに関連付けられるアクセス制御リストの方針を、次の書式で定義します。
#pragma ident "@(#)snmpXwbem.acl 1.2 01/04/18 SMI"
#Copyright (c) 2001 by Sun Microsystems, Inc.
#All rights reserved.
# WBEM の SNMP サブエージェントの構成ファイル
##################
# アクセス制御 #
##################
# MIB 全体に対する読み取りおよび書き込みアクセスに必要な
# コミュニティ名のリスト
# リストが空の場合、有効なコミュニティ名は "public" だけで、
# そのアクセスタイプは読み取り専用
#
# managers リストに * がある場合は、任意のホストから
# 要求を受け取り可能であることを示している
acl = {
{
communities = public, private
access = read-only
managers = *
}
}
###################
# トラップパラメータ #
###################
trap = {
}
複数のコミュニティおよびマネージャをコンマで区切って指定できます。アクセス方針は読み取り専用です。空の trap 句が必要です。Solaris 9 では、アダプタによってトラップはサポートされません。
snmpXwbem.reg では、アダプタが担当するサブツリーのオブジェクト識別子 (OID) を、次の書式で定義します。
#pragma ident "@(#)snmpXwbem.reg 1.3 01/10/04 SMI"
#
#Copyright (c) 2001 by Sun Microsystems, Inc.
#All rights reserved.
# WBEM の SNMP サブエージェントの構成ファイル
##########
# マクロ #
##########
# 次の 3 つのマクロが事前に定義されている
#
# mib-2 = 1.3.6.1.2.1
# enterprise = 1.3.6.1.4.1
# sun = 1.3.6.1.4.1.42
#
# 独自のマクロを定義すれば、エージェントを定義するときに、
# OID ではなく文字列を操作できる
# このあとのエージェントセクションを参照
macros = {
system = mib-2.1
hostRsrc = mib-2.25
}
#############
# エージェント#
#############
# 次のフィールドは必ず指定する必要がある
#
# - name: エージェントの名前 (たとえば、エージェントの
# 実行可能ファイルの名前)
#
# - subtrees: エージェントがサポートしている OID / OID のサブツリーの
# リスト。リストに含める項目はコンマで区切らなければならない
#
#
# さらに、次のフィールドを変更または追加できる
#
# - timeout: SNMP Relay がエージェントからの応答を待機する
# マイクロ秒数
#
# - watch-dog-time: サブエージェントがアクティブかどうかをテストするために
# SNMP Relay が待機する秒数。watch-dog-time に指定された秒数
# の間、何かの活動があったかどうかがテストされる
#
# - port: エージェントを起動する UDP ポート番号
#
agents =
{
{
name = "WBEMsubagent"
subtrees = { system, hostRsrc }
timeout = 20000000
watch-dog-time = 240
}
}
timeout の単位はマイクロ秒です。watch-dog-time の単位は秒です。デフォルトでは、マスターエージェントは 4 分 (または、watch-dog-time に設定された秒数) ごとにアダプタを起動しようとします。
マスターエージェントは、アダプタによって使用されるポートを自動的に判別します。
snmpXwbem.rsrc- では、登録ファイルへのポインタを定義し、SNMP マスターエージェントがアダプタをどのように起動するかを次のような書式で定義します。
#pragma ident "@(#)snmpXwbem.rsrc- 1.2 01/04/18 SMI"
#Copyright (c) 2001 by Sun Microsystems, Inc.
#All rights reserved.
# WBEM の SNMP サブエージェント構成ファイル
##############
# エージェント #
##############
resource =
{
{
registration_file = "/etc/snmp/conf/snmpXwbem.reg"
security = "/etc/snmp/conf/snmpXwbem.acl"
policy = "spawn"
type = "legacy"
command = "/usr/sadm/lib/wbem/snmpXwbemd -p $PORT"
}
}
マスターエージェントが Get 要求を WBEM 用 SNMP アダプタに渡すと、アダプタは、/var/sadm/wbem/snmp/map にあるマッピングファイルを使用して、その Get 要求を CIM オブジェクト要求に変換します。Solaris オペレーティング環境では、マッピングファイルがこのディレクトリに組み込まれています。さらに、SNMP Manager を使用して表示したい CIM 計測について、独自のマッピングファイルを定義することもできます。
この節では、Solaris オペレーティング環境が提供しているマッピングファイルの内容を紹介し、アダプタのマッピングファイルを作成するために知っておく必要のある事項を説明します。
この例は、Solaris オペレーティング環境に組み込まれているマッピングファイルの内容を示しています。
# #pragma ident "@(#)050SUNWwbcou.map 1.0 01/04/03 SMI" # # Copyright (c) 2001 by Sun Microsystems, Inc. # All rights reserved. # # *** 内容の説明 *** # # コメント行とブランク行以外の最初の行は、必須のバージョンラベルを含む # それ以降のコメント行とブランク行以外の行は、マッピング項目とみなされ、このあとの # 説明に従って利用される # # 列 1 - SNMP OID - SNMP 変数を一意に記述する # 例 2 - CIM クラス名 - この変数に関連付けられた CIM クラス # 列 3 - CIM プロパティ名 - SNMP OID 変数に対応する CIM プロパティ # 列 4 - ASN.1 型 - SNMP 要求との間でデータがどのように対応付けられるかを示す # SNMP データ型。サポートされている型: SnmpString、SnmpOid、 # SnmpTimeticks、SnmpCounter、SnmpInt、SnmpGauge、SnmpIpAddress、 # SnmpOpaque # 列 5 以降は無視される # Version 1.0 1.3.6.1.2.1.1.1.0 Solaris_ComputerSystem Description SnmpString 1.3.6.1.2.1.1.3.0 Solaris_OperatingSystem LastBootUpTime SnmpTimeticks 1.3.6.1.2.1.1.4.0 Solaris_ComputerSystem PrimaryOwnerContact SnmpString 1.3.6.1.2.1.1.5.0 Solaris_ComputerSystem Name SnmpString 1.3.6.1.2.1.25.1.5.0 Solaris_OperatingSystem NumberOfUsers SnmpGauge 1.3.6.1.2.1.25.1.6.0 Solaris_OperatingSystem NumberOfProcesses SnmpGauge 1.3.6.1.2.1.25.1.7.0 Solaris_OperatingSystem MaxNumberOfProcesses SnmpGauge 1.3.6.1.2.1.25.1.2.0 Solaris_OperatingSystem LocalDateTime SnmpString |
このマッピングファイルの内容は、SNMP MIB-2 システムグループのスカラーオブジェクトを、それぞれ対応する CIM オブジェクトに関連付けています。
|
MIB-2 システムグループのスカラーオブジェクト |
CIM オブジェクト |
|---|---|
|
sysDescr |
Solaris_ComputerSystem.Description |
|
sysUpTime |
Solaris_OperatingSystem.LastBootUpTime |
|
sysContact |
Solaris_ComputerSystem.PrimaryOwnerContact |
|
sysName |
Solaris_ComputerSystem.Name |
さらに、このマッピングファイルの内容は、SNMP Host Resources MIB オブジェクトを、それぞれ対応する CIM オブジェクトに関連付けています。
|
SNMP Host Resources MIB オブジェクト |
CIM オブジェクト |
|---|---|
|
hrSystemNumUsers |
Solaris_OperatingSystem.NumberOfUsers |
|
hrSystemProcesses |
Solaris_OperatingSystem.NumberOfProcesses |
|
hrSystemMaxProcesses |
Solaris_OperatingSystem.MaxNumberOfProcesses |
|
hrSystemDate |
Solaris_OperatingSystem.LocalDateTime |
マッピングファイルの内容の構文については、「マッピングファイルの内容の構文」で説明します。
現在のところ、ホストリソースデータを取得する唯一の方法は、CIM Object Manager を使用することです。これは、Solaris が現在、SNMP Host Resource エージェントを提供していないためです。
アダプタが確実にマッピングファイルを読み取るようにするには、次の構文に従ってファイル名を付けます。
alphanumeric-string.map
alphanumeric-string は、英数字の文字列を表します。たとえば、Solaris が組み込んでいるマッピングファイルの名前は、次のとおりです。
050SUNWwbcou.map
アダプタが、より正確な順序でファイルを読み取るようにするため、先頭に 3 桁の数字を付けます。たとえば、002SUNWlvma.map は 050SUNWwbcou.map より前に読み取られます。
少なくとも root は、独自に作成したマッピングファイルを読み取ることができるようにする必要があります。
$ chmod 400 002SUNWlvma.map