JMeterログファイル分析

JMeterログファイルの理解

各負荷エンジンからキャプチャされたJMeterログファイルjmeter.log)は、JMeterランタイムからの詳細な診断出力を提供します。JMeterコアとプラグインによって生成されるINFO、WARN、ERRORメッセージが含まれており、設定の問題、プラグインエラー、予期しないランタイム動作のトラブルシューティングに不可欠です。

JMeter Log File Example

JMeterログの内容

ログの各行は次のパターンに従います:<timestamp> [<thread-name>] <level> <logger> – <message>

  • timestamp ログエントリが書き込まれた日時(例:2025-04-23 07:57:24,894)。

  • thread-name ログを生成したJMeterスレッドまたはコンポーネント(例:StandardJMeterEngine)。

  • level ログレベル:INFO、WARN、ERROR、またはDEBUG(有効な場合)。

  • logger メッセージを発行しているJavaクラスまたはパッケージ(例:org.apache.jorphan.reflect)。

  • message イベント、警告、エラーを説明する実際の診断テキスト。

JMeterログへのアクセスと使用方法

  1. 「Logs」に移動 テスト結果ダッシュボードで、Logsタブを選択し、テストファイルパネルでJMeter log fileを選択します。
  2. スクロールと検索 中央パネルにログ内容がストリーミングされます。ブラウザの検索を使用してERRORWARNなどのキーワードにジャンプします。
  3. オフライン分析用にダウンロードJMeter log fileの横にあるダウンロードアイコンをクリックして、完全なjmeter.logを保存して詳細に調査します。

よくあるログエントリ

  • INFO StandardJMeterEngine – Running the test! テスト実行の開始を示します。
  • WARN ConfigTestElement – Missing property 'foo' JMeterプロパティの欠落または不正を示します。
  • ERROR HTTPSamplerProxy – Non HTTP response code: 500 サンプラーによって表面化されたHTTPエラーを示します。
  • INFO JOrphanUtils – Will scan jar ... プラグインとライブラリのロードメッセージ(正常)。
  • ERROR GC – OutOfMemoryError JVMまたはプラグインのメモリ問題。ヒープの増加またはスレッドの削減を検討してください。

ログを使ったトラブルシューティング

  • スレッドの起動失敗 「Running the test!」行の直後のERRORエントリを探します。多くの場合、スレッドグループの設定ミスまたはプラグインの欠落です。
  • プラグインのロードエラーClassNotFoundExceptionNoClassDefFoundErrorメッセージは、リモートエンジンでのJARのロード失敗を示します。
  • リソース制限 メモリ不足やファイルハンドルの警告は、JVMオプション(-Xmx-XX:MaxFileDescriptor)の調整が必要であることを示します。
  • レイテンシ&タイムアウト警告 HTTPサンプラーのタイムアウトとソケット例外は、LoadFocusエージェントとターゲット間のネットワーク接続の問題を明らかにします。

ベストプラクティス

  • デバッグログの選択的有効化 ログが極端に大きくなるのを避けるため、log_level.jmeter=DEBUGは限定的なテストにのみ設定してください。
  • クロックの同期 すべての負荷エージェントがNTPを使用して、分散ログ間でタイムスタンプが整合するようにします。
  • 他のビューとの相関 ログのタイムスタンプをEngine HealthErrorsチャートと照合して、スパイクや障害の根本原因を特定します。
  • ログのアーカイブ 各テスト実行の完全なフォレンジック追跡のために、jmeter.logをJTL結果とともに保存します。

まとめ

LoadFocusのJMeterログファイルは、ハイレベルメトリクスでは見えないJVMエラー、設定警告、プラグインの問題を表面化するための重要なトラブルシューティングツールです。これらのログを定期的に確認しアーカイブすることで、捉えにくいテスト実行の問題を診断し、信頼性が高く再現可能な負荷テストキャンペーンを維持できます。