2009-11-19 46 views
34

मेरा ऐप एक अमेज़ॅन ईसी 2 क्लस्टर पर होस्ट किया गया है। प्रत्येक इंस्टेंस घटनाओं को फाइल लॉग करने के लिए लिखता है। मुझे प्रत्येक दिन के अंत में इन लॉगों पर (और डेटा खदान) एकत्र करने की आवश्यकता है। इन लॉगों को केंद्रीय स्थान पर एकत्र करने का एक अनुशंसित तरीका क्या है? मैं, जो रास्ता तय करने के लिए कई विकल्पों में से सोचा है यकीन नहीं:अमेज़ॅन ईसी 2 उदाहरणों से लॉग एकत्र करने का एक अच्छा तरीका क्या है?

  1. उन्हें SCP एक उदाहरण के लिए टीसीपी/आईपी पर सभी घटनाओं एक उदाहरण

उत्तर

1

मैं हेवन के लिए एक क्रॉन जॉब

  • लॉग का उपयोग कर इसे अभी तक लागू नहीं किया गया है, लेकिन मैं फेसबुक स्क्रिप्ट में आया, और यह एक अच्छा विचार प्रतीत होता है। https://github.com/facebookarchive/scribe

    जब तक मुझे यह नहीं मिलता है, मैं केवल 1 1 के लिए जो उल्लेख करता हूं वह कर रहा हूं - मेरे पास एक क्रॉन नौकरी है जो फ़ाइलों को खींचने के लिए sftp का उपयोग करती है। मैंने इसे चुना क्योंकि यहां तक ​​कि अगर मैंने # 2 किया था, तो मेरे पास ऐसे उदाहरण थे जहां ec2 मशीन दुर्घटनाग्रस्त हो गई और मैंने लॉगफाइल को किसी भी तरह से खींचने के लिए समाप्त कर दिया।

  • 3

    Splunk के मुफ्त संस्करण पर एक नज़र डालें - यह दूरस्थ लॉग फ़ाइल संग्रह को संभालेगा और आपको कुछ वाकई अच्छी खोज और विश्लेषण टूल भी देगा।

    3

    syslog-ng का उपयोग करें, एक लोकप्रिय उपकरण जो टीसीपी पर लॉग संदेशों को स्थानांतरित करता है, वैकल्पिक रूप से एन्क्रिप्टेड।

    http://www.balabit.com/network-security/syslog-ng/

    6

    मैं इस उद्देश्य के लिए इसे करने की कोशिश नहीं की है, लेकिन अमेज़न का उपयोग कर SimpleDB सिफारिश करने के लिए दिखाई देते हैं:

    http://aws.amazon.com/simpledb/usecases_logging/

    यहाँ एक पैकेज है कि आप उपयोगी लग सकते है - यह कहते हैं कि आप उपयोग कर सकते हैं यह SimpleDB में stdout/stderr कब्जा करने के लिए:

    http://code.google.com/p/simpledb-appender/

    7

    मैं Loggly का उपयोग किया गया है और यह चाल

    http://loggly.com/

    यह मुझे उनकी सेवा करने के लिए टीसीपी के माध्यम से अपने सभी लॉग भेजने और मेरे सारे लॉग फाइल निगरानी के लिए एक केंद्रीय स्थान की अनुमति देता है क्या करने के लिए लगता है

    यह भी मुझे S3 जो है अच्छा भी

    +0

    "यह भी मुझे S3 के लिए मेरी लॉग फ़ाइलों को संग्रहीत करने के लिए अनुमति देता है जो अच्छा भी है ", क्या इसका मतलब यह है कि लॉगगली आपका पहला गंतव्य बिंदु है ?, लॉगफाइल वहां भेजे जाते हैं और फिर आप लॉग इन को संपीड़ित संग्रह एस 3 पर भेजते हैं? मैं इस सेटअप को प्राप्त करने का प्रयास कर रहा हूं जहां मेरे पास सभी लॉगफाइलों के लिए केंद्रीकृत निगरानी है लेकिन मैं अभी भी संग्रहीत .gz फ़ाइलों को s3 – Donna

    21

    हम एक मेजबान (कठपुतली के माध्यम से तैनात) पर Logstash का उपयोग इकट्ठा होते हैं और करने के लिए करने के लिए मेरी लॉग फ़ाइलों को संग्रहीत करने के लिए अनुमति देता है संदेश कतार में जहाज लॉग ईवेंट (RabbitMQ, लेकिन Redis हो सकता है) एक केंद्रीय मेजबान पर। एक अन्य लॉगस्टैश उदाहरण घटनाओं को पुनर्प्राप्त करता है, उन्हें संसाधित करता है और परिणाम को ElasticSearch में प्रस्तुत करता है। इस डेटाबेस के माध्यम से खोजने के लिए Kibana वेब इंटरफ़ेस का उपयोग किया जाता है।

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

    इस प्रकार के सेटअप पर कुछ दस्तावेज यहां दिए गए हैं: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html, और कुछ लाइव डेटा के साथ किबाना सर्च इंटरफ़ेस का एक डेमो।

    +0

    पर रख सकता हूं, इस पर जोड़ने के लिए, यदि आपको अपने मेजबान पर लॉगस्टैश का प्रदर्शन भी बहुत मांगना है आप https://github.com/elasticsearch/logstash-forwarder में देखना चाह सकते हैं। यह गोलांग में लिखा गया है और पूरे लॉगस्टैश प्रोजेक्ट की तुलना में बहुत कम ओवरहेड है, लेकिन आपके होस्ट के लॉग और आपके लॉगिंग सिस्टम में लॉग इन करने के काम के लिए पर्याप्त इनपुट है (जहां आप उन्हें लॉगस्टैश के विभिन्न इनपुट प्लगइन के साथ जोड़ सकते हैं)। – semi

    +2

    मैं लॉग को एस 3 पर शिपिंग करने और फिर लॉगस्टैश + लोचदार खोज का उपयोग करके एस 3 से लॉग को tailing करने की सलाह दूंगा। (Logstash reprocessing reuploaded फ़ाइलों के कारण लॉग प्रविष्टियों को समर्पित करने के लिए elasticsearch आईडी उत्पन्न करने के लिए चेकसम का उपयोग करें)। इस तरह आपको अपने लोचदार खोज क्लस्टर को खोने के बारे में चिंता करने की ज़रूरत नहीं है और आपके ईएस क्लस्टर को बहुत आसान और क्लीनर को दोबारा बदलना है। यह आपको ईएमआर और रेडशिफ्ट जैसे बहुत अधिक भारी एनालिटिक्स टूल तक भी खुलता है। –

    +1

    इन दिनों, लॉगस्टैश-फॉरवर्डर को विभिन्न बीट्स (https://www.elastic.co/products/beats) द्वारा प्रतिस्थापित किया गया है। लॉगफाइल के लिए फ़ाइलबीट, मीट्रिक के लिए मेट्रिकबीट, नेटवर्क यातायात लॉगिंग के लिए पैकेटबीट, आदि वे बहुत हल्के हैं। इसके अलावा, लॉगस्टैश 5.4 में पर्सिस्टेंट कतार नामक एक सुविधा है जो एक अलग संदेश कतार की आवश्यकता को कम कर देती है, जिससे तैनाती आसान हो जाती है। –

    10

    यह प्रश्न अब पुराना है (दिसंबर 2014) लेकिन इस विषय पर Google खोज के दौरान अभी भी बहुत अधिक है।

    अमेज़ॅन अब क्लाउडवॉच के माध्यम से ऐसा करने का एक तरीका प्रदान करता है। इसमें लॉग संदेश से मिलान करने की क्षमता है और एप्लिकेशन में होने वाली चीजों के आधार पर अलार्म ट्रिगर करने की क्षमता है। डेटा-खनन की प्रकृति के आधार पर, वांछित, कुल घटनाओं को लाने के लिए अपने एपीआई का उपयोग करना संभव हो सकता है। देखें http://aws.amazon.com/blogs/aws/cloudwatch-log-service/

    0

    * अस्वीकरण: मैं सूमो पर काम करते हैं:

    सूमो तर्क नि: शुल्क के रूप में अच्छी तरह से एक अपेक्षाकृत आसान विकल्प है:

    https://www.sumologic.com/pricing/

    संबंधित मुद्दे