deviceExport.sh ツールの使用方法
デバイス エクスポート ツールを使用すると、デバイスに関する情報を取得できます。このツールは、BAC システムからデバイス情報を取得し、フラット ファイルにエクスポートします。このファイルは、データを外部アプリケーションにインポートするときに使用できます。
deviceExport.sh ツール( BPR_HOME/rdu/bin ディレクトリ内)は、デバイス情報を、RDU データベースのバックアップ スナップショットから Comma Separated Value(CSV; カンマ区切り形式)ファイルにエクスポートします。
(注) デバイス エクスポート ツールは、バックアップ データベースに対してのみ使用できます。RDU ライブ データベースからデバイス情報をエクスポートすることはできません。
エクスポートするデバイス プロパティのリストを制御ファイルに指定する必要があります。制御ファイルとは、エクスポートに必要なフィールドを定義する XML ファイルのことです。ツールには、サンプルの制御ファイルを生成するオプションがあります。そのファイルを編集して、エクスポートするプロパティを設定できます。 deviceExport.sh -samplectrl コマンドを実行すると、BAC で事前に定義されており、エクスポートに使用可能なプロパティのリストを生成できます(制御出力のサンプルについては、例18-2 を参照してください)。
アプリケーション間のデータ交換では、CSV 形式が広く使用されています。CSV 形式のファイルについては、次のルールに注意してください。
• 各デバイスは 1 行に出力されます。
• 各行の末尾には UNIX 形式の行区切り記号(\n)が含まれます。
• 各フィールドはカンマ(,)で区切られています。
• フィールドに空白、カンマ、または行区切り記号が含まれる場合、そのフィールドは二重引用符(")で囲まれます。フィールドに二重引用符が含まれる場合は、二重引用符を 2 回繰り返してエスケープします。たとえば、"file name" は ""file name"" と記述します。
• ブール型のフィールドでは、 true または false が出力されます。
• バイト配列は、UTF-8 で符号化された文字列に出力されます。
• フィールドがリストの場合、各項目がカンマで区切られた書式に設定された文字列に変換されます。たとえば、ノード リストは、「node1, node2, node3」として出力されます。
• フィールドがマップである場合、そのフィールドは長い文字列に変換されます。キーとデータは、カンマで区切られます。たとえば、マップの出力は「(key1, data1)(key2, data2)(key3, data3)」のようになります。
• フィールドの値がヌルであるか存在しない場合、空の文字列が出力され、その後ろにカンマが続きます。
• 最初の行はフィールド名で、カンマで区切られています。
• 各レコードの終わりにカンマはありません。
例18-1 CSV 形式のサンプル
74:7b:7b:f0:e7:80,admin,true,2,"node1,node2,node3","(prop1,value1)(prop2,value2)",,,
構文の説明
deviceExport.sh コマンドを使用するには、次の構文を使用します。
# ./deviceExport.sh [-help] [-samplectrl] controlfile backupdir outputdir
• controlfile :制御ファイルへのパスを指定します。制御ファイルには、エクスポートに必要なフィールドを定義します。
• backupdir :ディレクトリへのパスを指定します。このディレクトリには、データ ソースとして使用するバックアップ データベース ファイルが含まれます(データベースをバックアップするには、 backupDb.sh ツールを使用します。「バックアップと回復」を参照してください)。
• outputdir :出力ファイルの出力先を指定します。ディレクトリが存在しない場合、新しいディレクトリが作成されます。
• help :ツールの使用方法に関する情報を生成します。
• samplectrl :サンプルの制御ファイル(サポートされるプロパティとデバイス タイプが記述されたもの)を現在のディレクトリに生成します。制御ファイルとは、サポートされるプロパティとデバイス タイプが示された XML ファイルのことです。この XML ファイルを編集することにより、不要なプロパティを削除したり、特定のタイプのデバイスだけをエクスポートするように選択したりできます。制御ファイルの出力サンプルについては、例18-2 を参照してください。
例18-2 制御ファイルのサンプル
# ./deviceExport.sh -samplectrl
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE CONTROLFILE SYSTEM "device-export-control.dtd">
<!--SAMPLE CONTROL FILE-->
<!--Start of field list(REQUIRED)
The field list specifies the device properties that will be exported.
All supported standard fields are listed below. Remove unwanted
fields by deleting the line that contains the field name. Customer
defined properties are not listed but can be added to the list.
<FIELD>GenericObjectKeys.OID_REVISION_NUMBER</FIELD>
<FIELD>DeviceDetailsKeys.DEVICE_TYPE</FIELD>
<FIELD>DeviceDetailsKeys.OWNER_ID</FIELD>
<FIELD>DeviceDetailsKeys.NODE_DETAILS</FIELD>
<FIELD>DeviceDetailsKeys.DEVICE_ID</FIELD>
<FIELD>DeviceDetailsKeys.FQDN</FIELD>
<FIELD>DeviceDetailsKeys.HOST</FIELD>
<FIELD>DeviceDetailsKeys.DOMAIN</FIELD>
<FIELD>DeviceDetailsKeys.IS_IN_REQUIRED_PROV_GROUP</FIELD>
<FIELD>DeviceDetailsKeys.IS_REGISTERED</FIELD>
<FIELD>DeviceDetailsKeys.IS_PROVISIONED</FIELD>
<FIELD>DeviceDetailsKeys.PROV_GROUP</FIELD>
<FIELD>DeviceDetailsKeys.CLASS_OF_SERVICE</FIELD>
<FIELD>DeviceDetailsKeys.CLASS_OF_SERVICE_SELECTED</FIELD>
<FIELD>DeviceDetailsKeys.PROPERTIES</FIELD>
<FIELD>DeviceDetailsKeys.PROPERTIES_DETECTED</FIELD>
<FIELD>DeviceDetailsKeys.PROPERTIES_SELECTED</FIELD>
<FIELD>DeviceDetailsKeys.REASON</FIELD>
<FIELD>DeviceDetailsKeys.EXPLANATION</FIELD>
<FIELD>DeviceDetailsKeys.CONFIGURATION_REVISION</FIELD>
<FIELD>DeviceDetailsKeys.FIRMWARE_CONFIGURATION_REVISION</FIELD>
<FIELD>DeviceDetailsKeys.REPORTED_IP_ADDRESS</FIELD>
<FIELD>DeviceDetailsKeys.SOURCE_IP_ADDRESS</FIELD>
<FIELD>DeviceDetailsKeys.ROUTABLE_IP_ADDRESS</FIELD>
<FIELD>DeviceDetailsKeys.DEVICE_FAULTS</FIELD>
<FIELD>DeviceDetailsKeys.PENDING_ON_CONNECT_OPERATION_IDS</FIELD>
<FIELD>DeviceDetailsKeys.PASSWORD_IS_PROTECTED</FIELD>
<FIELD>IPDeviceKeys.HOME_PROV_GROUP</FIELD>
<FIELD>IPDeviceKeys.CPE_PASSWORD</FIELD>
<FIELD>IPDeviceKeys.CONNECTION_REQUEST_USERNAME</FIELD>
<FIELD>IPDeviceKeys.CONNECTION_REQUEST_PASSWORD</FIELD>
(注) DOCTYPE CONTROLFILE SYSTEM
は、XML の検証に使用する device-export-control.dtd という .dtd ファイルを参照します。このファイルは、BPR_HOME/rdu/bin ディレクトリにインストールされています。
例18-3 バックアップ スナップショットからのデータのエクスポート
バックアップ スナップショットからデータをエクスポートする例を、次に示します。
# ./deviceExport.sh control.xml rdu-backup-20061227-145538 /data/rduexport
Starting exporting devices...
Using backup database in /tmp/rdu-backup-20061227-145538
Device export finished in 28m11s.
(注) エクスポートされたファイルは、指定したディレクトリ内に生成されます。上記の例では、/data/rduexport ディレクトリです。ディレクトリのフル パスを指定する必要はありません。
BAC バックアップ データベースからのエクスポートが正常に完了すると、デバイス エクスポート ツールはデバイス ファイルを作成します。このファイルには、BAC バックアップ データベースから正常にエクスポートされたデバイス レコードのリストが含まれます。ファイル名は、bac-device-details -yyyyMMdd-HHmmss .csv です。
ここで、 yyyyMMdd-HHmmss は、ファイルが生成された時刻を示します。
disk_monitor.sh ツールの使用方法
利用可能なディスク領域を監視することは、重要なシステム管理作業です。多数のカスタム スクリプトまたは市販のツールを使用して、この作業を実行できます。disk_monitor.sh ツールは、この作業を行うためのサンプル ツールです。
disk_monitor.sh ツールは BBPR_HOME/rdu/sample/tools ディレクトリにあり、1 つ以上のファイル システムのしきい値を設定します。これらのしきい値を超えると、追加のディスク領域が利用可能になるまで、60 秒ごとに Solaris の syslog 機能によってアラートが生成されます。
(注) 少なくとも、disk_monitor.sh スクリプトを使用して BPR_DATA および BPR_DBLOG ディレクトリを監視することをお勧めします。
構文の説明
# ./disk_monitor.sh file system-directory x
• file system-directory :監視するファイル システムのディレクトリを示します。
• x:指定したファイル システムに適用するしきい値をパーセントで示します。
例18-4 ディスク領域の監視
データベース ログが保存されるファイル システム(ここでは /var/CSCObpr )の利用率が 80% に達したときに、通知するものとします。次のコマンドを入力します。
# ./disk_monitor.sh /var/CSCObac 80&
データベース ログのディスク領域の利用率が 80% に達すると、次のようなアラートが syslog ファイルに送信されます。
Dec 7 8:16:03 perf-u80-1 BPR: [ID 702911 local6.warning] File system /var/bpr usage is 81% (threshold is 80%)
(注) 起動時にこの監視を実行するように Solaris を設定してください。その設定により、システムのリブート後に監視が自動的に開始されます。