Skip to content
Merged
12 changes: 11 additions & 1 deletion files/image_config/rsyslog/rsyslog-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,18 @@ fi

hostname=$(hostname)

syslog_with_osversion=$(sonic-db-cli CONFIG_DB hget "DEVICE_METADATA|localhost" "syslog_with_osversion")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

syslog_with_osversion

Do you need to change yang model?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

if [ -z "$syslog_with_osversion" ]; then
syslog_with_osversion="false"
fi

os_version=$(sonic-cfggen -y /etc/sonic/sonic_version.yml -v build_version)
if [ -z "$os_version" ]; then
os_version="Unknown"
fi

sonic-cfggen -d -t /usr/share/sonic/templates/rsyslog.conf.j2 \
-a "{\"udp_server_ip\": \"$udp_server_ip\", \"hostname\": \"$hostname\", \"docker0_ip\": \"$docker0_ip\"}" \
-a "{\"udp_server_ip\": \"$udp_server_ip\", \"hostname\": \"$hostname\", \"docker0_ip\": \"$docker0_ip\", \"forward_with_osversion\": \"$syslog_with_osversion\", \"os_version\": \"$os_version\"}" \
> /etc/rsyslog.conf

systemctl restart rsyslog
17 changes: 16 additions & 1 deletion files/image_config/rsyslog/rsyslog.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,14 @@ $UDPServerRun 514
$template SONiCFileFormat,"%timegenerated:::date-year% %timegenerated%.%timegenerated:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate SONiCFileFormat
$template SONiCForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$template SONiCForwardFormatWithOsVersion,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% {{os_version}} %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

{% if forward_with_osversion and forward_with_osversion == "true" %}
$ActionForwardDefaultTemplate SONiCForwardFormatWithOsVersion
{% else%}
$ActionForwardDefaultTemplate SONiCForwardFormat
{% endif%}


template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall time=\"%timereported\
:::date-year%-%timereported:::date-month%-%timereported:::date-day% %timereported:::date-hour%:%timereported:::date-minute%:%timereported\
Expand Down Expand Up @@ -86,7 +93,15 @@ template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall t

{% set fmodifier = '!' if filter == 'exclude' else '' %}
{% set device = vrf if vrf != '' and vrf != 'default' -%}
{% set template = 'WelfRemoteFormat' if format == 'welf' else 'SONiCForwardFormat' -%}

{% if format == 'welf' %}
{% set template = 'WelfRemoteFormat'%}
{% elif forward_with_osversion and forward_with_osversion == "true"%}
{% set template = 'SONiCForwardFormatWithOsVersion'%}
{% else%}
{% set template = 'SONiCForwardFormat'%}
{% endif%}


{# Server extra options -#}
{% set options = '' -%}
Expand Down
5 changes: 5 additions & 0 deletions src/sonic-config-engine/tests/sample_output/py3/rsyslog.conf
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ $UDPServerRun 514
$template SONiCFileFormat,"%timegenerated:::date-year% %timegenerated%.%timegenerated:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate SONiCFileFormat
$template SONiCForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$template SONiCForwardFormatWithOsVersion,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

$ActionForwardDefaultTemplate SONiCForwardFormat


template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall time=\"%timereported\
:::date-year%-%timereported:::date-month%-%timereported:::date-day% %timereported:::date-hour%:%timereported:::date-minute%:%timereported\
:::date-second%\" fw=\"kvm-host\" pri=%syslogpriority% msg=\"%syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\"\n")
Expand All @@ -57,6 +60,8 @@ template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall t
# forwarding via UDP and plain TCP. It is a built-in module that does not need
# to be loaded.



*.*
action(type="omfwd" Target="3.3.3.3" Port="514" Protocol="udp" Template="SONiCForwardFormat")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,11 @@ $UDPServerRun 514
$template SONiCFileFormat,"%timegenerated:::date-year% %timegenerated%.%timegenerated:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate SONiCFileFormat
$template SONiCForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$template SONiCForwardFormatWithOsVersion,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogseverity-text:::uppercase% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

$ActionForwardDefaultTemplate SONiCForwardFormat


template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall time=\"%timereported\
:::date-year%-%timereported:::date-month%-%timereported:::date-day% %timereported:::date-hour%:%timereported:::date-minute%:%timereported\
:::date-second%\" fw=\"kvm-host\" pri=%syslogpriority% msg=\"%syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\"\n")
Expand All @@ -59,6 +62,8 @@ template(name="WelfRemoteFormat" type="string" string="%TIMESTAMP% id=firewall t
# forwarding via UDP and plain TCP. It is a built-in module that does not need
# to be loaded.



*.*
action(type="omfwd" Target="3.3.3.3" Port="514" Protocol="udp" Template="SONiCForwardFormat")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -669,5 +669,14 @@
}
}
}
},
"DEVICE_METADATA_SYSLOG_WITH_OS_VERSION_ENABLED": {
"sonic-device_metadata:sonic-device_metadata": {
"sonic-device_metadata:DEVICE_METADATA": {
"sonic-device_metadata:localhost": {
"syslog_with_osversion": true
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,12 @@ module sonic-device_metadata {
type string;
description "Set source of anchor route";
}

leaf syslog_with_osversion {
type boolean;
description "Enable syslog with OS version feature.";
default "false";
}
}
/* end of container localhost */
}
Expand Down
Loading