ログイン認証、メール送信ログなど様々な用途に応じて、様々な種類のログが存在します。 syslogなどのログ制御システムを介して出力する場合もあれば、プログラム自体が出力する場合もあります。
1. 一般的なログと格納先
ファイル名 | 用途 | 主な格納先 | ログの出力元 |
---|---|---|---|
cron | cronの実行結果を保存 | /var/log | syslog |
maillog | メール関連 | /var/log | syslog |
messages | システムメッセージ、各種ソフト | /var/log | syslog |
secure | セキュリティ関連 | /var/log | syslog |
access_log | Apacheのアクセスログ | /var/log/httpd | httpd |
error_log | Apacheのエラーログ | /var/log/httpd | httpd |
ほとんどのアプリケーションは、syslogdを利用してログを出力しています。
syslogは、メールサーバプログラムのsendmail用に開発されたものだけど、広く浸透し、当たり前のように利用されている。
プログラム自体が出力するログとしては、WebサーバのApacheなどがある。
2. syslogの設定(syslog.conf)
各アプリケーションのログ設定は、/etc/syslog.confの値で決まります。 syslogdは、この設定ファイルを読み込みログを出力する。
2.1 syslog.conf
syslog.confのフォーマットは、「取得するログの指定」と「取得ログの出力先」の指定を行います。
*.info;mail.none;cron.none /var/log/messages
「取得するログの指定」は、facilityとpriorityから成ります。
facility(機能)
ログを出力する機能を指す。 auth,cron,ftp,mailなど
priority(重要度)
ログ出力の緊急度 emerg,alert,err,info,debug,noneなど
取得ログ出力先
どこに出力するかの指定 ファイル名, /dev/console, ユーザー, * など
3. syslog設定例
# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* /var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg * ・ ・ ・