|
||
|
読みやすい形式でログを保存するここではrsyslogの実践的なconf記述を記します。インストールについては別項「rsyslogをインストールする」を参照してください。 rsyslog.confの例 読みやすい形式でログを出力する rsyslog.confの例(デフォルトのコメントアウト部は省いてあります)#$ModLoad immark # provides --MARK-- message capability$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # kernel logging (formerly provided by rklogd) $template customformat,"%timegenerated% %HOSTNAME% %syslogtag%%msg%\n" $template logFileName,"/var/log/syslog/%fromhost%/messages_%fromhost%_%$year%%$month%%$day%.log" $template mailFileName,"/var/log/syslog/%fromhost%/mail_%fromhost%_%$year%%$month%%$day%.log" # Log anything (except mail) of level info or higher. # Don't log private authentication messages! #*.info;mail.none;authpriv.none;cron.none -/var/log/messages *.info;mail.none;authpriv.none;cron.none -?logFileName;customformat *.info;mail.none;authpriv.none;cron.none @remoteserver # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. #mail.* -/var/log/maillog mail.* -?mailFileName;customformat $ModLoad ommail $ActionMailSMTPServer mailserver.address $ActionMailFrom admin@example.local $template mailsubject,"Syslog Warning" $template mailbody,"%fromhost%\r\n%msg%" $ActionMailSubject mailsubject $ActionExecOnlyOnceEveryInterval -1 $ActionMailTo admin-ml@example.local if $fromhost-ip == '192.168.1.100' and $msg contains 'System Warning' then :ommail:;mailbody $ActionMailTo admin-ml@example.local if $fromhost-ip != '127.0.0.1' and $msg contains 'authenticated failure' and $syslogfacility-text == 'daemon' then :ommail:;mailbody $ActionMailTo administrator@example.local if $fromhost-ip =='192.168.1.254' and $syslogfacility-text == 'syslog' and $syslogseverity-text == 'crit' then :ommail:;mailbody # Log cron stuff cron.* -/var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit -/var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # UDP Syslog Server: $ModLoad imudp.so # provides UDP syslog reception $UDPServerRun 514 # start a UDP syslog server at standard port 514 読みやすい形式でログを出力する2011-09-15T00:37:41+09:00 localhost kernel: Kernel logging (proc) stopped.デフォルト カスタム Sep 15 10:11:49 localhost kernel:imklog 5.8.5, log source = /proc/kmsg started. rsyslogでデフォルトで出力されるログはいまいち読みづらいです。全ての原因はTを挟んでいるのと、+9時間のJST調整です。 この出力形式を調整し、syslogと同じ形式します。 rsyslog.conf $template customformat,"%timegenerated% %HOSTNAME% %syslogtag%%msg%" *.info;mail.none;authpriv.none;cron.none /var/log/messages;customformat *.info;mail.none;authpriv.none;cron.none -?logFileName;customformat テンプレートで形式を設定し、ログ出力の設定の後ろにセミコロンでフォーマットを繋げます。 rsyslogを再起動して、ログの出力形式を確認します。 なぜか二回再起動しないと有効にならないことがあります。 本家にて、他のプロパティ値もあります。 条件式が複雑になると、動作は確認は必須です。 loggerコマンドでログを出力し、結果を確認します。 #logger -p daemon.crit "System Warning" |
|