2020年9月28日月曜日

syslog フォーマット syslogヘッダー削除 template

syslogのログの最初の timestamp と hostnameいらないんですけど

元ログ

Jan 21 04:32:43 localhost squid[26560]: 1453379563.668

赤字の箇所、これいらない。


■syslogd の場合

/etc/syslog.conf の修正

(誰か教えて。)



syslog サービスのリスタート

/etc/rc.d/init.d/syslog restart


■rsyslogの場合

/etc/rsyslog.conf

templateルールを作る、このままコピペ

$template NAME,"<%PRI%>%syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%"

syslogの送信設定に";NAME"を追加する

local4.Info @xxx.xxx.xxx.xxx;NAME

rsyslogのサービスの再起動

service rsyslog restart


■注意

/etc/syslog.conf の修正
syslog.confの中に
*.info があるから /var/log/messages にも書き込まれ。
ログ量がダブルになってしまい溢れてしまう。


# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages


なので、上の例でいくと ";local4.none"を追加させてあげると良い

*.info;mail.none;authpriv.none;cron.none;local4.none               /var/log/messages

local4 は、/var/log/messages に書き込まないよ。


■Syslog-ngの場合

template t_DESTSERVER {template("<${PRI}>$PROGRAM[$PID]: $MSG\n"); template_escape(no);};
filter f_DESTSERVER { facility(local3) and level(info); };
destination d_DESTSERVER {udp("DESTSERVERのIPアドレス" port(514) template(t_DESTSERVER)); };
log {source(s_sys);filter(f_DESTSERVER);destination(d_DESTSERVER);};