diff options
author | Chau Ly <chaul@amperecomputing.com> | 2023-01-13 06:41:22 +0300 |
---|---|---|
committer | Chau Ly <chaul@amperecomputing.com> | 2023-01-13 07:03:44 +0300 |
commit | 74946010ffb0b679bdf4341d8e1f012b61181ccc (patch) | |
tree | 24b55058bb3fb5ae570ca7040b1d5a0587217f24 /meta-ampere/meta-common | |
parent | 0ea73d38736b6f2dfc1bc42a5b855bef4d016f79 (diff) | |
download | openbmc-74946010ffb0b679bdf4341d8e1f012b61181ccc.tar.xz |
meta-ampere: mtjade: Support host consoles logger
This commit supports phosphor-hostlogger in STREAM mode, to forward
the byte stream from obmc-console to rsyslog via the imuxsock module.
The logs can be obtained in /var/log/. The logs are rotated by
logrotate. The size threshold of cpu console is 256KB and the others are
64KB. Each log is polled every 1 minute to check if its file size
exceeds the threshold to rotate it to the new file. Each console can be
saved in up to 2 log files.
Tested (CPU console):
1. Change the mux of CPU console to BMC
$ ampere_uartmux_ctrl.sh 1 2
2. Connect to CPU SOL console
$ ssh root@<BMC_IP> -p 2200
3. Execute commands in the CPU SOL console
=> The console output on CPU SOL console will all be logged to
/var/log/obmc-console-cpu.log
=> The log will be rotated to /var/log/obmc-console-cpu.log.1 if the
original log file size exceeds 256KB every 1min poll
Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Change-Id: I5586d1c634ec0f244069b868bd48b75560520dc1
Diffstat (limited to 'meta-ampere/meta-common')
3 files changed, 138 insertions, 0 deletions
diff --git a/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/hostconsole.conf b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/hostconsole.conf new file mode 100644 index 0000000000..6900a5d942 --- /dev/null +++ b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/hostconsole.conf @@ -0,0 +1,91 @@ +#Host console log + +module(load="imuxsock" SysSock.Use="off") + +template(name="ConsoleTemplate" type="string" string="%rawmsg%") + +ruleset(name="ConsoleCPURuleset") { + action(type="omfile" file="/var/log/obmc-console-cpu.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleATFRuleset") { + action(type="omfile" file="/var/log/obmc-console-atf.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleSECPRO0Ruleset") { + action(type="omfile" file="/var/log/obmc-console-secpro0.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleSECPRO1Ruleset") { + action(type="omfile" file="/var/log/obmc-console-secpro1.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleMPRO0Ruleset") { + action(type="omfile" file="/var/log/obmc-console-mpro0.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleMPRO1Ruleset") { + action(type="omfile" file="/var/log/obmc-console-mpro1.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleSCP0Ruleset") { + action(type="omfile" file="/var/log/obmc-console-scp0.log" template="ConsoleTemplate") +} +ruleset(name="ConsoleSCP1Ruleset") { + action(type="omfile" file="/var/log/obmc-console-scp1.log" template="ConsoleTemplate") +} + +# Custom socket for serial console logs. +input(type="imuxsock" + Socket="/run/rsyslog/console/cpu" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleCPURuleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/atf" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleATFRuleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/secpro0" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleSECPRO0Ruleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/secpro1" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleSECPRO1Ruleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/mpro0" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleMPRO0Ruleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/mpro1" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleMPRO1Ruleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/scp0" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleSCP0Ruleset") + +input(type="imuxsock" + Socket="/run/rsyslog/console/scp1" + CreatePath="on" + UseSpecialParser="off" + ParseHostname="off" + ruleset="ConsoleSCP1Ruleset") + +$EscapeControlCharactersOnReceive off +$DropTrailingLFOnReception off + diff --git a/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate index a6ba28d864..098236a8f5 100644 --- a/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate +++ b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate @@ -20,3 +20,48 @@ systemctl reload rsyslog 2> /dev/null || true endscript } +# Keep up to 2 256k files for cpu console logs +/var/log/obmc-console-cpu.log +{ + copytruncate + rotate 1 + size 256k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} +# Keep up to 2 64k files for atf console logs +/var/log/obmc-console-atf.log +{ + copytruncate + rotate 1 + size 64k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} +# Keep up to 2 64k files for secpro and mpro console logs +/var/log/obmc-console-*pro*.log +{ + copytruncate + rotate 1 + size 64k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} + +# Keep up to 2 64k files for Mt.Jade's scp console logs +/var/log/obmc-console-scp*.log +{ + copytruncate + rotate 1 + size 64k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} diff --git a/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend index 034ae3cfa7..863f314e28 100644 --- a/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend +++ b/meta-ampere/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend @@ -5,6 +5,7 @@ SRC_URI += "file://rsyslog.conf \ file://rotate-event-logs.service \ file://rotate-event-logs.sh \ file://rsyslog-override.conf \ + file://hostconsole.conf \ " FILES:${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf" @@ -18,6 +19,7 @@ do_install:append() { ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf install -d ${D}${bindir} install -m 0755 ${WORKDIR}/rotate-event-logs.sh ${D}/${bindir}/rotate-event-logs.sh + install -m 0755 ${WORKDIR}/hostconsole.conf ${D}${sysconfdir}/rsyslog.d/hostconsole.conf rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf } |