日々の備忘録

技術について日々学んだことを書きます。

Centos7 Journald と rsyslog で/dev/logの管理が競合する

経緯

rsyslogを弄っているときに /dev/log が消えてしまうことがありました。

Centos7 では /dev/log はjournaldの管理下となり (systemd-journald.socket)、rsyslogはjournaldから順次読み出しをするようになったようです。 にも関わらず、rsyslogも/dev/logを管理してしまうようです。(元々syslogの管理するものだったので当然かもしれませんが)

発覚した経緯としては、rsyslogのrainerscriptを調整する際、適宜systemctl restartが必要なのですが、稀に /dev/log が消失してしまうことがあり、systemd-journald.socketを再起動するまでそのままになってしまいます。

systemd / rsyslog 双方の具体的なバージョンは失念しましたがcentos 7.8にシステムアップデートした後で確認しています。

解消方法

centos7 標準yumリポジトリのrsyslogが古いため、rsyslogの公式リポジトリから新しいバージョンにアップグレードする必要があります。 rsyslog rhelcentos-rpms

v8.2010にアップグレードしたところ、何度かrestartをしましたが、今のところ再発していないので解消されたようです。

ディストリビューションにも依ると思いますが、本元で解消されていても取り込まれないのは若干厄介ではありますね。 その代わりに新しいバグが混入することもないので一長一短だとは思いますが。