Solarisからの移行ユーザからこんなことを言われた。
Solarisだとログ出力にFacitilyとPriorityがあるのに、Linuxはなんで無いの?
Solarisの例
Aug 21 18:30:26 solaris hme: [ID 517527 kern.info] SUNW,hme0 : Internal Transceiver Selected. Aug 21 18:30:26 solaris hme: [ID 517527 kern.info] SUNW,hme0 : 100 Mbps Full-Duplex Link Up Aug 21 18:30:54 solaris savecore: [ID 570001 auth.error] reboot after panic: [AFT1] errID 0x00090886.6bd9286c UE Error(s) Aug 21 18:30:54 solaris See previous message(s) for details Aug 21 18:30:54 solaris ntpdate[175]: [ID 558275 daemon.notice] adjust time server 158.211.134.200 offset 0.350887 sec Aug 21 18:30:58 solaris xntpd[186]: [ID 702911 daemon.notice] xntpd 3-5.93e Mon Sep 20 15:47:11 PDT 1999 (1) Aug 21 18:30:58 solaris xntpd[186]: [ID 301315 daemon.notice] tickadj = 5, tick = 10000, tvu_maxslew = 495, est. hz = 100 Aug 21 18:30:59 solaris xntpd[186]: [ID 798731 daemon.notice] using kernel phase-lock loop 0041 Aug 21 18:30:59 solaris last message repeated 1 time Aug 21 18:31:09 solaris pseudo: [ID 129642 kern.info] pseudo-device: tod0 Aug 21 18:31:09 solaris genunix: [ID 936769 kern.info] tod0 is /pseudo/tod@0
Linuxの例
Aug 26 17:11:52 centos6 postfix/postfix-script[32480]: stopping the Postfix mail system Aug 26 17:11:52 centos6 postfix/master[32414]: terminating on signal 15 Aug 26 17:11:52 centos6 postfix/postfix-script[32552]: starting the Postfix mail system Aug 26 17:11:52 centos6 postfix/master[32553]: daemon started -- version 2.6.6, configuration /etc/postfix
ふむ・・・確かに
/etc/rsyslog.confを編集して実現してみた。
参考資料
・Red Hat Enterprise Linux 6導入ガイド :「第20章 ログファイルの表示と管理」
さすがにデフォルト出力を変えてしまうと、Linux側のツールでsyslogを処理した場合に問題が生じるので
Solaris互換のログファイルは別ファイルで出力させることにした。
設定を行った「/etc/rsyslog.conf」のサンプルは以下。
$template FacilityTmpl,"%timereported% %HOSTNAME% %syslogtag% [ID %MSGID% %syslogfacility-text%.%syslogseverity-text%]%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" mail.* /var/log/solaris-compati.log;FacilityTmpl
その出力例
Aug 26 17:11:52 centos6 postfix/postfix-script[32480]: [ID - mail.info] stopping the Postfix mail system Aug 26 17:11:52 centos6 postfix/master[32414]: [ID - mail.info] terminating on signal 15 Aug 26 17:11:52 centos6 postfix/postfix-script[32552]: [ID - mail.info] starting the Postfix mail system Aug 26 17:11:52 centos6 postfix/master[32553]: [ID - mail.info] daemon started -- version 2.6.6, configuration /etc/postfix
「%MSGID%」に具体的な値が出力されず、「-」になってしまうというのは、Linux側の仕様なのかどうなのか???
まぁ、とりあえず、おおむね実現できたのでよしとした。