Sun Management Center 3.5 ユーザーガイド

第 19 章 トポロジ情報のインポートとエクスポート

トポロジのインポートユーティリティとエクスポートユーティリティにより、トポロジデータベースを、XML マークアップ形式の ASCII ファイル からインポートおよびエクスポートできます。インポートユーティリティは、ファイルからデータを読み取り、トポロジデータベースとトポロジのエージェントオブジェクトのデータを更新します。エクスポートユーティリティは、これと逆の操作を行います。

この章の内容は、次のとおりです。

トポロジのインポートとエクスポートの概念

トポロジのインポートユーティリティとエクスポートユーティリティは、次のタスクを実行する際に使用されます。

これらの機能へは、Sun Management Center のコンソールメインウィンドウまたは CLI からアクセスできます。ただし、アクセスするためには完全なトポロジデータと、インポートまたはエクスポートするドメインを指定しなければなりません。以下に、このツールがサポートするデータ操作 (上書き、最後に追加など) を示します。

トポロジのインポートとエクスポートアーキテクチャ

トポロジのインポートユーティリティとエクスポートユーティリティは、クライアント API を介して Sun Management Center のサーバと通信します。インポートとエクスポート ASCII ファイルはコンソールシステム上に常駐し、クライアント API 経由で情報をサーバに送信します。サーバは、トポロジデータベースと対話するトポロジエージェントにその情報を送信します。次の図は、これらのユーティリティをサポートするソフトウェア構造を示したものです。

図 19–1 トポロジのインポートとエクスポート用ソフトウェア構成

インポートおよびエクスポートファイルとコンソール側のインポートおよびエクスポートツールの通信経路を示した図。 インポートおよびエクスポートツールはサーバ側のトポロジエージェントを通してデータベースに通信している。

エクスポートには、2 つのモード (追加と上書き) が用意されています。上書きモードでは、既存ファイルの内容がダンプされたデータに置き換わります。追加モードでは、ダンプされたデータがファイル末尾に追加されます。

インポートには、ダンプファイル内のドメイン情報を処理する 2 つのモードが用意されています。最初のモードは、ドメイン情報を無視して、全てのオブジェクトを指定ドメインまたはホームドメインで作成します。もう一方のモードは、全てのオブジェクトと一緒にドメイン情報をインポートします。この場合、新規のドメインが作成され、全ての非ドメインオブジェクトが対応するドメインで作成されます。

トポロジ情報のエクスポート

トポロジのエクスポートユーティリティは、メインコンソールウィンドウまたは CLI から開始できます (インポートとエクスポートのコマンド行インタフェースを参照してください)。

メインコンソールウィンドウからトポロジデータをエクスポートする

    メインコンソールウィンドウの「ツール」メニューから「トポロジのエクスポート」を指定します。

    「トポロジのエクスポート」ダイアログボックスが表示されます。

    「エクスポートするドメイン名」リストからドメインを選択します。

    トポロジエージェントによって管理される全ドメインを表示したリストから、エクスポートするドメインを 1 つ選択します。複数のドメインをエクスポートする場合は、最後に追加するモードでエクスポート操作を繰り返します。

    エクスポートするファイル名を入力するか、「参照」ボタンを使用して既存ファイルを選択します。

    ファイルをエクスポートするには、ファイルの書き込みまたはファイル作成のアクセス権が必要です。このアクセス権がない場合は、エラーメッセージが表示されて操作が終了します。

    データを既存ファイルの最後に追加するか上書きするかを決定します。

    最後に追加するモードはファイルの末尾にデータを付加し、上書きモードはファイルを上書きします。最後に追加するモードをエクスポートに使用する場合、ファイルに対してより制限的なチェックが行なわれます。既存ファイルは、有効なインポートとエクスポートのデータファイルでなければなりません。有効なデータファイルとは、適正なインポートおよびエクスポートファイルの文書型宣言 (DTD) を備えた、完全な XML 形式のファイルを指します。

    「有効日数」メニューから、データの有効日数を指定します。

    選択可能な値は次のとおりです。

    • 7 日

    • 15 日

    • 30 日

    • 90 日

    デフォルトでは、トポロジのエクスポートデータの有効日数は無制限です

    (省略可能)

    (省略可能) エクスポート関数についてのコメントを入力します。

    「了解」をクリックしてデータを指定ファイルにエクスポートし、「トポロジのエクスポート」ウィンドウを閉じます。

トポロジ情報のインポート

トポロジのインポートユーティリティは、メインコンソールウィンドウまたは CLI から開始できます (インポートとエクスポートのコマンド行インタフェースを参照してください)。

ファイルからトポロジデータをインポートする

    メインコンソールの「ツール」メニューから「トポロジのインポート」を選択します。

    「トポロジのインポート」ウィンドウが表示されます。

    インポートするトポロジデータを含むファイルのフルパス名を入力します。


    ヒント –

    「参照」ボタンを使用してファイルを検索することもできます。


    トポロジ全てをインポートするか、グループとエンティティだけをインポートするかを決定します。

    • ドメイン情報を維持 – グループとドメイン情報をインポートします。グループとエンティティは、ファイル内のドメインで作成されます。

    • ドメイン情報を無視 – ドメイン情報を無視して、グループとエンティティだけをユーザが指定したドメインにインポートします。

    「ドメイン名」リストから、データのインポート先となるドメインを選択します。

    デフォルトでは、全てのデータがホームドメインにインポートされます。


    注 –

    上記でドメイン情報を無視オプションを選択した場合は、データのインポート先をトポロジ階層で指定できます。


    「了解」をクリックしてデータをインポートし、「トポロジのインポート」ウィンドウを閉じます。

    インポートユーティリティはトポロジデータベースを更新します。そのため、警告ダイアログボックスで確認してからデータをインポートします。

    警告ダイアログボックスには、入力ファイルの作成日時と作成者が表示されるので、正しいデータファイルが使用されていることを確認できます。

    さらに、次のようなチェックが行なわれます。

    • エクスポートされたデータファイルには、ファイルの有効期限に関する情報が含まれています。期限切れファイルをインポートしようとすると、エラーメッセージが表示されて作業が停止します。

    • インポートユーティリティは、ファイルが存在し、読み取り可能であることを確認します。確認に失敗すると、エラーメッセージが表示され作業が停止します。

    • インポートユーティリティは、インポートファイルが正しいファイル形式かどうかを解析します。不正の場合にはエラーメッセーが表示されます。

    • 現在のトポロジ階層にエンティティが存在すると、エンティティを置き換えるかどうか確認を求める警告ダイアログボックスが表示されます。次のオプションから 1 つ選択します。

      置き換え

      重複データを新規データに置き換えます。

      すべて置き換え

      重複データを全て置き換えます。データが再び重複してもダイアログボックスは表示されず、そのまま既存値が置き換えられます。

      ドメイン情報を無視

      重複データを更新しません。

      全て置き換え

      データが重複してもダイアログボックスは表示されません。重複データは全て無視されてそのまま残ります。

      インポートの取消し

      インポート操作を中止します。

インポートとエクスポートのコマンド行インタフェース

インポートユーティリティとエクスポートユーティリティは、コマンド行インタフェース (CLI ) から以下のコマンドで起動できます。


# /opt/SUNWsymon/sbin/es-cli
> login
ホスト: servername
ログイン: username
パスワード: password
ログインに成功しました
> export parameter
> import parameter

コマンドパラメータについての情報は、インポートコマンドパラメータエクスポートコマンドパラメータを参照してください。

トポロジのインポートユーティリティ

import コマンドは、特定ドメインにエクスポートされたトポロジデータを、ファイルから取り出します。

インポートコマンドパラメータ

import コマンドは、次のパラメータを使用します。

domain

domain パラメータの値は、インポートされるトポロジのドメイン名となります。ドメイン名の指定がない場合は、全てのドメインがインポートされます。

domainmode

domainmode パラメータの値は、インポートされたトポロジから新規ドメインを作成するかどうかを決定します。この値が follow の場合は、グループとドメイントポロジが現在のトポロジにインポートされ、新規のドメインが作成されます。また、この値が ignore の 場合は、グループとエンティティが指定ドメインにインポートされます。

filename

filename パラメータの値は、トポロジ情報を取り出すファイルの名前です。

nodemode

nodemode パラメータの値は、インポートされたトポロジが既存トポロジを上書きするかどうかを決定します。この nodemode パラメータ値が replaceの場合、重複データはインポート値に置き換えられます。また、nodemode パラメータ値が ignore の場合、重複データは更新されません。

コマンド行の明示的な割り当ては、パラメータファイルの同一の割り当てに優先されます。例えば、mode=ignore がコマンド行に割り当てられ、mode=follow がパラメータファイルに割り当てられた場合、mode=ignore が使用されます。


例 19–1 トポロジデータをファイルからインポートする

次の例では、すでにエクスポートされたトポロジを /home/examples/snapshot ファイルからインポートします。必要に応じて新規ドメインが作成され、重複データがインポートされたトポロジに置き換わります。


> import filename=/home/examples/snapshot domainmode=follow \
nodemode=replace

確認メッセージ

インポートユーティリティは、操作の実行前またはデータが重複すると、次のようなプロンプトを出します。

インポートコマンドの出力メッセージ

この節では、インポートコマンドの結果として表示されるメッセージについて説明します。


import: Done.

原因:

成功しました。

説明:

エクスポートに成功しました。


インポート: ファイル (ファイル名) が存在しません。

原因:

ファイルが存在しません。

説明:

指定されたファイルが存在しません。コマンド行が、インポートデータソースを提供するデータファイルと、パラメータリストを提供するパラメータファイルの両方に使用されている可能性があります。


インポート: アクセス権がありません。

原因:

アクセス権がありません。

説明:

ファイルを開いて読み込むことができません。


インポート: 不正なファイル形式です。

原因:

フォーマットが不正です。

説明:

ソースファイルが、データのエクスポートに有効なデータベースファイルではありません。


インポート: 追加しようとしているファイルは期限切れです。

原因:

データが期限切れです。

説明:

期限切れのデータを使用しています。


import: Authentication failed.

原因:

認証に失敗しました。

説明:

現在のユーザには、トポロジ階層でオブジェクトを作成する権限がありません。


import: Wrong parameter file.

原因:

パラメータファイルエラー

説明:

パラメータファイルは、name = 値r のペアで構成されなければなりません。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。


import: illegal parameter - < para>.


Use -h option to get usage.

原因:

パラメータが不正です。

説明:

インポート操作に不正なパラメータが指定されました。import -h で、使用可能なオプションとパラメータを確認してください。

トポロジのエクスポートユーティリティ

export コマンドは、単一ドメインまたは全ドメインのトポロジデータをファイルに保存します。

エクスポートコマンドパラメータ

export コマンドでは、次のパラメータを使用します。

comment

comment パラメータの値は、ファイルに含まれる注釈です。

domain

domain パラメータの値は、エクスポートされるトポロジのドメイン名です。ドメインの指定がない場合は、全てのドメインがエクスポートされます。

filename

filename パラメータの値は、トポロジ情報のエクスポート先のファイル名です。

mode

mode パラメータの値は、トポロジ情報をファイルに組み込む方法を決定します。この値が 追加 の場合、データはファイル内容の後に追加されます。上書き の場合は、ファイルの既存情報が新規データに置き換わります。

validity

validity パラメータの値は、データが有効な日数です。選択可能な日数は、次のとおりです。

  • Unlimited

  • 7

  • 15

  • 30

  • 90


例 19–2 デフォルトドメイントポロジをファイルへエクスポートする

以下は、デフォルトドメインsnapshotファイルに保存される例です。snapshot のオリジナル情報は、新規データによって上書きされます。新規データは無期限に有効と仮定され、システムテストグループ用のデータであることがコメントで指定されます。


> export filename=/home/examples/snapshot \
domain="Default Domain" mode=overwrite validity=Unlimited \
comment="System Test Group"

エクスポートコメント

エクスポートコマンドを起動すると、コメントの入力を求めるプロンプト (>) が表示されます。Return キーを押して改行します。Return キーを 2 回押してコメントを終了します。


例 19–3 CLI のエクスポートコメント


> export -p domain=ALL mode=append <return>
Please enter comments for the export:
> Comment text line 1 <Return>
> Comment text line 2 <Return>
> <Return>
<
State = OK
message = Done.
>

エクスポートコマンドの出力メッセージ

エクスポートコマンドの結果として、次のようなメッセージが表示されます。


export: Done.

原因:

成功しました。

説明:

エクスポートに成功しました。


export: Cannot open file .

原因:

ファイルが存在しません。

説明:

パラメータファイルが存在しません。


filename: ファイルの作成/書き込みエラーです。

原因:

ファイルエラー

説明:

ファイルを作成できないか、開いて書き込むことができません。


エクスポート: サポートされていないファイル形式です。

原因:

フォーマットが不正です。

説明:

エクスポートデータを不正なファイルの後に追加しようとしてエラーが発生しました。


エクスポート: そのようなドメインはありません。

原因:

オブジェクトエラー

説明:

エクスポートするドメインが存在しません。


export: Wrong parameter file.

原因:

パラメータファイルエラー

説明:

パラメータファイルは、name = のペアで構成されなければなりせん。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。


export: The current user is different from the last one.

原因:

ユーザ競合

説明:

他のユーザが作成したデータファイルに対して、データを上書きまたは最後に追加しようとするとエラーが発生します。自分以外のユーザが作成したエクスポートデータを変更したり上書きしたりすることはできません。


export: Data is out-of-date.

原因:

データが古すぎます。

説明:

期限切れのエクスポートファイルを使用しています。このメッセージは、追加モードでデータをエクスポートする場合にのみ表示されます。


export: illegal parameter - < para>.


Please use -h option to get usage.

原因:

パラメータが不正です。

説明:

エクスポート操作に不正なパラメータが指定されました。

インポートファイルとエクスポートファイルの内容

以下は、インポートユーティリティとエクスポートユーティリティが処理するトポロジデータです。

エンティティ情報

全てのドメイン、グループ、ホストに関するレコード情報です。

装飾情報

ドメインとグループに関する装飾情報です。この情報には、バックグラウンド内容の代わりに、レイアウトとバックグラウンドインデックスしか含まれません。例えばバックグラウンド情報には、GIF ファイルではなく、GIF ファイル名だけが含まれます。

関連情報

トポロジ階層と、エンティティのバックグラウンドおよびレイアウトに関する情報です。

ファイル形式の説明

Import/Export ファイルは、インポートデータやエクスポートデータを説明するファイルで、どのテキストエディタを使用しても編集できます。このファイルには、トポロジ階層のエンティティが全て含まれます。最後に追加するエクスポートモードでは、より多くのオブジェクト情報をファイルの最後に追加できるため、ファイル形式も簡単に拡張と解析ができるようになっています。エクスポートされたデータは XML 形式で保存されます。

ファイル形式の設計

このファイルは 4 つの部分に分かれています。

マジック情報

マジック情報は、ファイルが XML 形式であることを識別します。通常この情報は次のように表示されます。


<? XML version = 1.0 ?>

DTD (文書型宣言)

DTD 情報はドキュメントの構造を定義します。以下は、エクスポートファイルの DTD の記述例です。


例 19–4 インポートファイルとエクスポートファイルの DTD


<!ELEMENT ENTITY (ENTITY* ADORNMENT*)>	
/* Entity element describes a entity. If it is a group, it may 
   contain groups and adornment. */
		<!ATTLIST ENTITY			/* Entity attributes */
			desc		CDATA
			full_desc	CDATA
			hostname	CDATA
			ip	CDATA
			netmask	CDATA
			architecture	CDATA
			family	CDATA
			polling_type	CDATA
			url	CDATA
			x_coord	CDATA
			y_coord	CDATA
			topology_type	CDATA
			event_dest	CDATA
			trap_dest	CDATA
			target_host	CDATA
			target_ip	CDATA
			read_info	CDATA
			write_info	CDATA>
	<!ELEMENT ADORNMENT>
		<!ATTLIST ADORNMENT
			x_coord	CDATA
			y_coord	CDATA
			type	CDATA
			configuration	CDATA>
	]>

ヘッダ情報

ヘッダ情報は、一般的な情報を記録するために使用されます。

データブロック

データブロックには、トポロジの階層アーキテクチャとエンティティが含まれます。

トポロジとエクスポートファイルの例

次の図は、「My New」ドメインのトポロジを示したものです。

図 19–2 My New トポロジの例

Sun Management Center のコンソールウィンドウの一部に表示した、キャンパス、3 つのホストオブジェクト、サブネット、フォルダの小規模ネットワーク。


例 19–5 「My New」ドメインのエクスポートファイル

以下は、「My New」ドメインのトポロジエクスポートファイル例です。

<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT>
  <HEAD>	
    <USER>jkang</USER>
    <DATE>1/7/1999</DATE>
    <VALIDITY>7 days</VALIDITY>
    <PRODUCT>Sun Management Center</PRODUCT>
    <VERSION>3.0</VERSION>
    <COMMENTS>This is an example.</COMMENTS>
  </HEAD>
   <DOMAIN name="my new">
      <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" 
        family="sun4u-Sun-Ultra-30" fulldesc="wizard" hostname="wizard" 
        ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" 
        targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules" 
        type="" writeInfo="" xCoord="23" yCoord="39" 
      />
      <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-2" 
        family="sun4u-Sun-Ultra-30" fulldesc="" hostname="u30-1" 
        ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.255" pollType="ahost" readInfo="" 
        targetHost="" targetIp="" 
        targetUrl="snmp://xxx.xxx.xxx.xx:161/sym//base/mibman/modules" 
        type="" writeInfo="" xCoord="75" yCoord="39" 
      />
      <ENTITY arch="" config="" desc="campus" entityId="e-3" family="campus-view" 
        fulldesc="" hostname="" ipAddr="" isPoll="true" isSoftGroupLink="false" 
        netMask="" pollType="aview" readInfo="espublic" targetHost="" targetIp="" 
        targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-101" 
        type="" writeInfo="" xCoord="27" yCoord="111">
        <ENTITY arch="" config="" desc="building" entityId="e-1" 
          family="building-view" fulldesc="" hostname="" ipAddr="" 
          isPoll="true" isSoftGroupLink="false" netMask="" pollType="aview" 
          readInfo="espublic" targetHost="" targetIp="" 
          targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-102" 
          type="" writeInfo="" xCoord="" yCoord="">
          <ENTITY arch="SunOS 5.8" config="" desc="Wizard" entityId="e-1"
            family="sun4u-Sun-Ultra-30" fulldesc="" hostname="wizard" 
            ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.255" pollType="ahost" readInfo="" 
            targetHost="" targetIp=""
            targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
          <ENTITY arch="SunOS 5.8" config="" desc="aaa" entityId="e-2" 
            family="sun4u-Sun-Ultra-30" fulldesc="" hostname="wizard" 
            ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.255" pollType="ahost" readInfo="" 
            targetHost="" targetIp=""
            targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
          <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-3" 
            family="sun4u-Sun-Ultra-30" fulldesc="" hostname="u30-1" 
            ipAddr="xxx.xxx.xxx.xxx" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.255" pollType="ahost" readInfo="" 
            targetHost="" targetIp="" 
            targetUrl="snmp://xxx.xxx.xxx.xxx:161/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
      </ENTITY>
    </ENTITY>
    <ENTITY arch="" config="" desc="xxx.xxx.x.x0" entityId="e-4" 
       family="network-view" fulldesc="xxx.xxx.x.x" hostname="xxx.xxx.x.x" 
       ipAddr="xxx.xxx.x.x isPoll="true" isSoftGroupLink="false" 
       netMask="255.255.255.0" pollType="aview" 
       readInfo="espublic" targetHost="xxx.xxx.x.x" targetIp="xxx.xxx.x.x" 
       targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-103" type="" 
       writeInfo="" xCoord="38" yCoord="181">
       <ENTITY arch="" config="" desc="xxx.xxx.xxx.0" entityId="e-1" 
          family="subnetwork-view" fulldesc="xxx.xxx.xxx.0" 
          hostname="xxx.xxx.xxx.0" ipAddr="xxx.xxx.xxx.0" 
          isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" 
          pollType="aview" readInfo="espublic" targetHost="xxx.xxx.xxx.0" 
          targetIp="xxx.xxx.xxx.0" 
          targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-104" 
          type="" writeInfo="" xCoord="" yCoord="">
          <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" 
           family="sun4u-Sun-Ultra-30" 
           fulldesc="SUNW,Ultra-30" hostname="wizard" ipAddr="xxx.xxx.xxx.xx" 
           isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" 
           pollType="ahost" readInfo="public" targetHost="" targetIp="" 
           targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules"
           type="" writeInfo="" 
           xCoord="" yCoord="" 
          />
        </ENTITY>
      </ENTITY>
      <ENTITY arch="" config="" desc="myworkstation" entityId="e-5" 
        family="nonagent-sun4u-Sun-Ultra30" fulldesc="" hostname="wizard" 
        ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
        netMask="" pollType="snmp" readInfo="public" targetHost="" 
        targetIp="" targetUrl="snmp://wizard:1100/oid//1.3.6.1.2.1.1.7.0"
        type="" writeInfo="private" xCoord="52" yCoord="253" 
      />
      <ENTITY arch="SunOS 5.8" config="" desc="System Group" entityId="e-6" 
        family="base-agent" fulldesc="MIB tree branch" hostname="wizard" 
        ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.255" pollType="amod" readInfo="" 
        targetHost="wizard" targetIp="xxx.xxx.xxx.xx"
        targetUrl="snmp://xxx.xxx.xxx.xx:1100/mod/mib2-simple/system" 
        type="" writeInfo="" xCoord="52" yCoord="329" 
      />	
   <ADORNMENT Config="bus" Id="adorn-7" Type="layout" XCoord="0" YCoord="0" />
   </DOMAIN>
</DOCUMENT>