ログ ファイルの仕組み
ArcGIS Server は、サーバ上で発生するイベントと、それらのイベントに関連するエラーをログ ファイルに記録します。ログに記録されるイベントとしては、サービスの開始、サービスの使用(サーバ コンテキストの作成)、サーバへのコンピュータの追加が挙げられます。マップ サービスのレイヤ描画速度などのメッセージもログに書き込むことができます。
ArcGIS Server SOC Monitor(ArcSOCMon.exe)は、ArcGIS Server のための一元的なログの読み取り/書込みを行います。ArcSOCMon の機能の 1 つは、SOM(Server Object Manager)、SOC(Server Object Container)、そしてそれらのサービスで発生するすべてのイベントをログに記録することです。
ログは、実際には、ArcGIS Server システムの各コンピュータに存在するペアとなる XML ファイルと *.dat ファイルの集まりです。XML ファイルには <log> タグが含まれ、*.dat ファイルには定常的に追加されるメッセージが含まれます。XML ファイルを XML 対応ツールで開き、*.dat ファイルのメッセージを参照することができます。
ログ ファイルは現在、すべての ArcGIS Server コンピュータに分散しているため、手作業でログ ファイルを読んで関係付けるのは困難です。ログ ファイルを読み取るには Manager アプリケーションを使用するのが最善ですが、Server API(ArcObjects)を使用してアクセスすることもできます。どちらの方法でも、ログ ファイルがどのコンピュータに存在するかに関係なく、ログ メッセージは時系列で整理されます。
デフォルトで、ログ ファイルは、すべてのコンピュータの <ArcGIS Server インストール ディレクトリ>\server\user\log に書き込まれます。ArcGIS Server が再起動するたびに、新しいログ ファイルが作成されます。そして、最大ログ サイズに達するまで、そのログ ファイルにサーバがメッセージを書き込み続けます。
最大サイズに達したログ ファイルへの書き込みは中止され、新しいログ ファイルが作成されます。最大ログ サイズのデフォルト値は 10 MB です。この値は変更でき、ログ ディレクトリに書き込むログ ファイルの総数を指定することもできます。これらの設定は、Manager または ArcCatalog の [サーバ プロパティ] ダイアログ ボックスの [一般] タブにあります。
ログ メッセージは、迅速な対処を必要とする問題を示す「Error」から、サーバの通常の使用を通じて生成される一般的なメッセージである「Detailed」まで、それらの重大度によって異なります。ログ レベルは、ファイルに書き込まれるメッセージの数とタイプを決定します。次に、ArcGIS Server のログ レベルを示します。
None: ログを記録しません。
Error: 迅速な対処を必要とする重大な問題。
Normal: 注意を必要とする問題とエラー。
Info:Simple: サービスの作成に関するメッセージなど、サーバの一般的な管理メッセージ。このレベルには警告とエラーも含まれます。
Info:Standard: サーバの使用に関する一般的なメッセージ。リクエストごとに多くて 1 回ログに記録されます。このレベルには、すべての Info:Simple メッセージ、警告、エラーも含まれます。
Info:Detailed: マップ サービス内の各レイヤの描画に成功したことを示すなど、リクエストごとに何度もログに記録できるサーバの頻繁なメッセージ。このレベルには、Info:Standard と Info:Simple のすべてのメッセージに加えて、警告とエラーが含まれます。
Verbose: ArcGIS Server 開発者が、開発したサーバ オブジェクトまたはサーバ オブジェクト エクステンションをテストするときにデバッグ メッセージを記録するレベル。情報レベルのすべてのメッセージ、警告、エラーが含まれます。
デフォルトでは、サーバのログ レベルは Info:Simple に設定され、重大度が Error、Normal、または Info:Simple のメッセージがログに記録されることを意味します。重大度が Info:Standard または Info:Detailed のメッセージは一切ログに記録されません。
ログの場所、最大ログ サイズ、ログ レベルは、Manager、ArcCatalog、または ArcGIS Server API を使っていつでも変更することができます。すべての変更はサーバ上で直ちに反映されます。
ArcGIS Server の分散インストールをセットアップしている場合は(分散インストールでは、サーバのコンポーネントが複数のコンピュータ上で実行されます)、ログ ディレクトリを共有し、それを UNC パス(\\myServer\log など)で参照する必要があります。または、すべてのコンピュータで同じログ ディレクトリを指すローカル パスを使用することもできます。また、SOC アカウントにログ ディレクトリへの [読み取り] と [書き込み] の権限があることを確認する必要もあります。
ログ ファイルを手作業で削除するには、ログ ファイルを書き込んでいるコンピュータの ArcSOCMon.exe プロセスを停止する必要があります。これは共有ディレクトリにログ ファイルを書き込んでいる場合にも当てはまります。ログ ファイル名には、ファイルを書き込んだ SOC コンピュータの名前が含まれます(その前に SOM コンピュータ名が付きます)。
ログ ファイルを管理ツールとして使用する
ログ ファイルは、GIS サーバに関する問題を監視してトラブルシューティングするための重要なツールです。GIS サーバ管理者は、サーバの統計情報を監視し、統計情報に基づいてログ ファイルを調査する必要があるかどうかを判断できます。GIS サーバの統計情報は、GIS サーバの状態に関する一般的な情報と、エラーが発生しているかどうかを示します。GIS サーバ管理者は、ArcCatalog を使って統計情報を取得することができます。
GIS サーバの統計情報とシステムのユーザからの報告を通じて、GIS サーバ管理者はシステムで発生しているエラーやその他の問題に取り組みます。ログ ファイルは、それらのエラーがどのようなものであるかを特定するための情報を提供します。ログ ファイルの情報を通じて、問題を解決するために何を調査すべきかを示します。
たとえば、管理者がサーバの統計情報を表示していて、サーバ上での新しいサービスの作成に関連するエラーの存在に気付いたとします。統計情報をさらに調査することで、問題領域を特定の SOC コンピュータに絞り込むことができます。さらに、ログ ファイルの情報をもとに、ログに記録されているエラーがどのようなものであるかを判断し、たとえばエラーが発生した SOC コンピュータが出力ディレクトリにアクセスできなかったことを発見したとします。管理者はこの情報をもとにディレクトリへのアクセス問題を解決し、統計情報とログ ファイルを使ってエラーの再発の有無を確認することができます。
ログ ファイルは、サーバ上で発生する統計情報とイベントの履歴で構成されます。サーバの統計情報はメモリ内に格納され、GIS サーバが起動してからのタイム スライスを累積します。これらのタイム スライスの精度は、時間をさかのぼるにつれ失われていきます。また、サーバが停止すると、統計情報も削除されます。GIS サーバのログはサーバ上の全イベントの記録を保持し、サーバが停止しても削除されません。
セキュリティ ワークフローにおけるログ ファイル
GIS サーバでセキュリティを有効にした場合、リクエストしているユーザを示すタグがログ メッセージに追加されます。これは GIS サーバ上での個々のユーザの行動を追跡するのに役立ちます。