気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Unixの各種ログの意味(messages, cron, secure)

ログイン認証、メール送信ログなど様々な用途に応じて、様々な種類のログが存在します。 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                                                 *

・
・
・