アプリケーションサーバログの見るべきポイントとは?

2024年3月23日テクニカルメモ

バージョン9.0.3

アプリケーションサーバログの確認

トラブル発生時に「アプリケーションサーバへアクセスできない時に確認すること」でアプリケーションサーバへの疎通確認を行い、アプリケーションサーバ単体への接続に問題がある場合にはアプリケーションサーバのログを確認して、エラーの原因を特定し対応します。

WebFOCUSでは、 Apache Tomcatが同梱されています。そのため、本ページは Apache Tomcatの内容に基づき、記載します。

Apache Tomcatの関連ログ

■Apache Tomcatログ

  • Windows: <Drive>:\ibi\tomcat\logs
  • Linux  : <Directory>/ibi/tomcat/logs
ログファイル名内容確認対象備考
catalina.out標準出力、標準エラー出力エラーメッセージLinuxのみ
catalina.YYYY-MM-DD.logTomcat自体のログエラーメッセージ
localhost.YYYY-MM-DD.logホスト共通のServletContextのログエラーメッセージ
manager.YYYY-MM-DD.logmanager webappのServletContextのログエラーメッセージ
host-manager.YYYY-MM-DD.loghost-manager webappのServletContextのログエラーメッセージ
commons-daemon.YYYY-MM-DD.logサービスの起動、停止のログエラーメッセージWindowsのみ
tomcatX-stdout.YYYY-MM-DD.log標準出力エラーメッセージWindowsのみ
tomcatX-stderr.YYYY-MM-DD.log
※Xはバージョンが入ります
標準エラー出力エラーメッセージWindowsのみ
localhost_access_log.YYYY-MM-DD.txtホスト共通のアクセスログアクセスログ
accesslogアクセスログアクセスログ

Apache Tomcatのログの見方

tomcatX-stderr.YYYY-MM-DD.log(※Xはバージョンが入ります)

[2022-01-30 12:05:00,864] org.apache.catalina.core.ContainerBase.[Catalina]. [localhost].[/ibi_apps].[WFServlet] ERROR - サーブレット WFServlet のServlet.service()が例外を投げました java.lang.OutOfMemoryError: Java heap space
意味
2022-01-30 12:05:00,864 事象が発生した時間
ERRORエラーが発生したことを意味する
サーブレット WFServlet のServlet.service()が例外を投げましたエラー概要
java.lang.OutOfMemoryError: Java heap spaceエラー内容

localhost_access_log.YYYY-MM-DD.txt

1 - - [29/Mar/2022:14:33:20 +0900] "GET /ibi_apps/portal/DEMO HTTP/1.1" 200 13989
意味
::1TomcatにアクセスしてきたPCのIPアドレス
[29/Mar/2022:14:33:20 +0900] HTTPリクエストを受信した時刻
GET /ibi_apps/portal/DEMO HTTP/1.1 「http://サーバ名/ibi_apps/portal/DEMO」にGETメソッドでアクセスしてきたことを表します。
200HTTPのステータスコード(200は正常終了)
13989 HTTPレスポンスのサイズ(バイト数)

トラブル事例

OutOfMemoryError

  • ログファイル

   catalina-yy-mm-dd.log、 catalina.out 、 tomcatX-stderr.YYYY-MM-DD.log

  • エラーメッセージ

   catalina-yy-mm-dd.log:java.lang.OutOfMemoryError: Java heap space

  • 原因

   Tomcat のヒープメモリが設定値を超えている

  • 対応

   アプリケーションサーバのヒープサイズの設定」参照

サービスが起動しない

  • ログファイル

   catalina-yy-mm-dd.log、 commons-daemon.YYYY-MM-DD.log

  • エラーメッセージ
SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end
 point associated with ProtocolHandler ["http-nio-8080"]
 java.net.BindException: アドレスは既に使用中です
  • 原因

   ポートの競合でTomcatの起動に失敗している。

  • 対応

デフォルトでは「8005」「8009」「8080」のポートを使用します。該当ポートがほかのアプリケーションで使用されていないか、前回のTomcatの停止が正しく完了しているのか確認してください。