ネストされたオブジェクトを含むJSONログの解析

リクエスト/レスポンス詳細、エラースタック、メタデータフィールドなどのネストされたオブジェクトを含む複雑なJSON構造化ログを解析します。

JSON

詳細な説明

JSONログのネストされたオブジェクト

本番環境のJSONログには、豊富なコンテキストデータを持つネストされたオブジェクトが含まれることがよくあります。パーサーはトップレベルの標準フィールドを抽出し、ネストされたオブジェクトを追加フィールドセクションにシリアライズして検査できるようにします。

例: APIリクエストログ

{
  "timestamp": "2024-01-15T10:30:00.000Z",
  "level": "error",
  "logger": "api-handler",
  "message": "Request failed with validation error",
  "request": {
    "method": "POST",
    "path": "/api/users",
    "body": {"name": "", "email": "invalid"}
  },
  "error": {
    "code": "VALIDATION_ERROR",
    "details": [
      {"field": "name", "message": "Name is required"},
      {"field": "email", "message": "Invalid email format"}
    ]
  },
  "requestId": "req-abc-123"
}

ネストされたフィールドの処理方法

  1. トップレベル標準フィールドtimestamplevelloggermessageがそれぞれの列に抽出
  2. ネストされたオブジェクト — JSON文字列にシリアライズされ、追加フィールドとして表示
  3. スカラー追加フィールドrequestIddurationなどはそのまま追加フィールドに表示

相関ID

マイクロサービスアーキテクチャの一般的なパターンは、すべてのログエントリにrequestIdtraceIdcorrelationIdとも呼ばれる)を含めることです。解析済みログを検索する際、このIDでフィルタリングすることで、複数のサービスログをまたいで単一のリクエストを追跡できます。

ユースケース

ネストされたリクエスト/レスポンスオブジェクトの検査によるAPIリクエストバリデーション失敗のデバッグ、相関IDを使用したマイクロサービス間のリクエスト追跡、ネストされたエラー詳細オブジェクトによるエラーパターン分析、本番ログのシリアライズされたメタデータの検査。

試してみる — Log Format Parser

フルツールを開く