We made some major changes to the way the RPMs for CentOS7/RHEL7 are built. We have adapted the spec file definitions of the base repo to build our own RPMs after we detected some trouble with the last released version. That means, that some things will also change, so our RPMs are more like the official ones.
Stock CentOS 7 8.24.0 package to 8.32.0-1 package upgrade
The upgrade completes and the same functionality present before is present here. Because the syntax was obsolete legacy format before and the format is obsolete legacy format now the /etc/rsyslog.d/listen.conf
file passes validation checks (rsyslogd -N6
) without issue.
That said, the /etc/rsyslog.d/listen.conf
file doesn’t really do anything because the /etc/rsyslog.conf
file disables local logging and the /usr/lib/systemd/system/rsyslog.repo
unit file doesn’t enable socket activation (basically the symlink from /etc/systemd/system/syslog.service
to /usr/lib/systemd/system/rsyslog.service
wasn’t created and systemd doesn’t create the /run/systemd/journal/syslog
socket for rsyslog to read from).
Not a problem here because the conf file was stock before and is still stock (now upstream Adiscon copy), so imjournal is used to pull log messages (API?) instead of via a socket.
Adiscon repo 8.31.0-4 stable package (with unmodified Adiscon RPM config) to 8.32.0-1 package upgrade
After installing the 8.31.0-4 package (the last one), systemctl disable rsyslog; systemctl enable rsyslog
and that workaround seemed to allow that version to function as expected (restart, start, stop). A now performed upgrade to the new package and rebooted. Prior to that, attempting to run systemctl status rsyslog
warned me that I should run systemctl daemon-reload
(or restart) to sort things out.
After a restart, all stock settings appeared to function normally. The upgrade (yum install rsyslog
) pulled in the needed libfastjson package version without my explicitly specifying to install that package. The /etc/rsyslog.conf
file included in the previous stable version was replaced, but this was to be expected because I did not modify the previous conf file (thus the checksums match).
Adiscon repo 8.31.0-4 with custom config to 8.32.0-1 package upgrade
In short, the symlink from /etc/systemd/system/syslog.service
to /usr/lib/systemd/system/rsyslog.service
wasn’t created and systemd doesn’t create the /run/systemd/journal/syslog
socket for rsyslog to read from. In a setup where imuxsock is used, not imjournal this means that rsyslog was not able to read from the socket. To restore this functionality, you have to create a drop-in to restore the socket activation.
Once you did that and either rebooted or ran systemctl daemon-reload
, the /run/systemd/journal/syslog
socket was restored.
Addendum
Unmodified configurations should continue to work as before, so there is that.
Users of rsyslog who are using the Adiscon RPMs for a while now, may notice a change in the available module packages because the modules are now incorporated in the basic rsyslog package as in the RPM from the base repo. The affected module packages are (now no longer needed):
rsyslog-mmanon
rsyslog-mmutf8fix
rsyslog-mail
rsyslog-pmaixforwardedfrom