ログの設定と管理
Q1ASTERIA Warpのインストールログはどこに出力されますか?
A
ASTERIA Warpのインストールログは以下に出力されます。
- フォルダー名: [INSTALL_DIR]/Uninstall_ASTERIA WARP/Logs
- ファイル名: ASTERIA_WARP_インストール_MM_dd_yyyy_hh_mm_ss.log
フローデザイナーのインストールログは以下に出力されます。
- フォルダー名: [DESIGNER_DIR]/Uninstall_ASTERIA WARP Flow Designer/Logs
- ファイル名: ASTERIA_WARP_Flow_Designer_インストール_MM_dd_yyyy_hh_mm_ss.log
各ディレクトリのデフォルトインストール時のパスは以下のFAQをご参照ください。
Q2マルチセレクトオプションの詳細なログを出力したい
A
Microsoft Office 365アダプターなどマルチセレクトオプションで提供されるアダプターの詳細な動作ログを取得するときにはそれぞれのコネクションで以下の設定を行ってください。
-
コネクションプロパティ > 基本タブ > ログ設定 > ログファイル で 出力するログファイルのフォルダーとファイル名を指定する。
例:
C:\tmp\multiselect.log出力先のフォルダーは事前に作成してください。 -
コネクションプロパティ > 基本タブ > ログ設定 > メッセージレベルを「5:全て」に指定する。
出力するログファイルのサイズやローテーションは基本タブ > ログ設定 の Max Log File Size、Max Log File Count プロパティで指定することが可能です。基本タブに表示されていないときは詳細タブの Max Log File Size、Max Log File Count オプションで指定してください。
詳細タブで指定するオプションについてはそれぞれのコンポーネントの「コネクション設定」という項目を参照してください。例えばOffice365Getコンポーネントでは「●Office365 コネクション設定」以降の一覧表に記載されています。
OAuth認証を使用しているコネクションでは、コネクションプロパティを編集したときはOAuthトークンファイルの再取得が必要になります。
マルチセレクトオプションのアダプターを利用するときの注意事項については以下の記事も参照してください。
Q3Windowsのイベントログにメッセージを出力するコンポーネントはありますか?
A
Windowsのイベントログに出力するコンポーネントはありませんが、EXEコンポーネントを使ってWindowsのEVENTCREATEコマンドを実行することでイベントログに出力することができます。
EVENTCREATEコマンドの詳細についてはWindowsのヘルプなどを参照してください。
📝 NOTE
EXEコンポーネントは、ASTERIA Warp Core/Core+/Core++ エディションではお使いいただけません。
Q4RDBPutコンポーネントのログ設定に入力ストリームのフィールドをプロパティ式で記述しても出力されません
A
コンポーネントプロパティで「入力」タブがある場合、ログ設定ではプロパティ式を使って次のようにフィールドを指定することができます。
${component.get("Field(Input)").<フィールド名>}
ただし、現状では上記のプロパティ式を利用し、ログ設定で出力することができません。 直前のマッパーでフィールドをログにマッピングするなどの方法で対応してください。
Q5管理コンソールへのログインや操作はログで確認できますか?
A
管理コンソールのログは、「状態」-「ログ」-「システム」のファイル名「mcapi」で確認することができます。当日のファイル名はmcapi.logです。
ユーザーの操作に応じて内部でMC-APIが実行され、実行結果がログに出力されます。 例えば、ログイン時には次のようなメッセージが出力されます。
[2020-05-08T10:53:41.988 JST] INFO [ManagementConsole.MC-HTTPD.worker.3] [0:0:0:0:0:0:0:1] ログインします [Path : /auth/login] [Parameters : getRole=true,userName=asu,timeout=30]
[2020-05-08T10:53:42.048 JST] INFO [ManagementConsole.MC-HTTPD.worker.3] [0:0:0:0:0:0:0:1] ログインしました Session ID : 3C2E8D315D4F4E15A78B84EE0D79303A [Path : /auth/login] [Parameters : getRole=true,userName=asu,timeout=30]
「フローサービス管理コンソールオンラインヘルプ」の「状態」-「ログ」-「システム」を参照してください。
Q6ログの出力レベルを変更してもログの内容が変わりません
A
ログの出力レベルは、サービス全体とFlowServiceのそれぞれに対して設定することができます。設定が有効になる対象ファイルがそれぞれ異なるため、適切に設定してください。
それぞれの出力レベルの設定が有効になるのは次のログです。
サービス名「サービス全体」
- asteria-console.log
- asteria.log
サービス名「FlowService」
- FlowService.log
- FlowAccess.log
- FlowCompile.log
- FlowProfile.log
ログの出力レベルは、フローサービス管理コンソールの「設定」-「ログ」-「システム」画面で設定します。
設定を変更した後は、フローサービスの再起動が必要ですので注意してください。
Q7フローサービスのログの保存期間はどのくらいですか?
A
初期設定では、フローサービスのログが削除されることはありません。
定期的に古いログを削除したい場合は、フローサービス管理コンソールで自動メンテナンスするように設定することができます。メンテナンスのスケジュールを選択すると、保存期間を指定することができます。上限はありませんが、ログの出力量とHDD容量を考慮した上で適正な値を設定してください。
フローサービス管理コンソールでの自動メンテナンスは、「設定」-「ログ」-「削除」画面から行なってください。
Q8logsフォルダの下に出力されている.xrdファイルは何ですか?
A
[DATA_DIR]/data/logs配下に出力される.xrdファイルは、大容量ストリームを使用した場合に一時的に生成されるファイルです。 大きなストリームを取り扱う際にこのファイルを使用することでメモリ使用量を抑制します。
StartやHttpStartなどの開始コンポーネントの「大容量ストリームを使用」プロパティが「はい」の場合に.xrdファイルが生成され、通常はリクエスト終了時に削除されます。
一方、上記のプロパティが「いいえ」の場合には.xrdファイルは生成されませんが、扱うストリームのサイズが大きくなるとOutOfMemoryErrorが発生する可能性があります。
ストリームが複数のリクエストをまたいで使用される際にファイルが残る場合があります。 その場合でも、FlowServiceプロセス終了時または起動時にすべての一時ファイルは削除されます。 古いxrdファイルが残っている場合には、全てのフローが動作していない状態でFlowServiceプロセスの再起動を行ってください。
⚠️ CAUTION
.xrdファイルを手動で削除してしまうと誤作動が起こる可能性があります。 .xrdファイルが残っている場合には必ず再起動を行って、.xrdファイルが削除されるかをご確認ください。
Q9ログファイルのサイズに上限はありますか?
A
システムログ、アプリケーションログのサイズに上限はありません。
📝 NOTE
アプリケーションログは、ログ設定の「切り替え種別」でサイズ切り替えを選択し上限を設定することができます。
フローサービス管理コンソール(FSMC)でのログ参照時などでも固定された上限値はありませんが、大きなサイズのログを読み込んだ場合、
- 読み込みに時間がかかる
- メモリ不足が発生する
といった現象が発生することがあります。
またディスクの空き領域を逼迫し、ASTERIA Warpに限らず不安定な動作の原因となる可能性があるので注意してください。
以下FAQも併せて参考にしてください。
Q10出力したログの一部が欠落しています
A
ログ監視やセキュリティチェック等のソフトウェアがログファイルをつかんでいる場合やフローサービスがメモリ不足に陥って不安定な状態である場合に、ログの書込みに失敗することがあります。 合わせて、FAQ「ログのローテーションが行われなくなりました」も参考にしてください。
Q11システムログはどこからダウンロードすることができますか?
A
フローサービスで出力されるシステムログはフローサービス管理コンソール(FSMC)のシステムログ表示画面([状態]-[ログ]-[システム])の右上にある「ダウンロード」ボタンからダウンロードできます。 ログはZIP形式でダウンロードされます。
Q12ログ出力ディレクトリをシンボリックリンクにすることはできますか?
A
ASTERIA Warpがログを出力する次のディレクトリをシンボリックリンクにすることは可能です。
- ASTERIA Warp 1610以降
[DATA_DIR]/log - ASTERIA Warp 4.9.1以前
[INSTALL_DIR]/flow/log
[INSTALL_DIR]/pipeline/log
特に問題の報告はありませんが、シンボリックリンクの作成とそれに伴う動作検証などはお客様の責任にて行ってください。
Q13ログのローテーションが行われなくなりました
A
asteria-console.log に次のようなメッセージが出力されて、ログのローテーションが行われなくなることがあります。
ERROR [FlowService] log4j:ERROR Failed to rename [ログファイル名] to [ローテーションするときのログファイル名].
ASTERIA Warpでは、日付が変わり最初に書き込みが行われるタイミングで、日付つきファイル名へのリネームにてログのローテーションを行います。ローテーションを行う時間帯に、ログ監視やセキュリティチェック等のソフトウェアがログファイルをつかんでいた場合にはリネームに失敗する可能性があります。これらのソフトウェアの設定等を確認してください。
また前述のエラーメッセージとともに次のようなメッセージが出力される現象の報告がありました。
ERROR [FlowService] java.nio.file.NoSuchFileException: [ログファイル名]
ログファイルが存在しない状態でローテートに失敗する事象を確認しており、過去事例ではLinux環境でローテートに失敗した後、ログが失われる場合がございました。本現象の詳しい原因については不明です。
システムログのローテーションについては、フローサービスマニュアルの「運用ガイド」-「メンテナンス」-「実行ログ」を参照してください。
Q14ASTERIA Warpのログが日本語表示されない
A
ASTERIA Warpのログに日本語を出力する場合にはOS側のロケールを日本(日本語)に設定する必要があります。 日本でない場合には文字が"?"に置き換わって出力されます。 Windowsの場合、下記の点をご確認ください。
- [コントロールパネル] → [言語] → [日付、時刻の変更] → [管理] の「ようこそ画面と新しいユーザーアカウントの設定」および「Unicode対応でないプログラムの言語」もロケールが「日本」になっていること
📝 NOTE
ユーザーごとに設定可能ですので、ASTERIA Warpを起動しているユーザーでご確認ください。
Q15ログファイルを別の場所へ移動させて管理することはできますか?
A
管理コンソールでシステムログの出力先を変更できます。管理コンソールの「設定」-「ログ」画面の「システム」にある「出力パス」を編集してください。 ログファイルを保存しておきたい場合は、管理コンソールの「ツール」-「メンテナンス」画面で手動にてダウンロードすることができます。また、システムドライブの圧迫を懸念する場合は、「設定」-「ログ」-「削除」画面でログ削除のスケジュールを設定することができます。 ログの種類やメンテナンスについて詳しくは、フローサービスマニュアルの「運用ガイド」-「メンテナンス」-「実行ログ」を参照してください。
Q16ログ設定名を「(呼び出し元の設定を引き継ぐ)」にしても引き継がれない
A
ログ設定が呼び出し元の設定を引き継がれるのは、SubFlowコンポーネントから呼び出されるフローとエラー処理フローのみです。 ParallelsSubFlow、FlowInvoker、Timerコンポーネントから呼び出される場合は引き継がれません。
Q17フローのログ出力レベルはいくつか設定するところがありますが、どれが優先されますか?
A
フローのログを出力するレベル(情報/デバッグ/エラーなど)は次の3カ所で指定できます。
- システム全体
- プロジェクト単位
- フロー単位
それぞれで設定した場合、次のような優先順位で出力レベルが設定されます。
フロー単位 > プロジェクト単位 > システム設定
- 例)プロジェクト単位にログ出力レベルが設定されている場合、プロジェクト単位のログ出力レベルが優先されます。
- 例)プロジェクト単位にログ出力レベルが設定されて、フロー単位にもログ出力レベルが設定されている場合、フロー単位のログ出力レベルが優先されます。
それぞれのログ出力レベルは下記より変更できます。
フローサービス管理コンソールでの変更(システム設定)
フローサービス管理コンソールの「設定」-「ログ」-「システム」画面でサービス名に「FlowService」を選択し、「出力レベル」を選択して「レベル変更」ボタンをクリックします。
プロジェクト単位での変更
フローデザイナーのツリーペインで対象のプロジェクトを選択し、インスペクタで「アプリケーションログ設定」の「ログレベル」を変更してプロジェクトを保存します。
フロー単位での変更
フローデザイナーのツリーペインで対象のフローを選択し、インスペクタで「アプリケーションログ設定」の「ログレベル」を変更してプロジェクトを保存します。
Q18ログフォルダーに出力されている日付のついたログファイルを削除してもよいですか?
A
下記ファイルは日付でローテートされた過去のログファイルであり、削除してもフローサービスの動作への影響はありません。
asteria.log.yyyy-MM-ddasteria-console.log.yyyy-MM-ddFlowAccess.log.yyyy-MM-ddFlowCompile.log.yyyy-MM-ddFlowService.log.yyyy-MM-dd
ログの定期的な削除は、管理コンソールで自動化することができます。FAQ「フローサービスのログの保存期間はどのくらいですか?」を参照してください。 また、ログファイルを別の場所へ移動させることもできます。FAQ「ログファイルを別の場所へ移動させて管理することはできますか?」を参照してください。
📝 NOTE
上記ファイルの他にも、利用されるサービスやバージョンにより対象のファイルは追加されます。詳しくは動作システムにてご確認ください。
Tableau関連のコンポーネントを使用する際には下記のFAQも合わせてご参考ください。
Q19サブフロー実行の開始、終了のログを出力しないようにできますか?
A
サブフロー実行時に「サブフローの実行を開始します」「サブフローの実行が終了しました」というメッセージがログに出力されますが、これらのメッセージのみを出力しないようにする設定はありません。
ログの出力レベルを「警告」「エラー」「致命的エラー」のいずれかに変更してアプリケーションログを利用するなどして対応することはできます。詳しくはFAQ「FlowService.logのサイズが巨大になってしまいます」を参照してください。
Q20SSLデバッグログの取得方法を知りたい
A
SSL通信で失敗するような場合は、下記の方法で詳細情報を得ることができます。
フローサービスの起動オプションにSSLデバッグログ出力を追加
フローサービス管理コンソール(FSMC)の「設定」-「サービス」-「フロー」の画面の「起動」の欄の「その他のオプション」に -Djavax.net.debug=all を追加する。
例)
-server -Djava.awt.headless=true
↓
-server -Djava.awt.headless=true -Djavax.net.debug=all
フローサービス再起動後に有効となり、詳細情報が asteria-console.log に出力されます。
⚠️ CAUTION
SFTPはSSH上で動作するので、上記で詳細情報は出力されません。SSLデバッグログの出力を有効にすると、ログ出力量の増加によりディスク容量の圧迫やパフォーマンス低下を招く可能性があります。ログ取得時は空き領域に十分注意したうえで、空き領域の枯渇が予想される場合は適切なタイミングで設定を元に戻してください。
Q21ガベージコレクション(GC)ログを出力することはできますか?
A
フローサービス管理コンソールの「設定」-「サービス」-「フロー」-「起動」画面の「その他のオプション」でJavaの起動オプションを指定することにより出力することができます。 「その他のオプション」項目に以下を入力して保存し、フローサービスを再起動してください。
-verbose:gc -Xloggc:[GCログ出力ファイルパス]
📝 NOTE
ログに出力される時刻はJava起動からの相対時間ですが、 下記オプションを追加すると絶対時刻(ログが出力された日付・時刻)になります。 詳細はJavaの資料をご確認ください。 -XX:+PrintGCDateStamps
Q22FlowService.logのローテーション方法を変更することはできますか?
A
FlowService.logのローテーションは日付ごとに実行され、これを変更することはできません。
アプリケーションログでは指定したサイズごとにローテーションする方法が利用できます。FlowService.logファイルのサイズを抑制することが目的であれば、FlowService.logへの出力をアプリケーションログに変更することでファイルサイズでのローテションができるようになります。
FlowService.logの出力をアプリケーションログに変更する方法については、FAQ「FlowService.logのサイズが巨大になってしまいます」を参照してください。
Q23FlowService.logのサイズが巨大になってしまいます
A
フローを短いスケジュール間隔で運用したりURL実行のフローを頻繁に実行したりしていると、FlowService.logが巨大になってしまうことがあります。これを回避するにはいくつかの対策があります。
ログ出力レベルを変更する
フローサービスのログ管理はログ出力レベルの指定によって出力する情報量が異なります。FlowService.logのログ出力レベルは初期値で「情報」になっています。これを「警告」「エラー」「致命的エラー」のいずれかにすると「サブフローの実行を開始します」などのログが出力されなくなるため、ログの量を抑制することができます。
ただし、実行されたフロー名などが出力されなくなり、障害が起きた場合などにフローの実行履歴を追うことが少し難しくなります。(フローでエラーが発生した場合は、エラー箇所のコンポーネントなどで詳細な情報が出力されます。)
FlowService.logへのログの出力を抑制するには、管理コンソールの「設定」-「ログ」-「システム」-「出力レベル」の編集画面で、「フローサービス」の出力レベルで「警告」以上を選択します。
アプリケーションログを利用する
フローサービスにはアプリケーションログという機能があります。アプリケーションログは、特定のプロジェクトやフローのログの出力先を別ファイルにすることができ、日付ごとのローテーションの他にサイズでのローテーションをすることができます。
アプリケーションログの設定は、フローサービス管理コンソールの「設定」-「ログ」-「アプリケーション」の画面で行います。アプリケーションログ設定を作成後、フローデザイナーからプロジェクトまたはフローのインスペクタの「アプリケーションログ設定」プロパティでどのアプリケーションログ設定に出力するか選択します。
FlowService.logへの出力を抑制するには、フローデザイナーからのアプリケーションログ設定で「システムログへ出力」プロパティに「いいえ」を選択します。システムログとはFlowService.logのことで、アプリケーションログのみへ出力するようになります。
詳しくは下記のドキュメントを参照してください。
- フローサービス管理コンソールヘルプ:「設定」-「ログ」-「アプリケーション」
- フローサービスマニュアル:「フローデザイナー」-「ログ出力機能」-「アプリケーションログ」の「フローの実行ログをアプリケーションログに出力する」
📝 NOTE
アプリケーションログはコンポーネントで任意のメッセージを出力することもできます。
