diff options
Diffstat (limited to 'meta-facebook/recipes-extended')
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" |