syslogdの使い方

syslogdによりシステムのログを管理できます。

目次

  • syslog.confの設定(/etc/syslog.conf)
  • syglogdでの外部接続の許可(/etc/default/syslogd)
  • syglogdの再起動

syslog.confの設定(/etc/syslog.conf)

syslogdの設定は/etc/syslog.confにて行います。
syslog.confの各行にはセレクタとアクションを記述します。セレクタにより出力対象のログを選び、アクションにより出力先を決定します。
以下はsyslog.confの例です。

auth.*                 /var/log/auth.log
mail.info              @192.168.1.100
cron.info              nattou

上記の例では、「auth.*」や「cron.info」がセレクタで、「/var/log/auth.log」や「nattou」がアクションです。

セレクタの指定方法

セレクタにはファシリティ(ログの分類)とプライオリティ(ログの重要度を)を「.」で区切って指定します。
ファシリティには以下のような値を指定します。

ファシリティ 対象サービス
auth 認証サービス
cron cron
mail メールサービス

また、プライオリティには以下のような値を指定します。

プライオリティ 対象の重要度
debug デバッグ情報
info 情報
notice 通知
warn 警告
err エラー
アクションの指定方法

アクションには以下のような出力先を指定できます。

出力先の種類 指定値の例
ファイル /var/log/auth.log
他のホスト @192.168.1.100
ユーザ nattou
バイス /dev/pts/1

他のホストにログを出力した場合、出力先ホストがsyslogdがそのログを処理します。ただし、処理が行われるのは、出力先ホストのsyslogdが外部接続を許可している場合だけです。
ユーザやデバイスにログを出力した場合、指定したユーザの画面ややデバイス上にログが表示されます。

syglogdでの外部接続の許可(/etc/default/syslogd)

syslogdに外部接続を許可させると、別マシンからのsyslogパケットを受け入れるようになります。
なお、syslogdUDP/514で待ち受けます。

Linux(ubuntu 2.6.27)の場合

/etc/default/syslogdに以下を設定した後、syslogdを再起動します。

SYSLOGD="-r"
Solaris10の場合

/etc/default/syslogdに以下を追加した後、syslogdを再起動します。

LOG_FROM_REMOTE=YES

syslogdの再起動

/etc/syslog.confや/etc/default/syslogdの変更を反映するには、syslogdの再起動が必要です。(もしくは、プロセスへのSIGHUPの送信でも変更は反映されます。)

Linux(ubuntu 2.6.27)の場合
sudo /etc/init.d/sysklogd restart
Solaris10の場合
svcadm restart system-log