Solaris WBEM Services の管理

付録 B Solaris スキーマ

インストール時に CIM Object Manager は、/usr/sadm/mof/ ディレクトリにある MOF ファイルをコンパイルします。MOF ファイルは CIM スキーマや Solaris スキーマを記述するファイルです。CIM スキーマファイルには、Common Information Model の Core Model と Common Model が実装されています。このファイル名の一部には CIM が使用されています。Solaris スキーマファイルには、Common Information Model に対する Solaris 拡張が実装されています。このファイル名の一部には Solaris が使用されています。この付録では次の Solaris スキーマファイルについて説明します。

Solaris スキーマファイル

次の表に、/usr/sadm/mof/ にある Solaris スキーマファイルの簡単な概要を示します。

表 B-1 Solaris スキーマファイル
 Solaris スキーマファイル 説明
Solaris_Schema1.0.mof

Solaris スキーマのすべてのコンポーネントを読み込む。Solaris スキーマの各 MOF ファイルを実行する順序を指定する 

Solaris_Core1.0.mof

WBEM のコア機能を実装する。これにより、ユーザーはロケール、修飾子、プロバイダを設定できる 

Solaris_Application1.0.mof

Solaris のパッケージやパッチを CIM に作成する 

Solaris_System1.0.mof

システムに対する Solaris スキーマコンポーネントを作成する。これらのコンポーネントは、システムのオペレーティングシステムやプロセスなど。Solaris_Process や Solaris_OperatingSystem の定義によって CIM スキーマの定義を拡張する 

Solaris_Device1.0.mof

コンピュータが CIM Object Manager とともに動作するように、システムのプロセッサを記述する 

Solaris_Acl1.0.mof

ユーザー ACL の基底クラスと修飾子を設定する 

ファイルの詳細は、下記の各項を参照してください。

Solaris_Schema1.0.mof ファイル

Solaris_Schema1.0.mof ファイルは、Solaris スキーマに属するすべての MOF ファイルの最上位レベルのコンテナです。このファイルには、MOF ファイルがコンパイル順に表示されています。コンパイルによって生成される Java クラスは CIM Object Manager に送信されます。CIM Object Manager は、それらの Java クラスをイベントとして規定するか、CIM Object Manager Repository に送信し、オブジェクトとして格納します。次のコードは、Include 宣言がコンパイル順に指定されています。

// ===================================================================
// Title:       Solaris Master MOF 1.0
// Filename:    Solaris_Schema1.0.mof
// Version:     1.0
// Author:      Sun Microsystems, Inc.
// Date:        02/01/1999
// Description:
 
 
// ===================================================================
// ===================================================================
// Includes
// ===================================================================
#pragma Include ("usr/sadm/mof/Solaris_Core1.0.mof")
#pragma Include ("usr/sadm/mof/Solaris_Application1.0.mof")
#pragma Include ("usr/sadm/mof/Solaris_System1.0.mof")
#pragma Include ("usr/sadm/mof/Solaris_Device1.0.mof")
//#pragma Include ("/opt/SUNWconn/wbem/schema/Solaris_Physical1.0.mof")
#pragma Include ("usr/sadm/mof/Solaris_Acl1.0.mof")
 

コンパイラは、Solaris_Schema1.0.mof ファイルの宣言を 1 行ずつ解析し、Include ステートメントに指定されたファイルをコンパイルします。このようにしてコンパイラは、Solaris_Schema1.0.mof ファイルに記述されているすべてのファイルをコンパイルします。

Solaris_Core1.0.mof ファイル

Solaris_Core1.0.mof ファイルは、Solaris_Schema1.0.mof ファイルの次にコンパイルする Solaris スキーマファイルです。このファイルには、Solaris Provider の Solaris_ComputerSystemSolaris_SerialPortSetting 部分の定義が含まれています。この定義には、LogRecordSolaris_ProductSolaris_LogService などがあります。

Solaris_ComputerSystem の定義

Solaris_Core1.0.mof ファイルの最初のセクションでは、Solaris_ComputerSystem の定義を CIM_UnitaryComputerSystem クラスの拡張として設定します。

[Provider("com.sun.wbem.solarisprovider.Solaris")]
class Solaris_ComputerSystem:CIM_UnitaryComputerSystem
{
}; 

Solaris_SerialPortSetting とロギングの定義

Solaris_SerialPortSetting 定義では、CIM_SerialPortSetting クラスを Solaris オペレーティング環境に拡張します。Solaris_LogRecord クラスでは、WBEM システムログに書き込めるデータの型を定義します。

 
 [Provider ("com.sun.wbem.solarisprovider.Solaris")] 
class Solaris_SerialPortSetting:CIM_ElementSetting
{
        [override("Element")] 
    Solaris_SerialPort REF Element;
       [override("Setting")] 
    Solaris_SerialPortConfiguration REF Setting;
};
 
	[Provider ("com.sun.wbem.solarisprovider.Solaris")]
class Solaris_LogRecord 
{
 

WBEM システムログは、アプリケーションログ、システムログ、セキュリティログという 3 つの一般的なカテゴリに分類できます。ログレコードには、情報ログ、警告ログ、エラーログといった異なる重要度レベルが割り当てられます。アプリケーションの中で Solaris_LogRecord 呼び出しを使ってロギングを有効にする方法については、第 5 章「イベントのロギング」 の「API によるロギングの有効化」を参照してください。

すべてのログレコードには、Solaris_LogRecord クラスに定義されている標準形式を使用します。Solaris_LogRecord のプロパティには、アプリケーションからログレコードに渡されるデータの型が指定されています。CIM Object Manager や CIM Object Manager Repository は、記録されるデータを識別するためにデータの一部を必要とします。このようなプロパティには、読み取り専用であることを示すために [read, key] 修飾子が付けられます。このようなプロパティのデータは表示できますが、変更はできません。次のリストは、Solaris_Core1.0.mof ファイルの Solaris_LogRecord に割り当てられるプロパティを示しています。

{
	[read, key]
	sint64 RecordID;
 
	[read, key]
	sint32 RecordHashCode;
 
	[read, key]
	string Filename;
 
	[read]
	datetime RecordDate;
 
	[read, write]
	sint32 category;
 
	[read, write]
	sint32 severity;
 
	[read, write]
	string AppName;
 
	[read, write]
	string UserName;
 
	[read, write]
	string ClientMachineName;
 
	[read, write]
	string ServerMachineName;
 
	[read, write]
	string SummaryMessage;
 
	[read, write]
	string DetailedMessage;
	[read, write]
	string data;
 
	[read, write]
	boolean SyslogFlag;
};

Solaris_LogRecord のプロパティを定義したら、Solaris_LogService クラスを CIM_Service の拡張として定義します。Solaris_LogService ではロギングサービスの操作を制御します。

	[Provider ("com.sun.wbem.solarisprovider.Solaris")]
class Solaris_LogService : CIM_Service
{

Solaris_LogService クラスに指定するそれぞれの関数では、ログファイルのデータをどのように処理するかを定義します。たとえば、clearLog 関数では、ログファイルのすべてのデータを消去し、ログファイルを一新して新しいデータを受け取れるようにします。

{
	sint32 clearLog([IN] string fileName);
 
	sint64 getNumRecords([IN] string fileName, [OUT] sint64 numRec);
 
	sint32 listLogFiles([OUT]string logFiles[]);
 
	sint32 getCurrentLogFileName([OUT] string fileName);
 
	sint32 getNumLogFiles([OUT] sint32 numFiles);
 
	sint64 getLogFileSize([OUT] sint64 fileSize);
 
	sint32 getSyslogSwitch([OUT] string switch); 
 
	sint32 getLogStorageName([OUT] string fileName); 
 
	sint32 getLogFileDir([OUT] string dirName); 
 
	sint32 setProperties([IN] string data[]); 
};

Solaris_LogServicePropertiesクラスでは、ログファイルの次の属性を制御します。

Solaris_Application1.0.mof ファイル

Solaris_Application1.0.mofファイルでは、Solaris スキーマを拡張するアプリケーションパッケージやパッチを設定します。

パッケージ

Solaris_Application1.0.mof ファイルには、標準の Solaris パッケージを表すクラスが含まれています。これらのパッケージは、Solaris オペレーティング環境に個別にインストールしたり、削除したりすることができます。

次の表は、設定できるアプリケーションパッケージの属性です。pkginfo フィールドは、pkginfo コマンドを実行したときにパッケージ属性が表示されるフィールド、説明はパッケージ属性の説明です。

表 B-2 指定可能なパッケージ情報
 パッケージ属性pkginfo フィールド 説明

名前 

PKGINST

パッケージに付ける名前。通常、名前は、ベンダー名を表す 3〜4 文字の大文字とパッケージを固有に識別する 5 文字までの小文字で表す 

説明 

DESC

パッケージの簡単な説明を文字列で指定する 

キャプション 

NAME

パッケージの簡単な追加の説明を文字列で指定する 

カテゴリ 

CATEGORY

パッケージに含まれる情報の種類。これは、パッケージにビデオアプリケーション、グラフィックアプリケーション、Java アプリケーションなどが含まれる場合に使用する。カテゴリは自由形式の文字列で、通常、文字列には systemapplication などの単語が含まれる。カテゴリ文字列には、複数の単語をコンマで区切って指定できる。値としては、ALE, graphics, java, video, JFP, SyMON. などが指定できる

アーキテクチャ 

ARCH

このパッケージが適用されるシステムアーキテクチャ。アーキテクチャ属性は文字列かその列挙。マニュアルページだけからなるパッケージなど汎用テキストパッケージを指定する場合は、all を使用する。バイナリを表す場合は、プロセッサタイプを示す sparci386 を使用する。カーネルを表す場合は、プロセッサタイプのサブタイプを示す sparc.sun4u を使用する

ベースディレクトリ 

BASEDIR

パッケージがインストールされているトップレベルのディレクトリを示す有効な UNIX のパス 

メーカー 

VENDOR

製品の製造メーカー 

ビルド番号 

PSTAMP

ビルドホスト名とタイムスタンプを含む文字列 

インストール日付 

INSIDE

オペレーティングシステムがインストールされた日付と時刻 

パッケージの状態 

STATUS

パッケージが完全にインストールされているかどうかを示す値。unknowncompletely installedpartially installed のいずれか

サポート情報 

HOTLINE

サポートが必要なときの連絡先を示す文字列 

パッチ

Solaris_Application1.0.mof ファイルでは、さらに、アプリケーションの問題や更新バージョンに対する修正をパッチの形で提供します。次の表は、指定できるパッチの属性とその説明です。

表 B-3 提供可能なパッチ情報
 パッチ属性 説明
 廃止 廃止されたパッチや現在のパッチに統合されているパッチを示す
 必須 現在のパッチが動作するために必要なパッチのリスト
 非互換 現在のパッチと互換性のないパッチのリスト
 メーカー メーカー名のリスト
 インストール日付 パッチがインストールされた日付と時刻を示す日付/時刻を示す値

Solaris_System1.0.mof ファイル

Solaris_System1.0.mof ファイルでは、Solaris_Process クラスと Solaris_OperatingSystem クラスを定義します。

// ==================================================================
// Solaris_Process
// ==================================================================
 
 [Provider("Solaris"),
  Description ("A Solaris process that is running.")
 ]
class Solaris_Process:CIM_Process
{
};
 
// ==================================================================
// Solaris_OperatingSystem
// ==================================================================
 
 [Provider("Solaris"),
  Description ("The Solaris Operating System.")
 ]
class Solaris_OperatingSystem:CIM_OperatingSystem
{
};
 

Solaris_Device1.0.mof ファイル

Solaris_Device1.0.mof ファイルでは、次のクラスが定義されます。

Solaris_Processor

Solaris_ProcessorCIM_Processor の拡張として次のプロパティで定義されます。

class Solaris_Processor:CIM_Processor
{
    string Name;
    string Description;
    string Architecture;
    string ClockSpeed;
    string SparcVersion;
    uint32 D_Cache;
    uint32 E_Cache;
    uint32 I_Cache;
};

Solaris_DiskDrive

現在、Solaris_DiskDrive に対し次のクラス定義されています。

]
class Solaris_DiskDrive:CIM_DiskDrive
{

Solaris_SerialPort

Solaris_SerialPort クラスはブール値プロパティとして定義されているため、ボーレートやパリティなどのシリアルポート特性をポートでどのように処理するかを制御できます。

// ==================================================================
// Solaris_SerialPort
// ==================================================================
 
 [Provider("com.sun.wbem.solarisprovider.Solaris"),
  Description (
               "This is the MOF file that defines a Solaris serial port.")
 ]
class Solaris_SerialPort:CIM_SerialController
{
	[read]
    boolean ServiceEnabled;
	[read]
    boolean SettableBaudRate;
        [read] 
    boolean SettableDataBits;
        [read] 
    boolean SettableFlowControl;
        [read] 
    boolean SettableParity;
        [read] 
    boolean SettableParityCheck;
        [read] 
    boolean SettableStopBits;
        [read] 
    boolean SupportsParityCheck;
        [read] 
    boolean SupportsXOnXOff;
        [read] 
    boolean SupportsXOnXOffSet;
	[read]
    string PortMonitor;
	[read]
    string ServiceTag;
	[read]
    string Comment;
    boolean DisablePortService();
};

Solaris_PortConfiguration

Solaris_PortConfiguration のプロパティでは、データの値をユーザーが表示したり、変更したりできるかどうかを指定します。

[Provider ("Solaris") ]  
class Solaris_SerialPortConfiguration:CIM_Setting 
{ 		
[read, write] 	
boolean ServiceEnabled; 		 		
[read, write] 	
uint32 BaudRate;  		
[read, write] 	
string TerminalType;  		
[read, write] 	
boolean TTYFlag_Init;  		
[read, write] 
boolean TTYFlag_Bidirectional; 		 		
[read, write] 	
boolean TTYFlag_CarrierConnect;  		
[read, write] 	
boolean SoftwareCarrier;  		
[read, write] 	
boolean CreateUtmp; 		 		
[read, write] 	
string LoginPrompt;  		
[read, write] 	
string Comment;  		
[read, key] 	
string ServiceTag; 		 		
[read, key] 	
string PortName;  	
[read] 	
string deviceName;  		
[read, write] 	
string PortmonTag;  		
[read, write] 	
string ServiceProgram;  		
[read, write] 	
string StreamsModules;  		
[read, write] 	
string Timeout; };  

Solaris_Acl1.0.mof ファイル

このファイルでは Solaris WBEM Services のセキュリティクラスを指定します。このファイルには、Solaris オペレーティング環境のアクセス制御リスト、ユーザー、およびネームスペースの基底クラスが定義されます。このファイルについては、第 3 章「セキュリティの管理」の「API によるアクセス制御の設定」を参照してください。Solaris WBEM Services のセキュリティ機能については、第 3 章「セキュリティの管理」を参照してください。