Sun Management Center 3.6.1 ユーザーガイド

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

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

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

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

トポロジのインポートユーティリティーとエクスポートユーティリティーは、次のタスクに使用できます。

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

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

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

図 19–1 トポロジのインポートおよびエクスポートのソフトウェア構造

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

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

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

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

トポロジのエクスポートユーティリティーは、メインコンソールウィンドウまたは CLI から起動できます (「インポートとエクスポートのコマンド行インタフェース」を参照)。

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

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

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

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

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

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

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

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

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

  5. 「有効日数」メニューから、データの有効日数を選択します。

    次の値から選択できます。

    • 7 日

    • 15 日

    • 30 日

    • 90 日

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

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

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

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

トポロジのインポートユーティリティーは、メインコンソールウィンドウまたは CLI から起動できます (「インポートとエクスポートのコマンド行インタフェース」を参照)。

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

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

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

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


    ヒント –

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


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

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

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

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

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


    注 –

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


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

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

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

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

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

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

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

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

      置き換え

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

      すべて置き換え

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

      ドメイン情報を無視

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

      すべて無視

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

      インポートの取消し

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

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

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


# /opt/SUNWsymon/sbin/es-cli
> login
Host: servername
Login: username
Password: password
Login successful!
> 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: Results 1/1


State=Success


Message=The topology data is successfully imported.

原因:

成功しました。

説明:

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


filename: No such file.

原因:

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

説明:

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


import: Cannot open filename.

原因:

Permission denied.

説明:

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


import: File format is not supported.

原因:

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

説明:

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


import: File out-of-date (xx days).

原因:

データが期限切れです。

説明:

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


import: Authentication failed.

原因:

Authentication failed.

説明:

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


import: Wrong parameter file.

原因:

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

説明:

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


import: illegal parameter - <para>.


Use -h option to get usage.

原因:

パラメータが不正です。

説明:

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

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

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

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

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

comment

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

domain

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

filename

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

mode

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

validity

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

  • Unlimited

  • 7

  • 15

  • 30

  • 90


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

次は、Default Domainsnapshotファイルに保存される例です。 snapshot の元の内容は、新規データによって上書きされます。新規データは無期限に有効と仮定され、システムテストグループ用のデータであることがコメントで指定されます。


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

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

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


Export: Results 1/1


State=Success


Message=The topology data is successfully exported.

原因:

成功しました。

説明:

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


export: Cannot open file.

原因:

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

説明:

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


filename: Permission denied.

原因:

ファイルエラー

説明:

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


export: File format not supported.

原因:

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

説明:

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


export: The domain <domainname> does not exist

原因:

オブジェクトエラー

説明:

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


export: Wrong parameter file.

原因:

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

説明:

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


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–3 インポートファイルとエクスポートファイルの 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–4 「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.6.1</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-2" fulldesc="wizard" hostname="wizard" 
        ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" 
        targetIp="" targetUrl="snmp://129.158.168.63: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-2" fulldesc="" hostname="u30-1" 
        ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.0" pollType="ahost" readInfo="" 
        targetHost="" targetIp="" 
        targetUrl="snmp://129.158.168.113: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://129.158.168.63: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://129.158.168.63:164/mod/topology+view-102" 
          type="" writeInfo="" xCoord="" yCoord="">
          <ENTITY arch="SunOS 5.8" config="" desc="Wizard" entityId="e-1"
            family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" 
            ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.0" pollType="ahost" readInfo="" 
            targetHost="" targetIp=""
            targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
          <ENTITY arch="SunOS 5.8" config="" desc="aaa" entityId="e-2" 
            family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" 
            ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.0" pollType="ahost" readInfo="" 
            targetHost="" targetIp=""
            targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
          <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-3" 
            family="sun4u-Sun-Ultra-2" fulldesc="" hostname="u30-1" 
            ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" 
            netMask="255.255.255.0" pollType="ahost" readInfo="" 
            targetHost="" targetIp="" 
            targetUrl="snmp://129.158.168.113:161/sym//base/mibman/modules" 
            type="" writeInfo="" xCoord="" yCoord="" 
          />
      </ENTITY>
    </ENTITY>
    <ENTITY arch="" config="" desc="129.158.0.0" entityId="e-4" 
       family="network-view" fulldesc="129.158.0.0" hostname="129.158.0.0" 
       ipAddr="129.158.0.0 isPoll="true" isSoftGroupLink="false" 
       netMask="255.255.255.0" pollType="aview" 
       readInfo="espublic" targetHost="129.158.0.0" targetIp="129.158.0.0" 
       targetUrl="snmp://129.158.168.63:164/mod/topology+view-103" type="" 
       writeInfo="" xCoord="38" yCoord="181">
       <ENTITY arch="" config="" desc="129.158.168.0" entityId="e-1" 
          family="subnetwork-view" fulldesc="129.158.168.0" 
          hostname="129.158.168.0" ipAddr="129.158.168.0" 
          isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" 
          pollType="aview" readInfo="espublic" targetHost="129.158.168.0" 
          targetIp="129.158.168.0" 
          targetUrl="snmp://129.158.168.63:164/mod/topology+view-104" 
          type="" writeInfo="" xCoord="" yCoord="">
          <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" 
           family="sun4u-Sun-Ultra-2" 
           fulldesc="SUNW,Ultra-2" hostname="wizard" ipAddr="129.158.168.63" 
           isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" 
           pollType="ahost" readInfo="public" targetHost="" targetIp="" 
           targetUrl="snmp://129.158.168.63: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="129.158.168.63" 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="129.158.168.63" isPoll="false" isSoftGroupLink="false" 
        netMask="255.255.255.255" pollType="amod" readInfo="" 
        targetHost="wizard" targetIp="129.158.168.63"
        targetUrl="snmp://129.158.168.63: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>