JSON構造化ログの解析

Winston、Bunyan、Pino、Logrusなどのモダンなロギングライブラリで使用されるJSON形式の構造化ログエントリを自動フィールド抽出で解析します。

JSON

詳細な説明

JSON構造化ロギング

JSON構造化ログはアプリケーションロギングのモダンな標準です。自由形式のテキストの代わりに、各ログエントリが明確に定義されたフィールドを持つJSONオブジェクトになります。これによりログは機械可読、検索可能になり、ELK、Datadog、Splunkなどのログ管理システムへの取り込みが容易になります。

一般的なJSONログフィールド

異なるロギングライブラリはやや異なるフィールド名を使用しますが、パーサーは一般的なバリエーションをすべて処理します:

用途 フィールド名
タイムスタンプ timestamptimets@timestampdate
重要度 levelseverityloglevellog_level
ソース loggersourceservicemodulecomponent
メッセージ messagemsgtextlog

ログエントリの例

Winston (Node.js):

{"level":"info","message":"Server started on port 3000","timestamp":"2024-01-15T10:30:00.000Z","service":"api-gateway"}

Pino (Node.js):

{"level":30,"time":1705312200000,"msg":"Request completed","pid":12345,"hostname":"web-01","req":{"method":"GET","url":"/api/health"},"res":{"statusCode":200},"responseTime":12}

追加フィールド

標準ログフィールドとして認識されないJSONキーは追加フィールドとして抽出され、折りたたみセクションに表示されます。リクエストID、実行時間、ユーザーID、エラースタックトレースなどのコンテキスト固有のデータをキャプチャします。

ユースケース

マイクロサービスアーキテクチャのアプリケーションログ分析、相関IDを使用した分散システム問題のデバッグ、ログエントリに埋め込まれたサービスヘルスメトリクスの監視、集中ログ管理プラットフォームへの取り込み準備。

試してみる — Log Format Parser

フルツールを開く