मेरे लिए यह एक समस्या थी कि rsyslog में प्रयुक्त imuxsock मॉड्यूल सिस्टमैड के साथ कैसे काम कर रहा था।
में imuxsock प्रलेखन वे के माध्यम से चलना कैसे मॉड्यूल systemd के लिए काम करने के लिए माना जाता है। चरण 1 वह जगह थी जहाँ मैं मुद्दों को देख रहा था:
चरण 1: सिस्टम सॉकेट का नाम चुनें
यदि उपयोगकर्ता ने स्पष्ट रूप से SysSock.Use = "बंद" सेट करने के लिए नहीं चुना है, तो डिफ़ॉल्ट श्रोता सॉकेट (उर्फ, "सिस्टम लॉग सॉकेट" या बस "सिस्टम सॉकेट") नाम / देव / लॉग पर सेट है। अन्यथा, यदि उपयोगकर्ता ने स्पष्ट रूप से SysSock.Use = "बंद" सेट किया है, तो rsyslog SysSock.Name पैरामीटर द्वारा परिभाषित / dev / log या किसी भी सॉकेट पर नहीं सुनेगा और इस खंड के बाकी हिस्से पर लागू नहीं होता है।
यदि उपयोगकर्ता ने sysSock.Name = "/ path / to / custom / socket" निर्दिष्ट किया है (और स्पष्ट रूप से SysSock.Use = "off") सेट नहीं किया है, तो डिफ़ॉल्ट श्रोता सॉकेट नाम को "पथ / / to / custom / socket के साथ ओवरराइट किया जाता है" ।
अन्यथा, अगर rsyslog systemd और / run / systemd / journal / syslog के अंतर्गत चल रहा है, (और उपयोगकर्ता ने स्पष्ट रूप से SysSock.Use = "off") सेट नहीं किया है, तो डिफ़ॉल्ट श्रोता सॉकेट का नाम / रन / systemd / पत्रिका के साथ ओवरराइट हो जाता है / syslog।
सिस्टम को चरण 3 में गिरना चाहिए और डिफ़ॉल्ट पथ को "/ run / systemd / journal / syslog" में बदलना चाहिए, लेकिन इसके बजाय यह शेष था "/ var / log"। इसका मतलब यह था कि imuxsock मॉड्यूल कोशिश करेगा (और कभी-कभी सफल होगा) / डेव / लॉग पर एक सॉकेट बनाने के लिए जहां सिस्टम-जर्नल-देव-लॉग-लॉकेट द्वारा प्रतीकात्मक लिंक बनाया जाना चाहिए। इस मामले में कि यह असली सॉकेट बनाने में विफल होगा, प्रतीकात्मक लिंक अभी भी हटा दिया जाएगा।
यह दस्तावेज rsyslog github पर रिपोर्ट किए गए इस मुद्दे का परिणाम था । यदि आप चर्चा को छोड़ना चाहते हैं और क्रमशः PR # 1 और PR # 2 में परिवर्तन देखें ।
मेरा समाधान सिर्फ मेरे /etc/rsyslog.conf में systemd पथ का उपयोग करने के लिए imuxsock मॉड्यूल को कॉन्फ़िगर करना था:
module(load="imuxsock"
SysSock.Name="/run/systemd/journal/syslog")
ऐसा लगता है कि मेरा मुद्दा ठीक हो गया है और एक अच्छे समाधान की तरह लग रहा है क्योंकि यह बताता है कि जब आप मैन्युअल रूप से इसे बनाएंगे तो प्रतीकात्मक लिंक फिर से क्यों गायब हो सकता है।
यदि आप अपने सिस्टम को देखते हैं और "/ run / systemd / journal / syslog" को "syslog.socket" में देखने के लिए उपस्थित नहीं हैं, तो यह देखें कि क्या यह सफलतापूर्वक शुरू हो रहा है, जो सॉकेट बनाने के लिए जिम्मेदार है।
systemctl status syslog.socket
यह हो सकता है कि rsyslog.service का आपका संस्करण syslog.service को एक उपनाम के रूप में परिभाषित नहीं करता है, जिसकी आवश्यकता है क्योंकि syslog.socket उस सेवा को सक्रिय करने का प्रयास करता है। यह भी संभव है कि कई लॉगिंग सेवाएं उर्फ syslog.service को करने की कोशिश करती हैं, जिस स्थिति में अंतिम रूप से सक्षम जीत हासिल होती है।