固定幅のログファイルをCSVに解析する

固定幅のサーバーログファイルを分析用にCSV形式に変換します。タイムスタンプ、ログレベル、プロセスID、メッセージの抽出について解説します。

Legacy Formats

詳細な説明

ログファイルの解析

多くのサーバーアプリケーションは、各フィールドが一貫した文字数を占める固定幅フォーマットでログファイルを書き出します。CSVに変換することで、ログ分析ツール、スプレッドシート、データベースへのインポートが容易になります。

一般的なログフォーマット

2024-01-15T10:30:45.123INFO       1234Application started successfully
2024-01-15T10:30:46.456DEBUG      1234Loading configuration from /etc/app/config.yml
2024-01-15T10:30:47.789WARN       1234Connection pool size is below minimum
2024-01-15T10:30:48.012ERROR      5678Failed to connect to database on port 5432

カラムレイアウト

フィールド 説明
Timestamp 23 ミリ秒付きISO 8601
Level 8 ログレベル(INFO, DEBUG, WARN, ERROR)
PID 8 プロセスID、右寄せ
Message 60 フリーテキストメッセージ

結果のCSV

Timestamp,Level,PID,Message
2024-01-15T10:30:45.123,INFO,1234,Application started successfully
2024-01-15T10:30:46.456,DEBUG,1234,Loading configuration from /etc/app/config.yml
2024-01-15T10:30:47.789,WARN,1234,Connection pool size is below minimum
2024-01-15T10:30:48.012,ERROR,5678,Failed to connect to database on port 5432

分析の可能性

CSVにすることで:

  • ログレベルでフィルタ:ERRORとWARNエントリのみを抽出
  • PIDでグループ化:特定プロセスの全メッセージを確認
  • 時間範囲クエリ:特定の時間帯のエントリを選択
  • データベースにインポート:SQLite、PostgreSQL、ログ集約ツールに読み込み

自動検出のヒント

タイムスタンプとレベルフィールドが一貫したスペースパターンを作成するため、自動検出機能はログファイルでよく機能します。自動検出の幅がわずかにずれている場合は、カラム定義パネルで手動調整してください。

ユースケース

アプリケーションログファイルをスプレッドシートでの分析用にCSVに変換、ログ分析プラットフォーム(ELKスタック、Splunk)へのインポート、またはインシデント調査のためのSQLクエリに使用します。

試してみる — Fixed Width ↔ CSV Converter

フルツールを開く