Benim için bu rsyslog kullanılan imuxsock modülünün systemd ile nasıl çalıştığı ile ilgili bir sorun haline geldi.
Gelen imuxsock belgelerine onlar modül systemd için işin gerekiyordu nasıl doğru yürüyelim. Adım 1 sorunları gördüğüm yerdi:
Adım 1: Sistem soketinin adını seçin
Eğer kullanıcı SysSock'u açık olarak ayarlamayı seçmediyse = "kapalı" ise, varsayılan dinleyici soketi (aka, “sistem günlük soketi” veya basitçe “sistem soketi”) adı / dev / log olarak ayarlanır. Aksi takdirde, kullanıcı açıkça SysSock.Use = "off" olarak ayarladıysa, rsyslog / dev / log VEYA SysSock.Name parametresi tarafından tanımlanan herhangi bir soketi dinlemez ve bu bölümün geri kalanı geçerli olmaz.
Kullanıcı sysSock.Name = "/ path / to / custom / socket" belirtmişse (ve açıkça SysSock.Use = "off" olarak ayarlanmamışsa), varsayılan dinleyici soket adının üzerine / path / to / custom / socket yazılır .
Aksi takdirde, rsyslog systemd AND / run / systemd / journal / syslog altında çalışıyorsa (VE kullanıcı açıkça SysSock.Use = "off" olarak ayarlamadıysa), varsayılan dinleyici soket adının üzerine / run / systemd / journal yazılır / syslog.
Sistemin 3. Adıma düşmesi ve varsayılan yolu "/ run / systemd / journal / syslog" olarak değiştirmesi gerekirdi, bunun yerine "/ var / log" olarak kaldı. Bu, imuxsock modülünün / dev / log dosyasında systemd-journalald-dev-log.socket tarafından oluşturulan sembolik bir bağ olması gereken bir soket oluşturmaya çalışacağı (ve bazen başarılı olacağı) anlamına geliyordu. Gerçek soketin yaratılmaması durumunda, sembolik bağlantı yine de kaldırılacaktır.
Bu belge rsyslog github'da bildirilen bu sorunun sonucuydu. Tartışmayı atlamak ve doğrudan değişikliklere atlamak istiyorsanız, sırasıyla PR # 1 ve PR # 2'ye bakın .
Benim çözümüm sadece /etc/rsyslog.conf dosyasındaki systemd yolunu kullanacak şekilde imuxsock modülünü yapılandırmaktı:
module(load="imuxsock"
SysSock.Name="/run/systemd/journal/syslog")
Bu, sorunumu düzeltmiş gibi görünüyor ve burada elle oluşturduktan sonra sembolik bağlantının neden tekrar kaybolabileceğini açıklayacağı için burada iyi bir çözüm gibi görünüyor.
Sisteminize bakarsanız ve "/ run / systemd / journal / syslog" yoksa "syslog.socket" dosyasına bakın ve soketin oluşturulmasından sorumlu olan şey budur.
systemctl status syslog.socket
Rsyslog.service sürümünüz, syslog.service öğesini, syslog.socket bu hizmeti etkinleştirmeye çalışırken gerekli olan bir diğer ad olarak tanımlamıyor olabilir. Birden çok günlük kaydı hizmetinin syslog.service adlı diğer adı etkinleştirmeye çalışması da mümkündür, bu durumda en son etkinleştirilen kazanır.