From 27e610b3f92611e7e3b8694fae24c010b63b00a5 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 18:01:37 +0000 Subject: [PATCH 01/14] Rename 'ACSFileFormat' -> 'SONiCFileFormat' --- dockers/docker-base/rsyslog.conf | 4 ++-- files/image_config/rsyslog/rsyslog.conf.j2 | 4 ++-- platform/p4/docker-sonic-p4/rsyslog.conf | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dockers/docker-base/rsyslog.conf b/dockers/docker-base/rsyslog.conf index e03df1f741c2..f8fb938f07a3 100644 --- a/dockers/docker-base/rsyslog.conf +++ b/dockers/docker-base/rsyslog.conf @@ -39,8 +39,8 @@ $ModLoad imuxsock # provides support for local system logging #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template ACSFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" -$ActionFileDefaultTemplate ACSFileFormat +$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$ActionFileDefaultTemplate SONiCFileFormat # # Set the default permissions for all log files. diff --git a/files/image_config/rsyslog/rsyslog.conf.j2 b/files/image_config/rsyslog/rsyslog.conf.j2 index e00565f056eb..fbc12f25ed9b 100644 --- a/files/image_config/rsyslog/rsyslog.conf.j2 +++ b/files/image_config/rsyslog/rsyslog.conf.j2 @@ -42,8 +42,8 @@ $UDPServerRun 514 #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template ACSFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" -$ActionFileDefaultTemplate ACSFileFormat +$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$ActionFileDefaultTemplate SONiCFileFormat # # Set the default permissions for all log files. diff --git a/platform/p4/docker-sonic-p4/rsyslog.conf b/platform/p4/docker-sonic-p4/rsyslog.conf index d82ea610d6a7..b8bfa79c9191 100644 --- a/platform/p4/docker-sonic-p4/rsyslog.conf +++ b/platform/p4/docker-sonic-p4/rsyslog.conf @@ -39,8 +39,8 @@ $ModLoad imuxsock # provides support for local system logging #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template ACSFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" -$ActionFileDefaultTemplate ACSFileFormat +$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$ActionFileDefaultTemplate SONiCFileFormat # # Set the default permissions for all log files. From 364c945ce6d2a4711bdfe34457c2ff5df5ffadbb Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 18:05:17 +0000 Subject: [PATCH 02/14] Rename '00-acs.conf' -> '00-sonic.conf' --- .../image_config/rsyslog/rsyslog.d/{00-acs.conf => 00-sonic.conf} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename files/image_config/rsyslog/rsyslog.d/{00-acs.conf => 00-sonic.conf} (100%) diff --git a/files/image_config/rsyslog/rsyslog.d/00-acs.conf b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf similarity index 100% rename from files/image_config/rsyslog/rsyslog.d/00-acs.conf rename to files/image_config/rsyslog/rsyslog.d/00-sonic.conf From c8e435dce802907f889148fbf39fb9c0e5541465 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 18:21:50 +0000 Subject: [PATCH 03/14] Add logrotate.d and systemd-journald config files to image --- .../build_templates/sonic_debian_extension.j2 | 6 +++ files/image_config/logrotate.d/rsyslog | 41 +++++++++++++++++++ files/image_config/systemd/journald.conf | 36 ++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 files/image_config/logrotate.d/rsyslog create mode 100644 files/image_config/systemd/journald.conf diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 77fcd1f38655..852a0ff1fe26 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -101,6 +101,12 @@ sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-config.sh $FILESYSTEM_ROOT/usr/bin/ sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog.conf.j2 $FILESYSTEM_ROOT/usr/share/sonic/templates/ sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog.d/* $FILESYSTEM_ROOT/etc/rsyslog.d/ +# Copy logrotate.d configuration files +sudo cp -f $IMAGE_CONFIGS/logrotate.d/rsyslog $FILESYSTEM_ROOT/etc/logrotate.d/ + +# Copy systemd-journald configuration files +sudo cp -f $IMAGE_CONFIGS/systemd/journald.conf $FILESYSTEM_ROOT/etc/systemd/ + # Copy interfaces configuration files and templates sudo cp $IMAGE_CONFIGS/interfaces/interfaces-config.service $FILESYSTEM_ROOT/etc/systemd/system/ sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable interfaces-config.service diff --git a/files/image_config/logrotate.d/rsyslog b/files/image_config/logrotate.d/rsyslog new file mode 100644 index 000000000000..77043f2a8ea2 --- /dev/null +++ b/files/image_config/logrotate.d/rsyslog @@ -0,0 +1,41 @@ +/var/log/syslog +/var/log/quagga/* +/var/log/sonic/* +{ + rotate 7 + daily + size 100M + missingok + notifempty + compress + delaycompress + postrotate + invoke-rc.d rsyslog rotate > /dev/null + endscript +} +/var/log/mail.info +/var/log/mail.warn +/var/log/mail.err +/var/log/mail.log +/var/log/daemon.log +/var/log/kern.log +/var/log/auth.log +/var/log/user.log +/var/log/lpr.log +/var/log/cron.log +/var/log/debug +/var/log/messages +{ + rotate 4 + weekly + size 100M + missingok + notifempty + compress + delaycompress + sharedscripts + postrotate + invoke-rc.d rsyslog rotate > /dev/null + endscript +} + diff --git a/files/image_config/systemd/journald.conf b/files/image_config/systemd/journald.conf new file mode 100644 index 000000000000..fc6c4a4e7a1a --- /dev/null +++ b/files/image_config/systemd/journald.conf @@ -0,0 +1,36 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# See journald.conf(5) for details + +[Journal] +#Storage=auto +#Compress=yes +#Seal=yes +#SplitMode=uid +#SyncIntervalSec=5m +#RateLimitInterval=30s +#RateLimitBurst=1000 +SystemMaxUse=50MB +#SystemKeepFree= +#SystemMaxFileSize= +RuntimeMaxUse=50MB +#RuntimeKeepFree= +#RuntimeMaxFileSize= +#MaxRetentionSec= +#MaxFileSec=1month +#ForwardToSyslog=yes +#ForwardToKMsg=no +#ForwardToConsole=no +#ForwardToWall=yes +#TTYPath=/dev/console +#MaxLevelStore=debug +#MaxLevelSyslog=debug +#MaxLevelKMsg=notice +#MaxLevelConsole=info +#MaxLevelWall=emerg + From 3817db5ff19909d18fb5de06e33ffc4fd6006847 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 19:07:48 +0000 Subject: [PATCH 04/14] Log all SONiC process messages to /var/log/syslog; prevent duplicate logging to /var/log/messages --- .../rsyslog/rsyslog.d/00-sonic.conf | 55 ++++++++----------- .../rsyslog/rsyslog.d/99-default.conf | 11 ++-- 2 files changed, 30 insertions(+), 36 deletions(-) diff --git a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf index ec8ce919f402..d039683af7e5 100644 --- a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf +++ b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf @@ -1,46 +1,37 @@ ## Quagga rules if $programname == "zebra" then { - /var/log/quagga/zebra.log - stop + /var/log/quagga/zebra.log + stop } if $programname == "bgpd" then { - /var/log/quagga/bgpd.log - stop + /var/log/quagga/bgpd.log + stop } if $programname == "quagga" then { - /var/log/quagga/zebra.log - stop + /var/log/quagga/zebra.log + stop } if $programname == "watchquagga" then { - /var/log/quagga/zebra.log - stop -} - -## Platform modules rules -if $programname == "platform-modules" then { - /var/log/syslog - stop -} - -## Sensord rules -if $programname == "sensord" then { - /var/log/syslog - stop -} - -## Sswsyncd rules -if $programname == "sswsyncd" then { - /var/log/syslog - stop -} - -## Ansible rules -if $programname startswith "ansible" then { - /var/log/messages - stop + /var/log/quagga/zebra.log + stop +} + +## SONiC rules + +if $programname == ["sswsyncd", + "orchagent", + "syncd", + "portsyncd", + "neighsyncd", + "fpmsyncd", + "teamsyncd", + "swssconfig"] + then { + ?SONiCPerProcessLogfile,SONiCFileFormat + stop } diff --git a/files/image_config/rsyslog/rsyslog.d/99-default.conf b/files/image_config/rsyslog/rsyslog.d/99-default.conf index a26ba7baf8e6..86e040bfe8be 100644 --- a/files/image_config/rsyslog/rsyslog.d/99-default.conf +++ b/files/image_config/rsyslog/rsyslog.d/99-default.conf @@ -32,10 +32,13 @@ news.notice -/var/log/news/news.notice *.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug -*.=info;*.=notice;*.=warn;\ - auth,authpriv.none;\ - cron,daemon.none;\ - mail,news.none -/var/log/messages +# +# Removed as duplicates: +#*.=info;*.=notice;*.=warn;\ +# auth,authpriv.none;\ +# cron,daemon.none;\ +# mail,news.none -/var/log/messages +# *.=crit;*.=alert;*.=emerg -/var/persist/log/alarms # # Emergencies are sent to everybody logged in. From 21b08c25776d3261ca0128bac2b00f864a7364ae Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 22:44:54 +0000 Subject: [PATCH 05/14] Do not redirect cron and daemon logs to their own files, let them log to /var/log/syslog --- files/image_config/rsyslog/rsyslog.d/99-default.conf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/files/image_config/rsyslog/rsyslog.d/99-default.conf b/files/image_config/rsyslog/rsyslog.d/99-default.conf index 86e040bfe8be..2ffbf865e316 100644 --- a/files/image_config/rsyslog/rsyslog.d/99-default.conf +++ b/files/image_config/rsyslog/rsyslog.d/99-default.conf @@ -3,8 +3,10 @@ # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog -cron.* /var/log/cron.log -daemon.* -/var/log/daemon.log +# Do not redirect cron and daemon logs to their own files +# let them log to /var/log/syslog +#cron.* /var/log/cron.log +#daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log kern.* -/var/persist/log/kern.log lpr.* -/var/log/lpr.log From 6304f9d4f32f23c3cb1221bd4a738c4e29352835 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 22:56:10 +0000 Subject: [PATCH 06/14] Log all teamd messages to /var/log/teamd.log; Add more SONiC program names to SONiC rules clause --- files/image_config/logrotate.d/rsyslog | 1 + .../rsyslog/rsyslog.d/00-sonic.conf | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/files/image_config/logrotate.d/rsyslog b/files/image_config/logrotate.d/rsyslog index 77043f2a8ea2..fd2ef431496e 100644 --- a/files/image_config/logrotate.d/rsyslog +++ b/files/image_config/logrotate.d/rsyslog @@ -1,6 +1,7 @@ /var/log/syslog /var/log/quagga/* /var/log/sonic/* +/var/log/teamd.log { rotate 7 daily diff --git a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf index d039683af7e5..c5680e0db2d9 100644 --- a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf +++ b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf @@ -20,16 +20,27 @@ if $programname == "watchquagga" then { stop } +## Teamd rules + +if $programname == "teamd" then { + /var/log/teamd.log + stop +} + ## SONiC rules -if $programname == ["sswsyncd", +if $programname == ["fpmsyncd", + "intfsyncd", + "neighsyncd", "orchagent", - "syncd", "portsyncd", - "neighsyncd", - "fpmsyncd", + "saidump", + "saiplayer", + "syncd", + "swssconfig", + "swssloglevel", "teamsyncd", - "swssconfig"] + "updategraph"] then { ?SONiCPerProcessLogfile,SONiCFileFormat stop From 7b0dd39ffae6eb6f56583287eb035fb6a838b297 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 23:50:29 +0000 Subject: [PATCH 07/14] Remove duplicate code by condensing quagga programs into a list; Fix teamd log rule --- .../rsyslog/rsyslog.d/00-sonic.conf | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf index c5680e0db2d9..a324450a24b7 100644 --- a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf +++ b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf @@ -1,6 +1,9 @@ ## Quagga rules -if $programname == "zebra" then { +if $programname == ["quagga", + "watchquagga", + "zebra"] + then { /var/log/quagga/zebra.log stop } @@ -10,19 +13,9 @@ if $programname == "bgpd" then { stop } -if $programname == "quagga" then { - /var/log/quagga/zebra.log - stop -} - -if $programname == "watchquagga" then { - /var/log/quagga/zebra.log - stop -} - ## Teamd rules -if $programname == "teamd" then { +if $programname contains "teamd_" then { /var/log/teamd.log stop } From 9bfaf4ff12a8b433a03c9dafc29aa92920f3b0a5 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 23:51:27 +0000 Subject: [PATCH 08/14] Kernel and LPR messages no longer getting duplicated to their own log files --- files/image_config/rsyslog/rsyslog.d/99-default.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/files/image_config/rsyslog/rsyslog.d/99-default.conf b/files/image_config/rsyslog/rsyslog.d/99-default.conf index 2ffbf865e316..9b129199b385 100644 --- a/files/image_config/rsyslog/rsyslog.d/99-default.conf +++ b/files/image_config/rsyslog/rsyslog.d/99-default.conf @@ -3,13 +3,13 @@ # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog -# Do not redirect cron and daemon logs to their own files -# let them log to /var/log/syslog +# Do not redirect cron, daemon, kernel or lpr logs to +# their own files. Let them log to /var/log/syslog #cron.* /var/log/cron.log #daemon.* -/var/log/daemon.log -kern.* -/var/log/kern.log -kern.* -/var/persist/log/kern.log -lpr.* -/var/log/lpr.log +#kern.* -/var/log/kern.log +#kern.* -/var/persist/log/kern.log +#lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log From 88e58d6f71e90d05157d0ffdfe3437521d133a45 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 19 Apr 2017 23:55:18 +0000 Subject: [PATCH 09/14] Now calling logrotate every minute via cron job --- .../build_templates/sonic_debian_extension.j2 | 3 +++ files/image_config/cron/crontab | 25 +++++++++++++++++++ files/image_config/logrotate.d/rsyslog | 4 ++- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 files/image_config/cron/crontab diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 852a0ff1fe26..3cff9bd3625c 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -88,6 +88,9 @@ sudo cp -f $IMAGE_CONFIGS/bash/bash.bashrc $FILESYSTEM_ROOT/etc/ sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/sonic-device-data_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f +# Copy crontab +sudo cp -f $IMAGE_CONFIGS/cron/crontab $FILESYSTEM_ROOT/etc/ + # Copy NTP configuration files and templates sudo cp $IMAGE_CONFIGS/ntp/ntp-config.service $FILESYSTEM_ROOT/etc/systemd/system/ sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable ntp-config.service diff --git a/files/image_config/cron/crontab b/files/image_config/cron/crontab new file mode 100644 index 000000000000..d5834e3aef28 --- /dev/null +++ b/files/image_config/cron/crontab @@ -0,0 +1,25 @@ +# Edit this file to introduce tasks to be run by cron. +# +# Each task to run has to be defined through a single line +# indicating with different fields when the task will be run +# and what command to run for the task +# +# To define the time you can provide concrete values for +# minute (m), hour (h), day of month (dom), month (mon), +# and day of week (dow) or use '*' in these fields (for 'any').# +# Notice that tasks will be started based on the cron's system +# daemon's notion of time and timezones. +# +# Output of the crontab jobs (including errors) is sent through +# email to the user the crontab file belongs to (unless redirected). +# +# For example, you can run a backup of all your user accounts +# at 5 a.m every week with: +# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ +# +# For more information see the manual pages of crontab(5) and cron(8) +# +# m h dom mon dow command + +* * * * * logrotate -f /etc/logrotate.d/rsyslog + diff --git a/files/image_config/logrotate.d/rsyslog b/files/image_config/logrotate.d/rsyslog index fd2ef431496e..e5b72ba4d731 100644 --- a/files/image_config/logrotate.d/rsyslog +++ b/files/image_config/logrotate.d/rsyslog @@ -4,7 +4,9 @@ /var/log/teamd.log { rotate 7 - daily +# Removed 'daily' interval, as we now call logrotate more frequently via cron +# and we want to check these logs every time +# daily size 100M missingok notifempty From c7e075c77b1820b0f5c6d3552ae2a346c6008d67 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 20 Apr 2017 00:23:55 +0000 Subject: [PATCH 10/14] Need full path to logrotate in cron job --- files/image_config/cron/crontab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/image_config/cron/crontab b/files/image_config/cron/crontab index d5834e3aef28..9ad240bf8ccc 100644 --- a/files/image_config/cron/crontab +++ b/files/image_config/cron/crontab @@ -21,5 +21,5 @@ # # m h dom mon dow command -* * * * * logrotate -f /etc/logrotate.d/rsyslog +* * * * * /usr/sbin/logrotate -f /etc/logrotate.d/rsyslog From 7c02b86b5c81e797a4e169ac258a5aaa535368cc Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 20 Apr 2017 00:36:29 +0000 Subject: [PATCH 11/14] Add '.log' suffix to wildcards, otherwise logrotate will rotate already-rotated logs (e.g., bgpd.log.1.1.1.1.1...) --- files/image_config/logrotate.d/rsyslog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/image_config/logrotate.d/rsyslog b/files/image_config/logrotate.d/rsyslog index e5b72ba4d731..2a66cd20ebc5 100644 --- a/files/image_config/logrotate.d/rsyslog +++ b/files/image_config/logrotate.d/rsyslog @@ -1,6 +1,6 @@ /var/log/syslog -/var/log/quagga/* -/var/log/sonic/* +/var/log/quagga/*.log +/var/log/sonic/*.log /var/log/teamd.log { rotate 7 From 6ccd0d6caa9a06f08e57ef967d3382f493a025aa Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 20 Apr 2017 23:41:37 +0000 Subject: [PATCH 12/14] Add microsecond granularity to syslog messages --- dockers/docker-base/rsyslog.conf | 2 +- files/image_config/rsyslog/rsyslog.conf.j2 | 2 +- platform/p4/docker-sonic-p4/rsyslog.conf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dockers/docker-base/rsyslog.conf b/dockers/docker-base/rsyslog.conf index f8fb938f07a3..1132ad55ec3c 100644 --- a/dockers/docker-base/rsyslog.conf +++ b/dockers/docker-base/rsyslog.conf @@ -39,7 +39,7 @@ $ModLoad imuxsock # provides support for local system logging #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$template SONiCFileFormat,"%TIMESTAMP%.%timestamp:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $ActionFileDefaultTemplate SONiCFileFormat # diff --git a/files/image_config/rsyslog/rsyslog.conf.j2 b/files/image_config/rsyslog/rsyslog.conf.j2 index fbc12f25ed9b..008f9f10e6f0 100644 --- a/files/image_config/rsyslog/rsyslog.conf.j2 +++ b/files/image_config/rsyslog/rsyslog.conf.j2 @@ -42,7 +42,7 @@ $UDPServerRun 514 #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$template SONiCFileFormat,"%TIMESTAMP%.%timestamp:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $ActionFileDefaultTemplate SONiCFileFormat # diff --git a/platform/p4/docker-sonic-p4/rsyslog.conf b/platform/p4/docker-sonic-p4/rsyslog.conf index b8bfa79c9191..e8f42bdabe50 100644 --- a/platform/p4/docker-sonic-p4/rsyslog.conf +++ b/platform/p4/docker-sonic-p4/rsyslog.conf @@ -39,7 +39,7 @@ $ModLoad imuxsock # provides support for local system logging #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Define a custom template -$template SONiCFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" +$template SONiCFileFormat,"%TIMESTAMP%.%timestamp:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $ActionFileDefaultTemplate SONiCFileFormat # From de4552beaf8f8f4b165d3f6e57cdb481c33ac7a1 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Fri, 21 Apr 2017 00:46:23 +0000 Subject: [PATCH 13/14] Don't overwrite system crontab, instead, install additional logrotate crontab file into /etc/cron.d --- .../build_templates/sonic_debian_extension.j2 | 4 +-- files/image_config/cron.d/logrotate | 3 +++ files/image_config/cron/crontab | 25 ------------------- 3 files changed, 5 insertions(+), 27 deletions(-) create mode 100644 files/image_config/cron.d/logrotate delete mode 100644 files/image_config/cron/crontab diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 3cff9bd3625c..16a25d2c3efc 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -88,8 +88,8 @@ sudo cp -f $IMAGE_CONFIGS/bash/bash.bashrc $FILESYSTEM_ROOT/etc/ sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/sonic-device-data_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f -# Copy crontab -sudo cp -f $IMAGE_CONFIGS/cron/crontab $FILESYSTEM_ROOT/etc/ +# Copy crontabs +sudo cp -f $IMAGE_CONFIGS/cron.d/* $FILESYSTEM_ROOT/etc/cron.d/ # Copy NTP configuration files and templates sudo cp $IMAGE_CONFIGS/ntp/ntp-config.service $FILESYSTEM_ROOT/etc/systemd/system/ diff --git a/files/image_config/cron.d/logrotate b/files/image_config/cron.d/logrotate new file mode 100644 index 000000000000..e7813aa1f57b --- /dev/null +++ b/files/image_config/cron.d/logrotate @@ -0,0 +1,3 @@ +# Attempt to rotate system logs once per minute +* * * * * root /usr/sbin/logrotate -f /etc/logrotate.d/rsyslog + diff --git a/files/image_config/cron/crontab b/files/image_config/cron/crontab deleted file mode 100644 index 9ad240bf8ccc..000000000000 --- a/files/image_config/cron/crontab +++ /dev/null @@ -1,25 +0,0 @@ -# Edit this file to introduce tasks to be run by cron. -# -# Each task to run has to be defined through a single line -# indicating with different fields when the task will be run -# and what command to run for the task -# -# To define the time you can provide concrete values for -# minute (m), hour (h), day of month (dom), month (mon), -# and day of week (dow) or use '*' in these fields (for 'any').# -# Notice that tasks will be started based on the cron's system -# daemon's notion of time and timezones. -# -# Output of the crontab jobs (including errors) is sent through -# email to the user the crontab file belongs to (unless redirected). -# -# For example, you can run a backup of all your user accounts -# at 5 a.m every week with: -# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ -# -# For more information see the manual pages of crontab(5) and cron(8) -# -# m h dom mon dow command - -* * * * * /usr/sbin/logrotate -f /etc/logrotate.d/rsyslog - From ea8e9986419dec0c1488a49709ac54c56ad62d77 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Fri, 21 Apr 2017 00:49:56 +0000 Subject: [PATCH 14/14] Removed incomplete concept of per-process SONiC logs. We can revisit again later --- files/image_config/logrotate.d/rsyslog | 1 - .../rsyslog/rsyslog.d/00-sonic.conf | 19 ------------------- 2 files changed, 20 deletions(-) diff --git a/files/image_config/logrotate.d/rsyslog b/files/image_config/logrotate.d/rsyslog index 2a66cd20ebc5..c09604187f7f 100644 --- a/files/image_config/logrotate.d/rsyslog +++ b/files/image_config/logrotate.d/rsyslog @@ -1,6 +1,5 @@ /var/log/syslog /var/log/quagga/*.log -/var/log/sonic/*.log /var/log/teamd.log { rotate 7 diff --git a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf index a324450a24b7..20d18e5d226d 100644 --- a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf +++ b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf @@ -20,22 +20,3 @@ if $programname contains "teamd_" then { stop } -## SONiC rules - -if $programname == ["fpmsyncd", - "intfsyncd", - "neighsyncd", - "orchagent", - "portsyncd", - "saidump", - "saiplayer", - "syncd", - "swssconfig", - "swssloglevel", - "teamsyncd", - "updategraph"] - then { - ?SONiCPerProcessLogfile,SONiCFileFormat - stop -} -