Nginxエラーログの解析

Nginxエラーログフォーマットのエントリを解析して、タイムスタンプ、重要度レベル、プロセスID、エラーメッセージを抽出し、サーバーデバッグに活用します。

Nginx

詳細な説明

Nginxエラーログフォーマット

Nginxエラーログは、タイムスタンプ、重要度レベル、プロセスおよびスレッドID、エラーメッセージを含む特定のフォーマットに従います。アクセスログとは異なり、サーバーサイドの問題に関する診断情報を提供します。

フォーマット構造

YYYY/MM/DD HH:MM:SS [level] pid#tid: message

ログ行の例

2024/01/15 10:30:00 [error] 12345#67890: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 10.0.0.5, server: example.com
2024/01/15 10:30:01 [warn] 12345#67890: *2 an upstream response is buffered to a temporary file
2024/01/15 10:30:02 [notice] 1#1: signal 17 (SIGCHLD) received from 12345

抽出されるフィールド

フィールド 説明
タイムスタンプ YYYY/MM/DD HH:MM:SS 形式の日時
レベル 重要度レベル: debuginfonoticewarnerrorcritalertemerg
PID NginxワーカーのプロセスID
TID スレッドID
メッセージ コンテキスト付きの完全なエラーメッセージ

よくあるエラーパターン

  • connect() failed — アップストリームサーバーに到達不能(バックエンドダウン)
  • upstream timed out — バックエンドの応答が遅すぎる
  • open() failed (2: No such file or directory) — ファイル不足
  • SSL_do_handshake() failed — TLS/SSL問題
  • worker_connections are not enough — 接続制限の増加が必要

ユースケース

Nginxリバースプロキシ障害の診断、バックエンドサービスとのアップストリーム接続問題の特定、SSL/TLS証明書エラーのトラブルシューティング、レート制限や接続飽和の監視、デプロイ後のエラーパターン分析。

試してみる — Log Format Parser

フルツールを開く