Table of Contents
Archlinuxでsyslog-ngのデフォルト出力形式は以下のようなイメージになります。ちょっと物 足りない気がして、形式の変更方法を調べてみました。
1 デフォルトの出力形式
デフォルトの出力形式、 時刻 ホスト名 プロセス名[PID] メッセージ
Aug 12 18:01:01 pipi CROND[19011]: (root) CMD (run-parts /etc/cron.hourly) Aug 12 19:01:02 pipi CROND[21549]: (root) CMD (run-parts /etc/cron.hourly) Aug 12 20:01:01 pipi CROND[24082]: (root) CMD (run-parts /etc/cron.hourly) Aug 12 21:01:01 pipi CROND[26609]: (root) CMD (run-parts /etc/cron.hourly) Aug 12 22:01:01 pipi CROND[29189]: (root) CMD (run-parts /etc/cron.hourly) Aug 12 22:14:00 pipi slapd[172]: conn=1015 fd=10 ACCEPT from IP=[::1]:58536 (IP=[::]:389) Aug 12 22:14:00 pipi slapd[172]: conn=1015 op=0 BIND dn="cn=Manager,dc=jizai-domain,dc=jp" method=128 Aug 12 22:14:00 pipi slapd[172]: conn=1015 op=0 BIND dn="cn=Manager,dc=jizai-domain,dc=jp" mech=SIMPLE ssf=0 Aug 12 22:14:00 pipi slapd[172]: conn=1015 op=0 RESULT tag=97 err=0 text= Aug 12 22:14:00 pipi slapd[172]: conn=1015 op=1 SRCH base="dc=jizai-domain,dc=jp" scope=2 deref=0 filter="(uid=user01)" Aug 12 22:14:01 pipi slapd[172]: <= bdb_equality_candidates: (uid) not indexed Aug 12 22:14:01 pipi slapd[172]: conn=1015 op=2 UNBIND Aug 12 22:14:01 pipi slapd[172]: conn=1015 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= Aug 12 22:14:01 pipi slapd[172]: conn=1015 fd=10 closed Aug 12 11:10:21 pipi systemd[1131]: Reached target Default. Aug 12 11:10:21 pipi systemd[1131]: Startup finished in 227ms. Aug 12 11:10:21 pipi systemd[1]: Started User Manager for UID 1000. Aug 12 11:10:23 pipi systemd[1]: Starting Session c2 of user akira. Aug 12 11:10:23 pipi systemd[1]: Started Session c2 of user akira.
2 出力形式変更手順
syslog-ngに template
の定義にマクロを用いることができる。このマクロ機能を利用してロ
グ出力形式をカスタマイズすることを実現する。以下は everything.log
を例として設定変更
の手順を紹介します。
/etc/syslog-ng/syslog-ng.conf
変更前
source src { system(); internal(); }; destination d_everything { file("/var/log/everything.log"); }; filter f_everything { level(debug..emerg) and not facility(auth, authpriv); }; log { source(src); filter(f_everything); destination(d_everything); };
template
定義を追加して、 destination
にテンプレートと紐付ける。
source src { system(); internal(); }; template t_1 { template("$ISODATE $FULLHOST $FACILITY $PRIORITY $MSGHDR $MSG\n"); templat$ }; destination d_everything { file("/var/log/everything.log" template(t_1)); }; filter f_everything { level(debug..emerg) and not facility(auth, authpriv); }; log { source(src); filter(f_everything); destination(d_everything); };
sudo systemctl restart syslog-ng.service
でサービスを再起動して、ログの出力を確認知
すると出力形式が以下のようになります。
2014-08-12T22:34:19+09:00 pipi syslog syslog-ng[31533] notice syslog-ng starting up; version='3.5.5' 2014-08-12T22:34:18+09:00 pipi daemon systemd[1] info Starting System Logger Daemon... 2014-08-12T22:34:19+09:00 pipi daemon systemd[1] info Started System Logger Daemon. 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 fd=10 ACCEPT from IP=[::1]:58540 (IP=[::]:389) 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=0 BIND dn="cn=Manager,dc=jizai-domain,dc=jp" method=128 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=0 BIND dn="cn=Manager,dc=jizai-domain,dc=jp" mech=SIMPLE ssf=0 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=0 RESULT tag=97 err=0 text= 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=1 SRCH base="dc=jizai-domain,dc=jp" scope=2 deref=0 filter="(uid=user01)" 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug <= bdb_equality_candidates: (uid) not indexed 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=2 UNBIND 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= 2014-08-12T22:34:32+09:00 pipi local4 slapd[172] debug conn=1019 fd=10 closed