अपने एप्लिकेशन लोड बैलेंसर के लिए एक्सेस लॉग कैसे सक्षम करें?

Apane Eplikesana Loda Bailensara Ke Li E Eksesa Loga Kaise Saksama Karem



एक एप्लिकेशन लोड बैलेंसर (ALB) विभिन्न सर्वरों या नोड्स पर ट्रैफ़िक को कुशलतापूर्वक वितरित करता है। यह एप्लिकेशन को ढहने से बचाता है और ग्राहकों को उच्च उपलब्धता, बढ़ी हुई क्षमता और बेहतर प्रदर्शन प्रदान करता है। इसके अलावा, एप्लिकेशन लोड बैलेंसर से किया गया अनुरोध भी 'के रूप में दर्ज किया गया है' एक्सेस लॉग्स ”। ट्रैफ़िक पैटर्न का विश्लेषण करने और समस्याओं के निवारण के लिए ये दृश्य लॉग डैशबोर्ड के माध्यम से उपयोगकर्ताओं तक पहुंच योग्य हैं।

त्वरित रूपरेखा

यह आलेख निम्नलिखित पहलुओं को दर्शाता है:

एक्सेस लॉग क्या है?

प्रवेश लॉग एक वैकल्पिक सुविधा एप्लिकेशन लोड बैलेंसर जो लोड बैलेंसर को भेजे गए अनुरोध के बारे में विस्तृत जानकारी कैप्चर करता है। इस विस्तृत जानकारी में अनुरोध प्राप्त करने की तारीख और समय, क्लाइंट आईपी पता, विलंबता, पोर्ट इत्यादि शामिल हैं 'लॉग फ़ाइलों तक पहुंचें' . एप्लिकेशन लोड बैलेंसर (ALB) में, इस सुविधा को मैन्युअल रूप से सक्षम करना होगा। ये एक्सेस लॉग तब S3 बकेट द्वारा प्राप्त किए जाते हैं जहां से इन्हें उपयोगकर्ता द्वारा एक्सेस और देखा जा सकता है।







एक्सेस लॉग फ़ाइलें क्या हैं?

एक्सेस लॉग में शामिल हैं 'लॉग फ़ाइलों तक पहुंचें' जो प्रत्येक 5 मिनट के बाद प्रत्येक लोड बैलेंसर नोड के लिए प्रकाशित किए जाते हैं। यदि साइट पर अधिक ट्रैफ़िक है तो एकाधिक लॉग हो सकते हैं। एक्सेस लॉग फ़ाइलें एक निर्दिष्ट प्रारूप का पालन करती हैं:



बाल्टी [ / उपसर्ग ] / AWSलॉग्स / एडब्ल्यूएस - खाता - पहचान / इलास्टिक लोड संतुलन / क्षेत्र / yyyy / मिमी / डीडी / एडब्ल्यूएस - खाता - आईडी_इलास्टिकलोडबैलेंसिंग_क्षेत्र_एप। भार - कसरती - id_end - समय_आईपी - पता_यादृच्छिक - डोरी। लकड़ी का लट्ठा . gz
  • बाल्टी ”: फ़ील्ड में उस बकेट का नाम होता है जो लॉग फ़ाइलें प्राप्त करेगा।
  • उपसर्ग ”: वैकल्पिक है. यदि S3 बकेट बनाते समय उपयोगकर्ता द्वारा निर्दिष्ट कोई उपसर्ग है तो इस फ़ील्ड में एक मान होगा। उपसर्ग में ' शामिल नहीं होना चाहिए AWSलॉग्स 'कीवर्ड.
  • 'एडब्ल्यूएस-अकाउंट-आईडी' : स्वामी की AWS खाता आईडी शामिल है।
  • क्षेत्र ”: फ़ील्ड में लोड बैलेंसर का क्षेत्र शामिल है।
  • वर्ष/मिमी/दिन ”: उस डेटा को निर्दिष्ट करता है जिस पर लॉग वितरित किया गया था।
  • लोड-बैलेंसर-आईडी ”: लोड बैलेंसर की विशिष्ट आईडी को इंगित करता है। इसके अलावा, आईडी में फॉरवर्ड स्लैश को पीरियड्स (.) से बदल दिया जाता है।
  • अंत समय ”: लॉगिंग अंतराल के लिए दिनांक और समय की समाप्ति निर्दिष्ट करता है।
  • आईपी ​​पता ”: उस आईपी पते को निर्दिष्ट करता है जिस पर लोड बैलेंसर संचालित होता है
  • यादृच्छिक-स्ट्रिंग ”: सिस्टम द्वारा उत्पन्न एक यादृच्छिक स्ट्रिंग शामिल है।

एक्सेस लॉग प्रविष्टियाँ क्या हैं?

इन एक्सेस लॉग प्रविष्टियों में एप्लिकेशन लोड बैलेंसर को किए गए प्रत्येक अनुरोध के बारे में जानकारी होती है। ऐसे एकल अनुरोधों को कहा जाता है 'लॉग एंट्री' . इन लॉग प्रविष्टियों में विकृत अनुरोध भी शामिल हैं यानी, वह अनुरोध जो लोड बैलेंसर (एएलबी) तक कभी नहीं पहुंचा। यदि लोड बैलेंसर को किए गए अनुरोधों में वेब सॉकेट शामिल हैं तो यह लॉग प्रविष्टि केवल कनेक्शन बंद होने पर ही रिकॉर्ड की जाएगी।



एक्सेस लॉग फ़ाइलें कैसे संसाधित की जाती हैं?

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





इन फाइल्स लॉग करें # लॉग फाइलें को किए गए अनुरोध के परिणामस्वरूप उत्पन्न होते हैं भार संतुलन . यदि वर्तमान में वेबसाइट पर उच्च ट्रैफ़िक है तो लोड बैलेंसर द्वारा उत्पन्न लॉग फ़ाइलों में गीगाबाइट में डेटा होगा। इतनी बड़ी मात्रा में डेटा हो सकता है प्रसंस्कृत का उपयोग करके विश्लेषणात्मक उपकरण जैसे अमेज़ॅन एथेना, स्प्लंक, सूमो लॉजिक आदि।

एप्लिकेशन लोड बैलेंसर के लिए एक्सेस लॉग कैसे सक्षम करें?

निम्नलिखित विधियों का उपयोग करके एक्सेस लॉग को विभिन्न क्षेत्रों के लिए कॉन्फ़िगर किया जा सकता है:



  • विधि 1: अगस्त 2022 से पहले उपलब्ध क्षेत्रों के लिए एक्सेस लॉग
  • विधि 2: क्षेत्रों के लिए एक्सेस लॉग अगस्त 2022 या उसके बाद तक उपलब्ध हैं

विधि 1: अगस्त 2022 से पहले उपलब्ध क्षेत्रों के लिए एक्सेस लॉग

अगस्त 2022 से पहले उपलब्ध क्षेत्रों के लिए एक्सेस लॉग को कॉन्फ़िगर करने के लिए, नीचे दिए गए चरणों का पालन करें:

  • चरण 1: S3 बाल्टी बनाएं
  • चरण 2: लोड बैलेंसर विशेषताएँ संपादित करें
  • चरण 3: सत्यापन

चरण 1: S3 बकेट बनाएं

पहला कदम ALB के लिए एक्सेस लॉग को सक्षम करने के लिए S3 बकेट बनाना है। इस प्रयोजन के लिए, S3 बकेट सेवा को खोज बार में खोजकर उस तक पहुंचें AWS प्रबंधन कंसोल:

से S3 डैशबोर्ड , क्लिक करें 'बाल्टी बनाएँ' बटन:

में सामान्य विन्यास , 'में S3 बकेट के लिए विश्व स्तर पर विशिष्ट पहचानकर्ता प्रदान करें बाल्टी का नाम ' पाठ्य से भरा। यह विचार करना महत्वपूर्ण है कि ' एडब्ल्यूएस क्षेत्र 'लोड बैलेंसर के क्षेत्र के समान होना चाहिए:

बाकी सेटिंग्स को डिफॉल्ट रखते हुए “पर क्लिक करें” बाल्टी बनाएँ इंटरफ़ेस के नीचे स्थित बटन:

बाल्टी सफलतापूर्वक बनाया गया है:

से S3 बकेट डैशबोर्ड , थपथपाएं ' एस3 अनुमतियों को कॉन्फ़िगर करने के लिए बाल्टी नाम:

से S3 बकेट कंसोल , क्लिक करें ' अनुमतियां 'टैब:

इंटरफ़ेस को नीचे स्क्रॉल करें और “क्लिक करें” संपादन करना 'बटन' से बकेट नीति ' अनुभाग:

में संपादक , नीचे दी गई नीति चिपकाएँ और निम्नलिखित चर बदलें:

{
'संस्करण' : '2012-10-17' ,
'कथन' : [
{
'प्रभाव' : 'अनुमति दें' ,
'प्रमुख' : {
'एडब्ल्यूएस' : 'arn:aws:iam::elb-account-id:root'
} ,
'कार्रवाई' : 's3:पुटऑब्जेक्ट' ,
'संसाधन' : 'माय-एस3-अर्न'
}
]
}
  • एल्ब-खाता-आईडी : इस फ़ील्ड में, AWS क्षेत्र की आईडी प्रदान करें। ये आईडी दिए गए हैं आधिकारिक AWS दस्तावेज़ीकरण . नीचे स्क्रॉल करें ' अगस्त 2022 से पहले उपलब्ध क्षेत्रों के लिए एक्सेस लॉग ” अनुभाग और नीति के तहत, संबंधित आईडी वाले क्षेत्रों का उल्लेख किया गया है:

  • my-s3-arn : S3 बकेट के ARN को दो प्रारूपों का उपयोग करके बदला जा सकता है:
    • प्रारूप 1: उपसर्ग के साथ एआरएन
    • प्रारूप 2: बिना किसी उपसर्ग के एआरएन

प्रारूप 1: उपसर्ग के साथ एआरएन : यदि आपकी बकेट में उपसर्ग मान है तो इस प्रारूप का पालन किया जाना चाहिए:

arn:aws:s3:::बाल्टी-नाम / उपसर्ग / AWSलॉग्स / aws-खाता-आईडी /*
  • बाल्टी-नाम : इस फ़ील्ड को बकेट के मूल नाम से बदलें।
  • उपसर्ग : यदि आपकी बाल्टी में कोई उपसर्ग है तो प्रदान करें। उपसर्ग का मान आवश्यक है क्योंकि यह इस प्रारूप में निर्दिष्ट है।
  • एडब्ल्यूएस-खाता-आईडी: इस फ़ील्ड में AWS खाता आईडी प्रदान करें। इस उद्देश्य के लिए, इंटरफ़ेस के ऊपरी-बाएँ कोने में उल्लिखित AWS खाते के नाम पर टैप करें। ड्रॉप-डाउन मेनू से, खाता आईडी कॉपी करें:

प्रारूप 2: बिना किसी उपसर्ग के एआरएन : इस प्रारूप का उपयोग तब किया जाना चाहिए जब बकेट में कोई उपसर्ग न हो। निर्दिष्ट सभी फ़ील्ड वही रहेंगे जैसा कि उपर्युक्त एआरएन में बताया गया है। फर्क सिर्फ इतना है कि यह ' शाही सेना ' में कोई 'उपसर्ग' फ़ील्ड शामिल नहीं है:

arn:aws:s3:::बाल्टी-नाम / AWSलॉग्स / aws-खाता-आईडी /*

यहां ही नीति रहा है जगह ले ली :

इंटरफ़ेस के नीचे तक स्क्रॉल करें और क्लिक करें 'परिवर्तनों को सुरक्षित करें' परिवर्तन लागू करने के लिए बटन:

नीति संपादित किया गया है सफलतापूर्वक :

चरण 2: लोड बैलेंसर विशेषताएँ संपादित करें

से EC2 डैशबोर्ड , पर क्लिक करें 'लोड बैलेंसर्स' के अंतर्गत विकल्प 'भार का संतुलन' नेविगेशन फलक से अनुभाग:

से लोड बैलेंसर डैशबोर्ड , लोड बैलेंसर के नाम पर क्लिक करें एक्सेस लॉग सक्षम करें . इस डेमो के लिए, एक लोड बैलेंसर है पहले ही बनाया जा चुका है और चल रहा है:

नीचे ' विवरण ” अनुभाग में, कई अलग-अलग विकल्प उपलब्ध हैं। क्लिक करें ' गुण 'टैब:

से ' गुण 'टैब पर क्लिक करें' संपादन करना ' बटन:

अगले इंटरफ़ेस पर, नीचे स्क्रॉल करें ' निगरानी ' अनुभाग। 'टॉगल करें' प्रवेश लॉग सक्षम करने के लिए बटन एक्सेस लॉग सुविधा . इसके बाद, पर क्लिक करें 'S3 ब्राउज़ करें' बाल्टी चुनने के लिए बटन:

क्लिक करने के बाद 'S3 ब्राउज़ करें' बटन, एक पॉप-अप विंडो दिखाई देगी। S3 बाल्टी चुनें और ' दबाएं चुनना ' बटन:

बकेट जोड़ने के बाद, 'पर क्लिक करें परिवर्तनों को सुरक्षित करें ' बटन:

AWS एक प्रदर्शित करेगा पुष्टि संदेश एक्सेस लॉग में S3 बकेट के सफल कॉन्फ़िगरेशन पर:

चरण 3: सत्यापन

यह सत्यापित करने के लिए कि क्या बकेट जोड़ा गया है, S3 डैशबोर्ड पर जाएँ और बकेट चुनें:

यहाँ, इस बकेट में अब एक फ़ोल्डर है 'AWSLogs/' . इस फ़ोल्डर में एक्सेस लॉग्स से संबंधित सभी जानकारी होगी:

विधि 2: क्षेत्रों के लिए एक्सेस लॉग अगस्त 2022 या उसके बाद तक उपलब्ध हैं

अगस्त 2022 या उसके बाद उपलब्ध क्षेत्रों के लिए एक्सेस लॉग सक्षम करने के लिए, नीचे दिए गए चरणों का पालन करें:

  • S3 बकेट बनाएं.
  • S3 बकेट बनाने के बाद, 'पर टैप करें' अनुमतियां “टैब. थपथपाएं ' संपादन करना 'निम्नलिखित अनुभाग से बटन।
  • मौजूदा नीति को उल्लिखित निम्नलिखित नीति से बदलें:
{
'संस्करण' : '2012-10-17' ,
'कथन' : [
{
'प्रभाव' : 'अनुमति दें' ,
'प्रमुख' : {
'सेवा' : 'लॉगडिलीवरी.इलास्टिकलोडबैलेंसिंग.amazonaws.com'
} ,
'कार्रवाई' : 's3:पुटऑब्जेक्ट' ,
'संसाधन' : 'arn:aws:s3:::बकेट-नाम/उपसर्ग/AWSLogs/aws-account-id/*'
}
]
}

उपर्युक्त नीति में, निम्नलिखित चर बदलें:

  • बाल्टी-नाम : इस फ़ील्ड को मूल बकेट नाम से बदलें।
  • उपसर्ग (वैकल्पिक) : यह एक वैकल्पिक क्षेत्र है. यदि आपकी बकेट में कोई उपसर्ग है, तो इस फ़ील्ड में उपसर्ग का नाम प्रदान करें। हालाँकि, यदि निर्दिष्ट करने के लिए कोई उपसर्ग नहीं हैं तो उपयोगकर्ता इस फ़ील्ड को छोड़ भी सकता है।

इस नीति को निर्दिष्ट करने के बाद, ' पर क्लिक करें परिवर्तनों को सुरक्षित करें परिवर्तन लागू करने के लिए बटन। बाकी चरणों का पालन उसी क्रम में किया जाएगा जैसा कि विधि 1 में बताया गया है।

बोनस टिप: एक्सेस लॉग अक्षम करें

एप्लिकेशन में एक्सेस लॉग को अक्षम करने के लिए, नीचे दिए गए चरणों का पालन करें:

  • लोड बैलेंसर डैशबोर्ड से लोड बैलेंसर का चयन करें।
  • इंटरफ़ेस को नीचे स्क्रॉल करें और 'क्लिक करें' गुण “टैब.
  • के अंदर ' गुण ' अनुभाग, ' टैप करें संपादन करना ' बटन।
  • नीचे स्क्रॉल करें ' निगरानी ' अनुभाग। यहां, उपयोगकर्ता निम्नलिखित हाइलाइट किए गए बटन को टॉगल करके एक्सेस लॉग को अक्षम कर सकता है। मारो 'परिवर्तनों को सुरक्षित करें' परिवर्तनों को सहेजने और लागू करने के लिए बटन:

– द प्रवेश लॉग रहा है सफलतापूर्वक अक्षम किया गया और गुण संशोधित हैं:

इस गाइड से बस इतना ही

निष्कर्ष

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