Apacheのログの設定をしよう(初期値編)

デバッグや監視に欠かせいないのがログファイルです。

Apacheのログファイルについて見ていきたいと思います。

ログファイルのディレクトリ

初期のログファイルは次の場所にあります。

/var/log/apache2

しかし、デフォルトでは一般ユーザーでは閲覧ができません。

パーミッションを確認してみましょう。

ls -al /var/log
drwxr-x---  2 root   adm       4096 Feb 22 00:38 apache2

所有者がrootで、所属グループがadmになっています。

admはログを閲覧できるグループです。

ログインしているユーザーに閲覧権限を与えたいなら、admグループに所属させましょう。

usermod -aG adm kana

グループの設定を反映させるためにログインしなおします。

もしくはsudoコマンドが使えるユーザーなら、それでも構いません。

sudo ls /var/log/apache2

ログファイルの種類

ログファイルには2種類あります。

1つはウェブにアクセスした記録が残るaccess.log、もう1つはエラーが記録されるerror.logです。

たとえば、設定ファイルのデバッグを行うにはerror.logを監視します。

tail -f /var/log/apache2/error.log

サーバーにどんなアクセスが来ているか見たいときにはaccess.logを見ることになるでしょう。

tail -f /var/log/apache2/error.log

ログローテート

サーバーをしばらく運用していると、ログファイルがたまってきます。

Linuxではログローテートという機能を使ってログファイルの世代管理を行うことができます。

ログローテートが実行されたログは次のようなファイル名で保存されていきます。

access.log.1.gz
access.log.2.gz
access.log.3.gz
access.log.4.gz
access.log.5.gz
access.log.6.gz
access.log.7.gz
access.log.8.gz
access.log.9.gz
access.log.10.gz
access.log.11.gz
access.log.12.gz
access.log.13.gz
access.log.14.gz

gzip形式に圧縮された上で番号が付けられます。

ログファイルは管理する世代を超えると、また一番から上書きされます。

ログローテートの設定ファイル

Apacheのログローテートの設定は次の場所にあります。

/etc/logrotate.d/apache2
/var/log/apache2/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
        endscript
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
}

この中ではdailyrotateだけ確認しておけば十分です。

dailyは毎日ログファイルを切り替えることを意味します。

rotateは何世代分保管するかを決めます。

上記の設定では毎日ログファイルを切り替え、14日分保存します。

Apacheのようなウェブサーバーはアクセスログの量も膨大になりますので、毎日切り替えるぐらいの方が確認がしやすいでしょう。

まとめ

ログローテートはApache独自の機能ではありませんが、古いログが上書きされて困る場合もありますので、確認しておきましょう。

またウェブサーバーのログがディスクの容量を圧迫することも珍しくありません。

さて、記事が長くなりがちなので、続きは次にしたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です