मैं syslogd ईमेल को कुछ लॉग मैसेज कैसे कर सकता हूं?


13

जब भी syslogd किसी चीज को लॉग करता है, उसे errप्राथमिकता या उच्चतर कहते हैं, तो मैं एक ईमेल सूचना प्राप्त करने में सक्षम होना चाहता हूं । यह एक BSD संगत syslog डेमन है मान लें।

  • क्या इसे पूरा किया जा सकता है?
  • क्या मुझे शेल स्क्रिप्ट में नामांकित पाइप का उपयोग करना चाहिए?
  • अन्य संभावित समाधान क्या हैं?

जवाबों:


6

यहां एक समाधान है जो नामित पाइप का उपयोग करता है। यह डेबियन के लिए स्थापित किया गया है, लेकिन आपको इसे बीएसडी के लिए संशोधित करने में सक्षम होना चाहिए।


इस पर मेरे समाधान को आधार बनाकर समाप्त किया गया ताकि मैं ईमेल को निष्क्रिय कर सकूं। लिंक के लिए धन्यवाद।
जेसन

यह बहुत ज्यादा हैक लगता है। जब आप आपके लिए ऐसा करने के लिए स्थिर ओपन सोर्स ऐप हैं तो आप स्क्रिप्टिंग पर समय क्यों बिताएंगे? (वास्तविक समय में भी)। * मेरा जवाब देखें।
2

2
हैक नहीं है। इस तरह से इस तरह की बात अक्सर हो जाती है।
अगली सूचना तक रोक दिया गया।

6

Syslogd के माध्यम से सूचनाएं (8)

मेरे OpenBSD सर्वर पर, मैं अपने वेब एप्लिकेशन से महत्वपूर्ण संदेशों को लॉग और ईमेल करता हूं, जो सुविधा local1 का उपयोग करते हैं । यहाँ ऐसा करने के लिए मेरा /etc/syslog.conf है:

local1.err    /var/log/example.com
local1.err    |while read log; do echo "$log" | /usr/bin/mail -s SYSLOG me@example.com; done

ध्यान दें कि जबकि लूप असीम रूप से syslogd से प्रत्येक पंक्ति को पढ़ता है और फिर इसे इको के माध्यम से मेल करने के लिए पाइप करता है। यह महत्वपूर्ण है। एक बार ईको अपनी लाइन को आउटपुट कर देता है, यह पाइप को समाप्त कर देता है, मेल को एक ईओएफ भेज देता है ताकि वह लॉग संदेश को ईमेल कर सके।

दूसरे शब्दों में, आप इस तरह से syslogd के माध्यम से सीधे मेल नहीं कर सकते हैं:

local1.err    |/usr/bin/mail -s SYSLOG me@example.com

क्योंकि syslogd पाइप को तब तक लिखना जारी रखेगा जब तक कि वह स्वयं समाप्त नहीं हो जाता है या HUP संकेत नहीं भेज देता है, उस समय मेल एक बड़े ईमेल में लॉग संदेशों के पूरे सेट को भेज देगा।

Newsyslog के माध्यम से सूचनाएं (8)

क्रोन में शेड्यूलिंग न्यूज़लॉग एक धीमी दर पर या थोक में संदेश प्राप्त करने का एक और तरीका है।

उदाहरण के लिए, यदि आप लॉग संदेशों के दैनिक ईमेल डाइजेस्ट चाहते हैं, तो M फ्लैग सेट करें और /etc/newsyslog.conf में एक मॉनिटर ईमेल एड्रेस निर्दिष्ट करें :

# logfile_name        owner:group  mode  count  size  when  flags  monitor
/var/log/example.com  root:wheel   640   7      *     24    M      me@example.com

फिर क्रॉस्टैब में न्यूज़लॉग शेड्यूल करें:

# minute hour  mday  month  wday  command
0        *     *     *      *     /usr/bin/newsyslog
1-59     *     *     *      *     /usr/bin/newsyslog -m

मी के लिए विकल्प newsyslog (8) कहता है:

निगरानी मोड; केवल झंडे में एक `एम 'के साथ चिह्नित प्रविष्टियों को संसाधित किया जाता है। प्रत्येक लॉग फ़ाइल की निगरानी की जा रही है, कोई भी लॉग आउटपुट, क्योंकि पिछली बार न्यूज़सीलॉग -m फ्लैग के साथ चलाया गया था, मॉनिटर नोटिफिकेशन सेक्शन में सूचीबद्ध उपयोगकर्ता को मेल किया गया है।


3

आप लॉगचेक या लॉगवाच को देखना चाह सकते हैं। लॉगचेक आपको लॉग लाइनों के साथ प्रति घंटा ईमेल करेगा जो पैटर्न के एक सेट से मेल नहीं खाता है। मुझे संदेह है कि आप इसे अधिक बार कर सकते हैं। मैं किसी भी उपकरण का नहीं जानता जो इसे लॉगफाइल्स को देखकर करता है, लेकिन मुझे यकीन है कि वहाँ कुछ है जो इसे करता है।


हाँ, मैं मॉनिटर और पार्स लॉग फ़ाइलों को उनके लिखे जाने के बाद नहीं करना चाहूंगा, लेकिन लॉगिंग प्रक्रिया में सिर्फ हुक लगाओ ताकि मुझे तुरंत सूचनाएं मिल सकें।
जेसन

1

मैं OSSEC का उपयोग करूंगा। यह वास्तविक समय में आपके लॉग पर नज़र रखता है और विशिष्ट घटनाओं के मिलान होने पर आपको ईमेल (या अन्य माध्यमों) से आसानी से सचेत करने की अनुमति देता है। उपयोग करने में सरल, स्केलेबल और ओपन सोर्स।

लिंक: http://www.ossec.net


यह आवेदन के लिए ओवरकिल हो सकता है। हालाँकि, पैकेज बहुत कुछ करता है और यदि कोई आवश्यकता है तो यह एक फिट हो सकता है।
अगली सूचना तक रोक दिया गया।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.