2026年8月3日

2026年8月3日

Apacheのログ形式をJSONに変更する方法

はじめに

Apache HTTPサーバーは、多くのウェブサイトやアプリケーションで使用される定番のサーバーです。デフォルトでは、Apacheはログを標準形式(通常はCombined Log Format)で記録しますが、JSON形式に変更することで、より柔軟な解析や監視が可能になります。

症状・背景

このテーマが必要になる主な場面:

  • ログ分析ツールとの統合
  • ログのリアルタイム解析
  • セキュリティの監視と調査
  • パフォーマンスモニタリング

手順・設定方法

ステップ1: mod_log_configモジュールのインストールと有効化

# Apacheがmod_log_configモジュールを提供していることを確認
sudo a2enmod log_config

# 配置ファイルを編集する準備
sudo nano /etc/apache2/apache2.conf

ステップ2: ログフォーマットの定義

# 既存のログフォーマットを削除し、新しいJSON形式のログフォーマットを追加
LogFormat "{ \"time\": \"%t\", \"status\":\"%s\", \"request\":\"%r\", \"user\":\"%u\" }" json

ステップ3: ログファイル名とパスの設定

# LogFileの設定を変更してJSON形式のログファイルを作成する
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log json

ステップ4: 一連の実践/トラブルシュート/監視

# Apacheを再起動して変更を適用する
sudo systemctl restart apache2

# JSON形式のログファイルが生成されていることを確認
ls -l /var/log/apache2/access.log

注意事項

  • ログフォーマットは必要に応じてカスタマイズ可能。
  • ログ分析ツールとの互換性を考慮する。
  • ファイル名やパスが異なる場合、適切なパスを使用すること。

まとめ

1. JSON形式のログフォーマットの定義: LogFormatコマンドで新しいフォーマットを作成します。

2. ログファイルの設定: CustomLogコマンドを使ってJSON形式のログファイルを指定します。

3. Apacheの再起動: ログ設定が有効になるため、サーバーを再起動します。

4. ログファイルの確認: JSON形式のログが正しく生成されていることを確認します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ