Solaris WBEM Services の管理

アダプタの構成と SNMP から CIM オブジェクトへのマッピング

構成ファイル

この節では、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 に組み込まれているマッピングファイルの内容

この例は、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.map050SUNWwbcou.map より前に読み取られます。


注 -

少なくとも root は、独自に作成したマッピングファイルを読み取ることができるようにする必要があります。

$ chmod 400 002SUNWlvma.map


マッピングファイルの内容の構文

次の表に、マッピングファイルの内容の要素と構文を示します。

表 3-1 マッピングファイルの内容

要素 

説明 

必須か 

# 

コメント。いつも無視される 

いいえ 

Version 1.0

マッピングファイルのバージョン。バージョンを示すテキスト文字列を、コメント以外の最初の行に指定しなければならない。このとおりにバージョンを指定しない場合、そのマッピングファイルは無視される 

はい 

1.3.6.1.2.1.1.1.0

SNMP オブジェクト識別子 (OID) で、SNMP 要求から抽出したいキー。SNMP OID は、SNMP 変数を記述している。アダプタは現在、スカラーだけをサポートしているため、OID は必ずテキスト文字列 .0 で終わる

はい 

Solaris_ComputerSystem

変数に関連付けられる CIM クラス名 

はい 

Description

指定されたクラスの特性を定義し、SNMP OID 変数に対応付ける、CIM プロパティ名 

はい 

SnmpString

ASN.1 データ型。指定できる値と、その指定による対応付けは、次のとおり:

  • SnmpString – 文字列、数値または CIM の LocalDateTimeSnmpString に移動する

  • SnmpInt – CIM の数値データ型 (数値形式の文字列を含む) を SnmpInt (符号付き、32 ビット整数) に移動する

  • SnmpCounter – CIM の数値データ型 (数値形式の文字列を含む) を SnmpCounter (符号なし、32 ビット整数) に移動する

  • SnmpGauge – CIM の数値データ型 (数値形式の文字列を含む) を SnmpGauge (符号なし、32 ビット整数) に移動する

  • SnmpTimeticks – 時刻の差 (100 分の 1 秒単位で表現) を SnmpTimeticks に移動する。この値は、CIM の値を現在の時刻から減算することによって計算される。たとえば、sysUpTimecurrentTime から bootTime を減算することによって計算される

  • SnmpIpAddress – 文字列を SnmpIpAddress に移動する。文字列は、IP アドレス形式で指定しなければならない

  • SnmpOid – 文字列を SnmpOid に移動する。文字列は、OID 形式で指定しなければならない

  • SnmpOpaque – バイトのベクトルを SnmpOpaque に移動する

はい