2026年5月25日
2026年5月25日
Nginxのログ形式をカスタマイズする方法
はじめに
Nginxは多くのWebサイトで使用される高性能なウェブサーバーであり、その性能と安定性が高く評価されています。一方で、デフォルトのログ形式では必要な詳細情報が不足することがあります。そこで、ログ形式をカスタマイズしてより詳細なアクセス情報を取得することで、サイトのモニタリングや故障時のトラブルシュートに役立ちます。
症状・背景
Nginxが必要となる主な場面は以下の通りです:
- アクセスログが不十分で、問題発生時に必要な情報を得られない。
- サイトの性能向上やセキュリティ強化のために詳細なアクセス情報が必要。
- カスタムメトリクスを追加して監視システムに統合する必要がある。
手順・設定方法
ステップ1: 現行のログフォーマットを確認
# Nginxの現在のログフォーマットを確認します。
cat /etc/nginx/nginx.conf | grep 'log_format'
ステップ2: カスタムログフォーマットを定義
# /etc/nginx/conf.d/custom_log_format.confにカスタムフォーマットを定義します。
echo "log_format custom '$remote_addr - $remote_user [$time_local] \"$request\" "
echo "$status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"';" > /etc/nginx/conf.d/custom_log_format.conf
ステップ3: ログフォーマットを適用
# 定義したカスタムログフォーマットを使用する場所に指定します。
echo "access_log /var/log/nginx/access.log custom;" >> /etc/nginx/sites-available/default
ステップ4: Nginxを再起動して変更を適用
# Nginxを再起動して新しい設定を適用します。
systemctl restart nginx
注意事項
- カスタムログフォーマットは/etcd/nginx/conf.d/ディレクトリに配置し、適切な場所で指定する必要がある。
- 既存のアクセスログファイルはバックアップを取ることを忘れないでください。
- 重要なログ情報は漏洩しないようにセキュリティ対策を施す。
まとめ
1. カスタムログフォーマットの定義: ログフォーマットを新しい形式に変更するために、/etc/nginx/conf.d/custom_log_format.confファイルを作成します。
2. ログフォーマットの適用: access_logディレクティブを使用して新規ログフォーマットを指定します。
3. 再起動と確認: Nginxを再起動し、新しい設定が正しく適用されていることを確認します。
関連記事: