「マップ サービスにアクセスできない…!?」
システムを利用し続けていく中で、何らかの問題が発生することがあります。 停止させていたなど、再起動中だったということで、すぐに解決できるものもありますが、 往々にして、ArcGIS Enterprise などのバックエンドの環境に関する問題などは、運用環境も様々であるため簡単には解決できないケースもあります。
そんな時に原因を修正するときに役立つのがログです。 それ以外にもシステムのメンテナンスや利用状況を確認することにも役立ちます。
ログには様々な事象が記録され、何が発生したか、 傾向的にどんなイベントが発生しているかなどを知ることができ、 ArcGIS Enterprise のシステムでもそれぞれのコンポーネントでログを提供しています。
本ブログでは、ArcGIS Enterprise での各種コンポーネントの代表的なログの確認方法を紹介します。
また後半では、問い合わせなど問題が報告された際に、筆者自身がこれまでの経験上実施している内容などを少し補足します。
早速ですが、まずはデフォルトの保存場所のリストを示して、各セクションで確認方法を説明します。
ログの種類 デフォルトの保存場所
Portal for ArcGIS ログ | Windows - C:\arcgisportal\logs Linux -<Portal for ArcGIS installation directory>/usr/arcgisportal/logs |
ArcGIS Server ログ | Windows - C:\arcgisserver\logs Linux - <ArcGIS Server installation directory>/usr/arcgisserver/logs |
ArcGIS Data Store ログ | Windows - C:\arcgisdatastore\logs Linux - <ArcGIS Data Store installation directory>/usr/logs |
IIS エラーログ | Windows - %SystemRoot%\system32\LogFiles\HTTPERR |
IIS アクセスログ | Windows - %SystemDrive%\inetpub\logs\LogFiles |
Apatch ログ | Linux - /var/httpd/logs |
Portal for ArcGIS(ポータル) は、コンテンツ管理システムとして、その中でユーザーはアイテム作成、アイテム管理、共有などを効率よく行うことができます。 ポータル上での操作で何らかの問題や現状の把握をほりさげる場合にログを確認します。
Portal for ArcGIS のログのデフォルト ディレクトリは下記の場所です。
Windows - C:\arcgisportal\logs
Linux - <Portal for ArcGIS installation directory>/usr/arcgisportal/logs
インストール時やその後個別に指定している場合、下記の方法でログの保存場所を確認し、合わせてインターフェースでログを確認することができます。
ArcGIS Portal Directory を開き、管理者ユーザーでログインします。
アクセス URL は、一般的に https://webserver.domain.com/<portal_context Web Adaptor 名など>/portaladmin になります。
ページ内リンク Logs > Settings に移動します。
ここではログの保存場所やログ レベルを確認、修正可能です。
ログレベルは、ある事象が確認されたとき、さらに詳細な情報を取得できるようレベルを変更して、再度事象を確認し、事象の要因等を発見することを支援します。
ログの確認は、Logs > Query で取得します。
ArcGIS Server は、メインコンテンツとなる GIS データや処理を Web サービスとして配信・処理する仕組みを実現しており、Web GIS の根本となるコンポーネントの一つです。
ArcGIS Server や配信しているサービスに関して何らかの問題が発生した場合は、その内容がログに記録されます。
ArcGIS Server のログのデフォルト ディレクトリは下記の場所です。
Windows - C:\arcgisserver\logs
Linux - <ArcGIS Server installation directory>/usr/arcgisserver/logs
インストール時やその後個別に指定している場合、下記の方法でログの保存場所を確認し、合わせてインターフェースでログを確認することができます。
良く案内するものとしては、ArcGIS Server Manager ですので、ここでは Portal for ArcGIS と同様のインターフェースでの確認方法を記載します。
ArcGIS Server Admin Directory を開きます。
アクセス URL は、一般的に https://webserver.domain.com/<server_context Web Adaptor 名 (管理アクセス許可している場合)>/admin や https://webserver.domain.com:6443/arcgis/admin になります。
Tips: ArcGIS Web Adaptor などのコンテキストは、管理アクセス用、サービス利用用に分けて運用することも可能です。
ページ内リンク Logs > Settings に移動します。
ログの保存場所やレベルを確認、修正可能です。
ログレベルは、ある事象が確認されたとき、さらに詳細な情報を取得できるようレベルを変更して、再度事象を確認し、事象の要因等を発見することを支援します。
ログの確認は、Logs > Query で取得します。
ArcGIS Data Store は、Enterprise portal のホスト サービスを公開する場合のデータを管理するためのデータストアで、オープン ソースのデータベース(PostgreSQL、CouchDB など)が利用されています。
ArcGIS Data Store のログのデフォルト ディレクトリは下記の場所です。
Windows - C:\arcgisdatastore\logs
Linux - <ArcGIS Data Store installation directory>/usr/logs
インストール時やその後ディレクトリ管理として個別に指定している場合、下記の方法で確認可能です。
<ArcGIS Data Store Store installation directory>\tools\ に移動します。
コマンド ユーティリティ DescribeDataStore を実行します。
なお、ArcGIS Data Store には、ArcGIS Enterprise で一般的に扱う上で設定するタイプとして、 relational(ホスト フィーチャ サービス用)と tile cache(シーンサービス)がありますが、 それぞれのタイプで、PostgresSQL と CouchDB を内部で利用しており、ログディレクトリにはそれぞれのログが記録されています。
Windows - C:\arcgisdatastore\logs\<server name>\database
Linux - <ArcGIS Data Store installation directory>/usr/logs/<server name>/database
Windows - C:\arcgisdatastore\logs\<server name>\couchlog
Linux - <ArcGIS Data Store installation directory>/usr/logs/<server name>/couchlog
ユーザーから Portal for ArcGIS や ArcGIS Server へのリクエストを中継する ArcGIS Web Adaptor を利用している場合、 Windows では一般的に IIS を利用します。
IIS の HTTP エラーログは、
%SystemRoot%\system32\LogFiles\HTTPERR に出力され、
アクセスログのデフォルトは %SystemDrive%\inetpub\logs\LogFiles です。
エラーログは、レジストリで管理 され、 アクセス ログの有効化やログの保存場所の確認は、IIS 管理画面で実施することができます。
Java ベースの Web サーバーで代表的な Apache を利用している場合、 Linux の場合デフォルトは下記にエラーログ、アクセスログが出力されます。
/etc/httpd/logs (/var/httpd/logs にシンボリックリンクが設定されています。)
確認や修正は、/etc/httpd/httpd.conf もしくは /etc/apache の conf ファイルに定義されることが一般的です。
発生した事象の挙動から切り分けられることも多いですが、Web サーバーでのトラブルシューティングや、 ArcGIS Web Adaptor でのセットアップでのログ情報、システムへのアクセス解析を行う場合はこれらのログを参照すると有効です。
起きている現象によって必ずこの限りではありませんが、代表的な対応を紹介します。
はじめに、報告された事象の前提条件、例えば OS や ArcGIS Enterprise のバージョンやシステム構成、ブラウザー情報、ユーザー情報などの環境情報、 そして現象が発生する場合の操作手順の詳細の整理を試みます。
そのあと、現象を再現できるかを確認しますが、そのときログの確認ではなく、操作上のログ情報を取得していきます。
例えば、ブラウザー操作であれば、ブラウザーの開発者ツールでのコンソールやレスポンス コード、リクエストとレスポンスの確認を行います。 クライアントアプリがある場合は、アプリケーションの動作とともに、Telerik Fiddler などのキャプチャーソフトウェアを活用したりしてリクエストの確認を行うこともあります。(プロキシや利用しているネットワークによっては、別途設定を行わなければいけないケースがあるので、その点は注意します。)
これでアプリケーション層か、バックエンドのサーバーサイド、またはネットワークなどの利用環境なのかを大きく切り分けを行います。 この時のレスポンスのメッセージや挙動から、Web サーバーか、Portal for ArcGIS なのか、ArcGIS Server もしくは ArcGIS Data Store なのかを簡単に当たりを付けることもあります。
バックエンドのサーバーサイドの場合に、問題をほりさげるため、サーバーログのレベルを変更して、同じ現象を発生させログを収集して解析を実施します。
このとき、REST インターフェースでログを見ることもありますが、必ず直接見られるというケースではないことも多々ありますので、上記のログファイルを取得し、個別にローカルで確認していきます。
状況によっては、原因特定が難しいケースは、単一のログファイルというよりは、複数のログファイルを確認しなければいけないときもあり、 テキストエディターで検索を実施することもありますが、この頃はログファイルを効率よく集計、確認する方法も世の中にはありますが、より一般的なツールとして Excel やメッセージ量が多い場合は BI ツールなどで取り込み、一括で検索できるようにした上で確認するといったようなことをしています。
以上、ArcGIS Enterprise での代表的なログと、参考情報として問題切り分け時の一次確認方法をご紹介しました。
ご紹介した内容は、運用時のメンテナンスでも活用でき、事前にシステムの異常に対応することにもつながります。 是非ご参考にしていただければと思います。