summaryrefslogtreecommitdiff
path: root/meta-facebook/recipes-extended
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2021-08-31 21:28:37 +0300
committerAmithash Prasad <amithash@fb.com>2021-08-31 22:37:33 +0300
commit3b0b3749d62cef07275b67a07bc38208e95b1936 (patch)
treefc52e34650482dcc69486498d9ee28a4d68e72b2 /meta-facebook/recipes-extended
parented104d431da1d9283a870919eb987e9c1d3356b1 (diff)
downloadopenbmc-3b0b3749d62cef07275b67a07bc38208e95b1936.tar.xz
meta-facebook: move rsyslog redfish config from tiogapass
The rsyslog configuration previously done in tiogapass is necessary for Redfish event logs. Move this to be used by all machines. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib2315287b17ee68ba18a24c9f67f7446ead9b65a
Diffstat (limited to 'meta-facebook/recipes-extended')
-rw-r--r--meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service9
-rw-r--r--meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer8
-rw-r--r--meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.conf51
-rw-r--r--meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate12
-rw-r--r--meta-facebook/recipes-extended/rsyslog/rsyslog_%.bbappend17
5 files changed, 97 insertions, 0 deletions
diff --git a/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
new file mode 100644
index 000000000..fdeefd417
--- /dev/null
+++ b/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Rotates the event logs
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer b/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer
new file mode 100644
index 000000000..148f8e4ae
--- /dev/null
+++ b/meta-facebook/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=Run rotate-event-logs.service every minute
+
+[Timer]
+OnCalendar=*-*-* *:*:00
+
+[Install]
+WantedBy=timers.target
diff --git a/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..5a85aadb5
--- /dev/null
+++ b/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,51 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+#
+# Ported from debian's sysklogd.conf
+
+# Journal-style logging
+# Limit to no more than 2000 entries in one minute and enable the
+# journal workaround to avoid duplicate entries
+module(load="imjournal" StateFile="/var/log/state"
+ RateLimit.Interval="60"
+ RateLimit.Burst="2000")
+
+# Template for Redfish messages
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="IPMISELTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!IPMISEL_MESSAGE_ID")
+ constant(value=", ")
+ property(name="$!IPMISEL_MESSAGE_ARGS")
+ constant(value="\n")
+}
+
+# Template for Redfish messages
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="RedfishTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!REDFISH_MESSAGE_ID")
+ constant(value=",")
+ property(name="$!REDFISH_MESSAGE_ARGS")
+ constant(value="\n")
+}
+
+# If the journal entry has a IPMI SEL MESSAGE_ID, save as IPMI SEL
+if ($!IPMISEL_MESSAGE_ID != "") then {
+ action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate")
+}
+
+# If the journal entry has a Redfish MessageId, save as a Redfish event
+if ($!REDFISH_MESSAGE_ID != "") then {
+ action(type="omfile" file="/var/log/redfish" template="RedfishTemplate")
+}
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..9eddafa13
--- /dev/null
+++ b/meta-facebook/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,12 @@
+# /etc/logrotate.d/rsyslog - Ported from Debian
+
+# Keep up to four 64k files for ipmi_sel (256k total)
+/var/log/ipmi_sel
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
diff --git a/meta-facebook/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-facebook/recipes-extended/rsyslog/rsyslog_%.bbappend
new file mode 100644
index 000000000..104d13b4a
--- /dev/null
+++ b/meta-facebook/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://rotate-event-logs.service \
+ file://rotate-event-logs.timer \
+"
+
+PACKAGECONFIG:append = " imjournal"
+
+do_install:append() {
+ install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/rotate-event-logs.timer ${D}${systemd_system_unitdir}
+ rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+}
+
+SYSTEMD_SERVICE:${PN} += " rotate-event-logs.service rotate-event-logs.timer"