Chap4

4.9 DataSpiderの運用

 この節では、DataSpiderの運用に関連する、次の項目について詳しく説明します。

  • ログ
  • サーバへの登録
  • サーバ移行

4.9.1ログ

 はじめに、DataSpiderのログについて紹介します。

DataSpiderServerのログ

 DataSpiderServerでは、表4.4の7種類のログが出力されます。

表4.4:DataSpiderサーバのログ

 DataSpiderServerの各ログは以下のディレクトリに格納されています。

 ${dataspider.home}/server/logs

NOTE

${dataspider.home}はDataSpiderをインストールしたディレクトリを示しています。Windows版の場合はデフォルトではC:¥Program Files¥DataSpider Servistaを示します。

 logs以下のディレクトリ/ファイル構成は次のようになっています。

サーバログ

 DataSpiderServerのログです。サーバログにはカーネルや各マネージャのログが出力されます。スクリプト実行の内容はサーバログには出力されず、XMLログに出力されます。
 主に次の内容が出力されます。

  • モジュールやアダプタのロードに関するログ
  • リポジトリDBに関するログ
  • トリガーに関するログ
  • コンポーネントプールに関するログ
  • Webコンテナに関するログ
  • クライアントアクセスに関するログ

 サーバログには問題を解決するための重要なメッセージが出力されます。障害発生時にはまずサーバログに手がかりとなるメッセージが出力されていないかを確認します。

● 出力例
05/08 17:41:35|INFO|ds.boot|モジュール[DataProcessingComponent Manager]のサ
ービスを開始しました。
05/08 17:41:35|INFO|ds.boot|モジュール[ScriptRunner Container]のサービスを開始
しました。
05/08 17:41:35|INFO|ds.boot|システムのサービスを開始しました。
05/08 17:41:35|NOTICE|ds.boot|DataSpider Serverを正常に起動しました。
05/08 17:41:35|INFO|ds.boot|*****************************************
************************
05/08 17:44:07|INFO|ds.kernel.mgr.callback|START|CALLBACK_THREAD|CLIENT=v
e0000dg55l1i0u8i60d6okqh4qm
05/08 17:44:08|FINFO|ds.kernel.login|SUCCEEDED|LOGIN|USER=tencho|SESSION_
ID=igtb3sph23j7ia1m9p4eh8hj42nuf5gl
05/08 17:44:19|FINFO|ds.kernel.mgr.dpc.pool|GC_START
05/08 17:44:19|FINFO|ds.kernel.mgr.dpc.pool|GC_END
● 出力場所 ⇒ ${dataspider.home}/server/logs/server.log

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 固定ファイルサイズごと(デフォルト2048KB)でローテーションする

ローテーションのファイルサイズおよびローテーション数を指定できます。

サーバ標準エラー出力

 DataSpiderServerプロセスの標準エラー出力をリダイレクトしています。
 ほとんどのログはサーバログやXMLログにメッセージが出力されますが、ログ出力ができなかったときなど、重要な問題が発生した際には標準エラー出力にもメッセージが出力される場合もあります。

● 出力場所 ⇒ ${dataspider.home}/server/logs/server.error.log

任意の場所に変更が可能です。

● ローテーション ⇒ なし

DataSpiderServer起動時に新規に作成されます。

実行ログ

 スクリプト実行のサマリーが出力されます。
 スクリプト実行の開始時およびスクリプト実行終了時に、それぞれ1行ずつログ出力されます。
 出力される内容は次の通りです。

  • 日時
  • 成功/失敗(スクリプト実行終了時のみ)
  • 実行ID
  • 実行ユーザー(スクリプト実行開始時のみ)
  • 実行プロジェクト/スクリプト(スクリプト実行開始時のみ)
  • 実行時間(スクリプト実行終了時のみ)
  • 終了ステータス(スクリプト実行終了時のみ)
● 出力例
|2007/05/08 17:52:12|-|ID=kc0000rg4tl1i0u8l5g6uor8h4qn|OWNER=root|PROJECT
=project|SCRIPT=script
|2007/05/08 17:52:12|1|ID=kc0000rg4tl1i0u8l5g6uor8h4qn|TOTAL=0|EXIT_STATU
S=-10102
|2007/05/08 17:52:22|-|ID=g80000rg4tl1i0u8l5878de2h4qn|OWNER=root|PROJECT
=tencho@project|SCRIPT=script
|2007/05/0817:52:26|0|ID=g80000rg4tl1i0u8l5878de2h4qn|TOTAL=4562|EXIT_STA
TUS=0
● 出力場所 ⇒ ${dataspider.home}/server/logs/<yyyyMMdd>/exec.log

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。
日付ディレクトリに加え、固定の${dataspider.home}/server/logsディレクトリ以下にも出力することができます。運用監視ツールでスクリプトの終了状態を監視したいときなどに利用します。

● ローテーション ⇒ 日ごとにローテーションする

日付ディレクトリを一定期間ZIP圧縮して保存することができます。圧縮しないで保存する期間や圧縮ファイルとして保存する期間を指定することができます。

XMLログ

 スクリプト実行時のログが出力されます。アダプタやMapperが出力したログはすべてXMLログに出力されます。XMLログは1つのスクリプトに付き1つのファイルに出力されます。XMLログはログビューアでログを表示するためには必要なログファイルとなります。

● 出力場所 ⇒ ${dataspider.home}/server/logs/<yyyyMMdd>/ execution/<実行ID>.xml

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 日ごとにローテーションする

日付ディレクトリを一定期間ZIP圧縮して保存することができます。圧縮しないで保存する期間や圧縮ファイルとして保存する期間を指定することができます。

Launchログ

 外部アプリケーション起動のログです。主に次の内容が出力されます。

  • 起動時間
  • 実行ID
  • コマンド名
  • 終了ステータス
● 出力例
18:07:12|do0000rg7nl1i108hdf2ecash4qn|INFO|EXEC|COMMAND=/C:/test.bat
18:07:12|do0000rg7nl1i108hdf2ecash4qn|INFO|STARTED
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|PROCESS_MONITOR|STARTED
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|PROCESS_MONITOR|WAIT_FOR
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|STARTED|STREAM=java.io.Buffer
edInputStream@1f4ff23
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|STARTED|STREAM=java.io.FileIn
putStream@19a8c41
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|STDERR_MONITOR|ENDED|TOTAL=0
18:07:12|do0000rg7nl1i108hdf2ecash4qn|WARN|ENDED|EXIT_VALUE=0
18:07:12|do0000rg7nl1i108hdf2ecash4qn|DEBUG|STDOUT_MONITOR|ENDED|TOTAL=87

 外部アプリケーション処理で問題が発生した際には次の手順で原因を調査していきます。

 ① 実行ログやXMLログから問題が発生しているスクリプト実行のIDを取得する
 ② Launch ログに出力されている実行IDでマッチングを行なう
 ③ 処理が終了しているかなどを確認する
 ④ 必要であれば、後述のLaunchプロセスログで外部アプリケーションから出力されたメッセージを確認する

● 出力場所 ⇒ ${dataspider.home}/server/logs/<yyyyMMdd>/launch.log

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 日ごとにローテーションする

日付ディレクトリを一定期間ZIP圧縮して保存することができます。圧縮しないで保存する期間や圧縮ファイルとして保存する期間を指定することができます。

Launchプロセスログ

 DataSpiderで起動した外部アプリケーションの標準出力および標準エラー出力を出力しています。実行IDも出力されます。

● 出力例
--------------------
18:07:12|do0000rg7nl1i108hdf2ecash4qn|INFO


D:¥DataSpiderPackages¥DataSpiderServista2.2.1¥server>echo test output
test output
● 出力場所 ⇒ ${dataspider.home}/server/logs/<yyyyMMdd>/launch_process.log

${dataspider.home}/server/logs ディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 日ごとにローテーションする

日付ディレクトリを一定期間ZIP圧縮して保存することができます。圧縮しないで保存する期間や圧縮ファイルとして保存する期間を指定することができます。

CLI Consoleログ

 CLI Consoleのログが出力されます。CLI Consoleログには主に次の内容が出力されます。

  • コマンド開始時間
  • コマンド終了時間
  • 実行したコマンド
● 出力例
05/08 17:24:45|INFO|ds.console.cli|START ls
05/08 17:24:45|INFO|ds.console.cli|END ls
● 出力場所 ⇒ ${dataspider.home}/server/logs/cli.log

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 固定ファイルサイズごと(デフォルト2048KB)にローテーションする

ローテーションのファイルサイズおよびローテーション数を指定できます。

日付ディレクトリ

 スクリプトの実行に関する以下のログは日付ディレクトリに作成されます。日付ディレクトリは日付ごとに作成されるディレクトリ(${dataspider.home}/server/logs/<yyyyMMdd>)を示しています。

  • 実行ログ
  • Launchログ
  • Launchプロセスログ
  • XMLログ

 日付ディレクトリは、一定期間を過ぎるとZIP圧縮され、さらに一定期間すぎると削除されます。期間は[コントロールパネル]→[DataSpiderログ設定]で指定します。

ログ設定

DataSpider Studioのログ

 DataSpider Studioには、表4.5のログがあります。
 DataSpider Studioの各ログは以下のディレクトリに格納されています。

 ${dataspider.home}/client/logs

NOTE

${dataspider.home}はDataSpiderをインストールしたディレクトリを示しています。
Windows版の場合はデフォルトではC:¥Program Files¥DataSpider Servistaを示します。

表4.5:DataSpider Studioのログ

 logs以下のファイル構成は次のようになっています。

Studioログ

 DataSpider Studioのログです。
 DataSpider Studioで問題が発生した際にはStudioログを参照します。

● 出力場所 ⇒ ${dataspider.home}/client/logs/studio.log

${dataspider.home}/server/logsディレクトリを任意のディレクトリに変更することができます。

● ローテーション ⇒ 固定ファイルサイズごと(デフォルト2048KB)でローテーションする

ローテーションのファイルサイズおよびローテーション数を指定できます。

Studio標準出力

 DataSpider Studioプロセスの標準出力をリダイレクトしています。標準出力に出力される内容はStudioログにも出力されます。

● 出力例
--- |INFO|モジュール[Studio]を初期化しています。
--- |INFO|モジュール[Studio]の初期化に成功しました。
--- |INFO|システムのサービスを開始しています。
--- |INFO|システムのサービスを開始しました。
--- |NOTICE|DataSpider Studioを正常に起動しました。
--- |INFO|*****************************************************************
● 出力場所 ⇒ ${dataspider.home}/client/logs/client.error.log

任意の場所に変更が可能です。

● ローテーション ⇒ なし

DataSpider Studio起動時に新規に作成されます。

Studio標準エラー出力

 DataSpider Studioプロセスの標準エラー出力をリダイレクトしています。重要な問題が発生したとき以外は情報が出力されることはありません。

● 出力場所 ⇒ ${dataspider.home}/client/logs/client.error.log

任意の場所に変更が可能です。

● ローテーション ⇒ なし

DataSpider Studio起動時に新規に作成されます。

アプリケーションログ

 スクリプト中にログを出力する処理コンポーネントを配置することができます。出力できるログの種類は次の通りです。

Syslog

 遠隔のSyslogデーモンにログを出力します。

NTイベントログ

 NTイベントにログを出力します。DataSpiderサーバが稼働している環境がWindowsの場合に利用可能です。

ローテーションファイル

 指定したファイルにログを出力します。指定ファイルサイズに達した場合に、ローテーションされます。ローテーションファイル数も指定可能です。

 出力するログメッセージのレイアウトはLog4jで指定できるすべてのレイアウトを使用することができます。ログレベルは、Log4jで指定できるFATAL、ERROR、WARN、INFO、DEBUGの5つのレベルが指定可能です。

ログレベル

 ログには、表4.6のログレベルがあります。

表4.6:ログレベル

4.9.2サーバへの登録

 DataSpiderでは、開発中のスクリプトと開発が完了したスクリプトとを区別しています。
 サーバに登録されていないスクリプトは、開発中のスクリプトと見なされます。デザイナからのみ実行が可能です。サーバに登録されているスクリプトは、開発が完了したスクリプトと見なされます。トリガーやScriptRunner、外部システムからも実行が可能となります。サーバへ登録を行なったスクリプトは、登録を解除することもできます。

サーバへ登録する単位

 サーバへ登録する単位は、プロジェクト単位となります。

公開名

 プロジェクトをサーバに登録をすると、DataSpiderServerで外部から呼び出すための一意な公開名がプロジェクトに割り振られます。
 公開名は、<プロジェクトのオーナー>@<プロジェクト名>です。プロジェクトを共有した場合には、プロジェクト名と同じになります。

デプロイ(配布)

 プロジェクトをサーバに登録する際に、プロジェクトに含まれるスクリプトをJavaのクラスとしてコンパイルし、JARファイルとしてモジュール化します。
 モジュール化されたJARファイルは、トリガーやScriptRunner、外部システムから呼び出せる領域(/etc/runtime/<公開名>ディレクトリ)にデプロイされます。

4.9.3サーバ移行

[サーバ移行]は、DataSpiderServerの設定を別のDataSpiderServerに移行するための機能です。開発、テスト環境から本番環境へ環境を移行する際などに利用します。 
 この機能は、[コントロールパネル]→[DataSpiderServerの設定]の[サーバ移行]から利用することができます。

サーバ移行

サーバ移行の流れ

 サーバ移行の流れは次の通りです。

 ① 移行元のDataSpiderから設定をエクスポートする
 ② 出力されたZIPファイルを移行先のDataSpiderがインストールされたマシンにコピーする
 ③ 移行先のDataSpiderでコピーしたZIPファイルをインポートする

移行される設定

 サーバ移行機能で移行できる設定は次の通りです。それぞれ個別に選択し、移行することが可能です。

  • サーバに登録されたプロジェクト
  • グローバルリソース
  • 環境変数
  • トリガー
  • 休日設定カレンダー
  • プロジェクト
  • アプリケーションログ出力設定

 サーバ移行機能で設定を移行する際、権限の移行が必要なものについては権限も移行されます。移行先のDataSpiderServerに該当のユーザーが存在しない場合には、移行を行なったユーザーが所有者として移行されます。

差分更新

 設定のインポート時には「上書き」と「差分更新」のいずれかを選択することができます。
 上書きは、エクスポートした設定内容で移行先の設定を上書きします。差分更新は、既に存在する設定内容は更新し、存在しない設定内容は追加します。
 環境変数設定とプロジェクトに関しては、常に上書きで移行が行なわれます。

▲ページの先頭へ戻る