اپنے ایپلیکیشن لوڈ بیلنس کے لیے رسائی لاگز کو کیسے فعال کریں؟

Apn Ayplykyshn Lw Bylns K Ly Rsayy Lagz Kw Kys F Al Kry



ایک ایپلیکیشن لوڈ بیلنسر (ALB) مختلف سرورز یا نوڈس پر ٹریفک کو مؤثر طریقے سے تقسیم کرتا ہے۔ یہ ایپلیکیشن کو گرنے سے روکتا ہے اور گاہکوں کو اعلی دستیابی، صلاحیت میں اضافہ اور بہتر کارکردگی فراہم کرتا ہے۔ مزید برآں، ایپلی کیشن لوڈ بیلنسر کو دی گئی درخواست کو بھی 'کی شکل میں ریکارڈ کیا جاتا ہے۔ لاگز تک رسائی حاصل کریں۔ ' ٹریفک پیٹرن کا تجزیہ کرنے اور مسائل کو حل کرنے کے لیے یہ ویو لاگز ڈیش بورڈ کے ذریعے صارفین کے لیے قابل رسائی ہیں۔

فوری آؤٹ لائن

یہ مضمون درج ذیل پہلوؤں کی وضاحت کرتا ہے:

ایک رسائی لاگ کیا ہے؟

دی لاگ تک رسائی ایک اختیاری خصوصیت ایپلیکیشن لوڈ بیلنسر کا جو لوڈ بیلنسر کو بھیجی گئی درخواست کے بارے میں تفصیلی معلومات حاصل کرتا ہے۔ اس تفصیلی معلومات میں درخواست موصول ہونے کی تاریخ اور وقت، کلائنٹ کا آئی پی ایڈریس، تاخیر، بندرگاہ وغیرہ کی شکل میں 'لاگ فائلوں تک رسائی حاصل کریں' . ایپلیکیشن لوڈ بیلنسر (ALB) میں، اس خصوصیت کو دستی طور پر فعال کرنا ہوگا۔ یہ رسائی لاگز پھر S3 بالٹی کے ذریعے موصول ہوتے ہیں جہاں سے صارف ان تک رسائی اور دیکھ سکتا ہے۔







رسائی لاگ فائلیں کیا ہیں؟

رسائی کے نوشتہ جات پر مشتمل ہے۔ 'لاگ فائلوں تک رسائی حاصل کریں' جو ہر 5 منٹ کے بعد ہر لوڈ بیلنسر نوڈ کے لیے شائع ہوتے ہیں۔ اگر سائٹ پر زیادہ ٹریفک ہے تو متعدد لاگز ہوسکتے ہیں۔ رسائی لاگ فائلیں ایک مخصوص فارمیٹ کی پیروی کرتی ہیں:



بالٹی [ / سابقہ ] / AWSLogs / aws - کھاتہ - آئی ڈی / لچکدار بوجھ توازن / علاقہ / yyyy / ملی میٹر / ڈی ڈی / aws - کھاتہ - id_elasticloadbalancing_region_app۔ لوڈ - بیلنسر - id_end - time_ip - ایڈریس_رینڈم - تار لاگ . gz
  • ' بالٹی ”: فیلڈ میں بالٹی کا نام ہے جو لاگ فائلیں وصول کرے گا۔
  • ' سابقہ ': اختیاری ہے۔ اس فیلڈ میں ایک قدر ہوگی اگر S3 بالٹی بنانے کے وقت صارف کی طرف سے کوئی سابقہ ​​متعین کیا گیا ہو۔ سابقہ ​​میں ' AWSLogs 'کلیدی لفظ.
  • 'aws-account-id' : مالک کے AWS اکاؤنٹ ID پر مشتمل ہے۔
  • ' علاقہ ”: فیلڈ میں لوڈ بیلنسر کا علاقہ ہوتا ہے۔
  • ' yy/mm/dd ”: اس ڈیٹا کی وضاحت کرتا ہے جس پر لاگ ڈیلیور کیا گیا تھا۔
  • ' load-balancer-id ”: لوڈ بیلنسر کی مخصوص ID کی نشاندہی کرتا ہے۔ مزید برآں، ID میں فارورڈ سلیشز کو پیریڈز (.) سے بدل دیا جاتا ہے۔
  • ' آخر وقت ”: لاگنگ وقفہ کے لیے تاریخ کے اختتام اور وقت کی وضاحت کرتا ہے۔
  • ' IP پتہ ”: وہ IP ایڈریس بتاتا ہے جس پر لوڈ بیلنس کام کرتا ہے۔
  • ' بے ترتیب تار ”: سسٹم کے ذریعہ تیار کردہ بے ترتیب تار پر مشتمل ہے۔

رسائی لاگ اندراجات کیا ہیں؟

ان ایکسیس لاگ انٹریز میں ہر ایک درخواست کے بارے میں معلومات ہوتی ہیں جو ایپلیکیشن لوڈ بیلنسر کو کی گئی تھی۔ ایسی واحد درخواستوں کو کہا جاتا ہے۔ 'لاگ انٹری' . ان لاگ انٹریز میں خراب شکل والی درخواستیں بھی شامل ہیں، یعنی وہ درخواست جس نے اسے لوڈ بیلنسر (ALB) تک نہیں پہنچایا۔ اگر لوڈ بیلنسر کو کی گئی درخواستوں میں ویب ساکٹ شامل ہیں تو یہ لاگ انٹری صرف اس وقت ریکارڈ کی جائے گی جب کنکشن بند ہو۔



رسائی لاگ فائلوں کو کیسے پروسیس کیا جاتا ہے؟

پہلے سے طے شدہ طور پر، لاگ فائلوں تک رسائی حاصل کریں۔ ہیں کمپریسڈ . لہذا، معلومات کو دیکھنے کے لیے ڈاؤن لوڈ کرتے وقت ان فائلوں کو پہلے غیر کمپریس کیا جانا چاہیے۔ تاہم، S3 کنسول کا استعمال کرتے ہوئے، صارف ان لاگ فائلوں کی معلومات کو براہ راست دیکھ سکتا ہے۔





یہ لاگ فائلوں کو کی گئی درخواست کے نتیجے میں پیدا ہوتے ہیں۔ لوڈ بیلنسر . اگر فی الحال ویب سائٹ پر زیادہ ٹریفک ہے تو لوڈ بیلنسر کے ذریعہ تیار کردہ لاگ فائلوں میں گیگا بائٹس کا ڈیٹا ہوگا۔ ڈیٹا کی اتنی بڑی مقدار ہو سکتی ہے۔ عملدرآمد کا استعمال کرتے ہوئے تجزیاتی اوزار جیسے Amazon Athena، Splunk، Sumo logic، وغیرہ۔

ایپلیکیشن لوڈ بیلنسر کے لیے رسائی لاگز کو کیسے فعال کیا جائے؟

درج ذیل طریقوں کو استعمال کرکے مختلف علاقوں کے لیے رسائی کے نوشتہ جات کو ترتیب دیا جا سکتا ہے۔



  • طریقہ 1: اگست 2022 سے پہلے دستیاب علاقوں کے لاگز تک رسائی حاصل کریں۔
  • طریقہ 2: اگست 2022 یا اس کے بعد دستیاب علاقوں کے لاگز تک رسائی حاصل کریں۔

طریقہ 1: اگست 2022 سے پہلے دستیاب علاقوں کے لاگز تک رسائی حاصل کریں۔

اگست 2022 سے پہلے دستیاب علاقوں کے لیے رسائی کے لاگز کو ترتیب دینے کے لیے، ذیل میں بیان کردہ مراحل پر عمل کریں:

  • مرحلہ 1: S3 بالٹی بنائیں
  • مرحلہ 2: لوڈ بیلنس کی خصوصیات میں ترمیم کریں۔
  • مرحلہ 3: تصدیق

مرحلہ 1: S3 بالٹی بنائیں

پہلا قدم ALB کے لیے رسائی لاگ کو فعال کرنے کے لیے S3 بالٹی بنانا ہے۔ اس مقصد کے لیے، کے سرچ بار میں تلاش کرکے S3 بکٹ سروس تک رسائی حاصل کریں۔ AWS مینجمنٹ کنسول:

سے S3 ڈیش بورڈ ، پر کلک کریں۔ 'بالٹی بنائیں' بٹن:

میں عمومی ترتیب میں S3 بالٹی کے لیے عالمی سطح پر منفرد شناخت کنندہ فراہم کریں۔ بالٹی کا نام ' لکھنے کی جگہ. اس بات پر غور کرنا ضروری ہے کہ ' AWS علاقہ لوڈ بیلنس کے علاقے کی طرح ہونا چاہئے:

باقی سیٹنگز کو بطور ڈیفالٹ رکھ کر، 'پر کلک کریں۔ بالٹی بنائیں انٹرفیس کے نیچے واقع بٹن:

دی بالٹی کامیابی سے بنایا گیا ہے:

سے S3 بالٹی ڈیش بورڈ ، ٹیپ کریں ' S3 اجازتوں کو ترتیب دینے کے لیے بالٹی کا نام:

سے S3 بالٹی کنسول پر کلک کریں ' اجازتیں ٹیب:

انٹرفیس نیچے سکرول کریں اور 'پر کلک کریں ترمیم ' سے بٹن ' بالٹی پالیسی سیکشن:

میں ایڈیٹر ، ذیل کی پالیسی کو پیسٹ کریں اور درج ذیل متغیرات کو تبدیل کریں:

{
'ورژن' : '2012-10-17' ،
'بیان' : [
{
'اثر' : 'اجازت دیں' ،
'میجر' : {
'AWS' : 'arn:aws:iam::elb-account-id:root'
} ،
'عمل' : 's3:PutObject' ،
'وسائل' : 'my-s3-arn'
}
]
}
  • elb-account-id : اس فیلڈ میں، AWS ریجن کی شناخت فراہم کریں۔ یہ آئی ڈیز میں دی گئی ہیں۔ سرکاری AWS دستاویزات . نیچے سکرول کریں ' اگست 2022 سے پہلے دستیاب علاقوں کے لاگز تک رسائی حاصل کریں۔ ” سیکشن اور پالیسی کے تحت، ان کے متعلقہ IDs والے علاقوں کا ذکر کیا گیا ہے:

  • my-s3-arn : S3 بالٹی کے ARN کو دو فارمیٹس استعمال کرکے تبدیل کیا جا سکتا ہے۔
    • فارمیٹ 1: ایک سابقہ ​​کے ساتھ ARN
    • فارمیٹ 2: ARN بغیر کسی سابقہ ​​کے

فارمیٹ 1: ایک سابقہ ​​کے ساتھ ARN اگر آپ کی بالٹی میں سابقہ ​​قدر ہے تو اس فارمیٹ کی پیروی کی جائے گی:

arn:aws:s3:::bucket-name / سابقہ / AWSLogs / aws-account-id /*
  • بالٹی کا نام : اس فیلڈ کو بالٹی کے اصل نام سے بدل دیں۔
  • سابقہ : اگر آپ کی بالٹی میں کوئی ہے تو سابقہ ​​فراہم کریں۔ سابقہ ​​کی قدر کی ضرورت ہے جیسا کہ اس فارمیٹ میں بیان کیا گیا ہے۔
  • aws-account-id: اس فیلڈ میں AWS اکاؤنٹ ID فراہم کریں۔ اس مقصد کے لیے، انٹرفیس کے اوپری بائیں کونے میں مذکور AWS اکاؤنٹ کے نام پر ٹیپ کریں۔ ڈراپ ڈاؤن مینو سے، اکاؤنٹ کی شناخت کاپی کریں:

فارمیٹ 2: ARN بغیر کسی سابقہ ​​کے : یہ شکل اس وقت استعمال کی جاتی ہے جب بالٹی میں کوئی سابقہ ​​نہ ہو۔ بیان کردہ تمام فیلڈز وہی رہیں گے جیسا کہ اوپر بیان کردہ ARN میں بتایا گیا ہے۔ فرق صرف یہ ہے کہ یہ ' آر این اے ' میں کوئی 'سابقہ' فیلڈ نہیں ہے:

arn:aws:s3:::bucket-name / AWSLogs / aws-account-id /*

یہاں، دی پالیسی کیا گیا تبدیل کر دیا گیا :

انٹرفیس کے نیچے تک سکرول کریں اور کلک کریں۔ 'تبدیلیاں محفوظ کرو' تبدیلیاں لاگو کرنے کے لیے بٹن:

دی پالیسی ترمیم کی گئی ہے کامیابی سے :

مرحلہ 2: لوڈ بیلنس کی خصوصیات میں ترمیم کریں۔

سے EC2 ڈیش بورڈ ، پر کلک کریں 'لوڈ بیلنسرز' کے تحت اختیار 'وزن کو متوازن کرنا' نیویگیشن پین سے سیکشن:

سے لوڈ بیلنسر ڈیش بورڈ ، لوڈ بیلنسر کے نام پر کلک کریں۔ رسائی کے نوشتہ جات کو فعال کریں۔ . اس ڈیمو کے لیے، ایک لوڈ بیلنسر ہے۔ پہلے ہی بنایا گیا ہے اور چل رہا ہے:

نیچے ' تفصیلات ' سیکشن میں، متعدد مختلف اختیارات دستیاب ہیں۔ پر کلک کریں ' صفات ٹیب:

سے ' صفات 'ٹیب،' پر کلک کریں ترمیم بٹن:

اگلے انٹرفیس پر، نیچے سکرول کریں ' نگرانی سیکشن ٹوگل کریں ' لاگز تک رسائی حاصل کریں۔ ' کو فعال کرنے کے لئے بٹن لاگ فیچر تک رسائی حاصل کریں۔ . اگلا، پر کلک کریں 'S3 کو براؤز کریں' بٹن کو منتخب کرنے کے لیے:

پر کلک کرنے کے بعد 'S3 کو براؤز کریں' بٹن، ایک پاپ اپ ونڈو ظاہر ہو جائے گا. S3 بالٹی کا انتخاب کریں اور ' منتخب کریں۔ بٹن:

بالٹی شامل کرنے کے بعد، 'پر کلک کریں۔ تبدیلیاں محفوظ کرو بٹن:

AWS دکھائے گا۔ تصدیقی پیغام ایکسیس لاگز میں S3 بالٹی کی کامیاب ترتیب پر:

مرحلہ 3: تصدیق

اس بات کی تصدیق کرنے کے لیے کہ آیا بالٹی شامل کی گئی ہے، S3 ڈیش بورڈ پر جائیں اور بالٹی کا انتخاب کریں:

یہاں، یہ بالٹی اب ایک فولڈر پر مشتمل ہے۔ 'AWSLogs/' . اس فولڈر میں رسائی لاگ سے متعلق تمام معلومات شامل ہوں گی۔

طریقہ 2: اگست 2022 یا اس کے بعد دستیاب علاقوں کے لاگز تک رسائی حاصل کریں۔

اگست 2022 یا اس کے بعد دستیاب علاقوں کے لیے رسائی کے لاگز کو فعال کرنے کے لیے، ذیل میں بیان کردہ مراحل پر عمل کریں:

  • S3 بالٹی بنائیں۔
  • S3 بالٹی بنانے کے بعد، 'پر ٹیپ کریں۔ اجازتیں ٹیب ٹیپ کریں ' ترمیم ' درج ذیل حصے سے بٹن۔
  • موجودہ پالیسی کو درج ذیل پالیسی سے تبدیل کریں:
{
'ورژن' : '2012-10-17' ،
'بیان' : [
{
'اثر' : 'اجازت دیں' ،
'میجر' : {
'خدمت' : 'logdelivery.elasticloadbalancing.amazonaws.com'
} ،
'عمل' : 's3:PutObject' ،
'وسائل' : 'arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*'
}
]
}

اوپر بیان کردہ پالیسی میں، درج ذیل متغیرات کو تبدیل کریں:

  • بالٹی کا نام : اس فیلڈ کو بالٹی کے اصل نام سے بدل دیں۔
  • سابقہ ​​(اختیاری) : یہ ایک اختیاری فیلڈ ہے۔ اگر آپ کی بالٹی میں کوئی سابقہ ​​ہے تو اس فیلڈ میں سابقہ ​​کا نام فراہم کریں۔ تاہم، صارف اس فیلڈ کو چھوڑ بھی سکتا ہے اگر اس میں کوئی سابقہ ​​متعین نہ ہو۔

اس پالیسی کی وضاحت کرنے کے بعد، کلک کریں ' تبدیلیاں محفوظ کرو تبدیلیاں لاگو کرنے کے لیے بٹن۔ باقی اقدامات اسی ترتیب سے کیے جائیں گے جیسا کہ طریقہ 1 میں بتایا گیا ہے۔

بونس ٹپ: رسائی لاگ کو غیر فعال کریں۔

ایپلیکیشن میں رسائی کے لاگ کو غیر فعال کرنے کے لیے، ذیل میں بیان کردہ مراحل پر عمل کریں:

  • لوڈ بیلنسر ڈیش بورڈ سے لوڈ بیلنسر کو منتخب کریں۔
  • انٹرفیس نیچے سکرول کریں اور 'پر کلک کریں صفات ٹیب
  • کے اندر ' صفات سیکشن، ٹیپ کریں ترمیم بٹن
  • نیچے سکرول کریں ' نگرانی سیکشن یہاں، صارف درج ذیل نمایاں کردہ بٹن کو ٹوگل کرکے رسائی لاگ کو غیر فعال کر سکتا ہے۔ مارو 'تبدیلیاں محفوظ کرو' تبدیلیاں محفوظ کرنے اور لاگو کرنے کے لیے بٹن:

- دی رسائی لاگ کیا گیا کامیابی سے غیر فعال اور صفات میں ترمیم کی گئی ہے:

یہ سب اس گائیڈ سے ہے۔

نتیجہ

لوڈ بیلنسر کے لیے ایکسیس لاگز کو فعال کرنے کے لیے، 'اجازتیں' ٹیب سے بنائی گئی S3 بالٹی میں مذکورہ پالیسی میں ترمیم کریں اور 'تبدیلیاں محفوظ کریں' بٹن کو دبائیں۔ ان لاگ فائلوں کے اندر موجود معلومات تک براہ راست S3 بالٹی کنسول سے رسائی حاصل کی جا سکتی ہے۔ صارف لاگ فائلوں کو بھی ڈاؤن لوڈ کر سکتا ہے اور ان کے مواد کو دیکھنے کے لیے ان کو کمپریس کر سکتا ہے۔ یہ بلاگ لوڈ بیلنسر کے رسائی لاگ کو فعال اور غیر فعال کرنے کا مرحلہ وار مظاہرہ ہے۔