Rsyslog

提供: Wikinote
2013年4月23日 (火) 06:15時点におけるHagio (トーク | 投稿記録)による版

移動: 案内検索

結構、設定がわかりにくいのであるよ。

設定

モジュール

$ModLoad でモジュールを読み込む。

UDP あるいは TCP ソケットで待ち受ける

syslogd では -r オプションだったが、rsyslog では rsyslog.conf に記述する。

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

フィルタ

セレクタ

syslogd と同じ伝統的な形式。

facility.priority
facility
主に:auth, authpriv, cron, daemon, kern, lpr, mail, news, syslog, user, uucp, local0 - local7
priority
主に:debug, info, notice, warning, err, crit, alert, emerg

主なルール

  • 指定した priority 以上のログにマッチする
  • アスタリスク (*) ですべての facility あるいは priority にマッチ
  • セミコロン (;) で複数のセレクタを指定可能
  • none で対象 facility を除外可能
  • コンマ (,) で複数の facility を指定可能
  • イコール (=) で特定の priority のみにマッチ
  • エクスクラメーションマーク (!) で priority 以上を無視
daemon.err       # daemon の err, crit, alert, emerg にマッチ

mail.*           # mail のすべてのログにマッチ
*.emerg          # すべての emerg のログにマッチ
*.*              # すべてのログにマッチ

daemon.warning;cron.err

*.*;mail.none    # mail 以外のすべてのログにマッチ

uucp,news.crit   # uucp と news の crit, alert, emerg にマッチ

daemon.=err      # daemon の err のみにマッチ

daemon.notice;daemon.!err    # daemon の notice と warning のみマッチ?(試してない)

フォーマット

  • ファシリティ・プライオリティを syslogd の -SS オプションのように出力する
$template MyFormat,"%TIMESTAMP% <%syslogfacility-text%.%syslogpriority-text%> %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

例) Apr 19 08:04:08 <user.notice> courier hagio: test