[linux]rsyslog(messagesなど)にログレベル(severity,重大度)を表示する

rsyslogで出力するシステムログにログレベル(シビリティ・重大度)を表示させる方法。
syslogでは起動オプションを付ける方法であったが、rsyslogでは設定ファイルに定義する。
設定ファイル(/etc/rsyslog.conf)には、ログレベルを追加したログフォーマットを「$template」で始まる行で定義し、出力する定義のアクションにログフォーマットを指定する。

# vi /etc/rsyslog.conf
:(省略)
$template LocalFormat,”%timereported% %hostname% %syslogfacility-text%.%syslogseverity-text%: %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n”
:(省略)
*.info;mail.none;authpriv.none;cron.none /var/log/messages;LocalFormat

出力されるログはこんな感じ

Oct 20 03:21:26 hogehoge kern.warning: kernel: [iptables SYN FLOOD] IN=eth0 OUT= MAC=02:16:3e:4f:39:

「%syslogtag%」やら「%syslogfacility-text%」の意味は

# man rsyslog.conf

の「Available Properties」の項に書いてあるので、そっちを見て。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です