انڈروئد

نینجکس غلطی اور رسائی لاگ کی تشکیل کرنا

آیت الکرسی کی ایسی تلاوت آپ نے شاید پہلے@ کبهی نہ سنی هوU

آیت الکرسی کی ایسی تلاوت آپ نے شاید پہلے@ کبهی نہ سنی هوU

فہرست کا خانہ:

Anonim

نجنکس ایک اوپن سورس ، اعلی کارکردگی والا HTTP اور ریورس پراکسی سرور ہے جو انٹرنیٹ پر کچھ بڑی سائٹوں کا بوجھ سنبھالنے کا ذمہ دار ہے۔ جب NGINX ویب سرورز کا نظم و نسق کرتے ہو تو ، ایک سب سے کثرت سے کام جو آپ انجام دیتے ہیں وہ ہے لاگ فائلوں کی جانچ پڑتال۔

سرور یا ایپلیکیشن ایشوز کی خرابیوں کا ازالہ کرتے وقت نوشتہ جات کو ترتیب دینے اور پڑھنے کا طریقہ بہت مفید ہے جب وہ ڈیبگنگ کی تفصیلی معلومات فراہم کرتے ہیں۔

نگنیکس اپنے واقعات کے ریکارڈ کو دو قسم کے نوشتہ جات میں لکھتا ہے: رسائی لاگ اور غلطی والے نوشتہ۔ رسائی نوشتہ جات کلائنٹ کی درخواستوں کے بارے میں معلومات لکھتے ہیں ، اور غلطی والے نوشتہ سرور اور اطلاق کے مسائل کے بارے میں معلومات لکھتے ہیں۔

اس مضمون میں Nginx تک رسائی اور غلطی نوشتہ جات کو تشکیل اور پڑھنے کا طریقہ بتایا گیا ہے۔

رسائی لاگ کی تشکیل

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

log_format ہدایت آپ کو لاگ ان پیغامات کی شکل کی وضاحت کرنے کی اجازت دیتی ہے۔ access_log ہدایت لاگ فائل اور استعمال شدہ شکل کی جگہ کو قابل بناتا ہے اور سیٹ کرتی ہے۔

access_log ہدایت کا سب سے بنیادی نحو درج ذیل ہے۔

access_log log_file log_format;

جہاں log_file لاگ فائل کا پورا راستہ ہے ، اور log_format وہ شکل ہے جو لاگ فائل کے ذریعہ استعمال ہوتا ہے۔

رسائی لاگ کو یا تو http ، server ، یا location ہدایت کے بلاک میں فعال کیا جاسکتا ہے۔

پہلے سے طے شدہ طور پر ، اہم نگنیکس ترتیب فائل کے اندر http ہدایت میں رسائی لاگ عالمی سطح پر قابل ہے۔

/etc/nginx/nginx.conf

http {… access_log /var/log/nginx/access.log;… }

بہتر بحالی کے ل it ، ہر سرور بلاک کے ل access ایک علیحدہ رسائی لاگ فائل مرتب کرنے کی سفارش کی جاتی ہے۔ server ڈائریکٹیو میں access_log ہدایت access_log (اعلی سطح) ہدایت میں ایک سیٹ کو زیر کرتا ہے۔

/etc/nginx/conf.d/domain.com.conf

http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }

اگر کوئی لاگ فارمیٹ مخصوص نہیں ہے Nginx پیش وضاحتی مشترکہ شکل استعمال کرتا ہے جو اس طرح دکھتا ہے:

log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';

لاگنگ فارمیٹ کو تبدیل کرنے کے لئے یا تو پہلے سے طے شدہ ترتیب کو اوور رائیڈ کریں یا کوئی نئی شکل متعین کریں۔ مثال کے طور پر ایک اہم لاگ ان فارمیٹ کی وضاحت کرنے کے لئے جو مشترکہ شکل کو بڑھا دے گی جس کی قیمت X-Forwarded-For ہیڈر دکھا رہی ہو ، http یا server ہدایت میں درج ذیل تعریف شامل کریں:

log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

نیا فارمیٹ استعمال کرنے کیلئے ، لاگ فائل کے بعد اس کا نام ذیل میں بتائیں جیسا کہ:

access_log /var/log/nginx/access.log custom;

جبکہ رسائی لاگ بہت مفید معلومات فراہم کرتا ہے۔ یہ ڈسک کی جگہ لیتا ہے اور سرور کی کارکردگی کو متاثر کرسکتا ہے۔ اگر آپ کے سرور کے وسائل کم ہیں اور آپ کی مصروف ویب سائٹ ہے تو ، آپ رسائی لاگ کو غیر فعال کرنا چاہیں گے۔ ایسا کرنے کے access_log ، access_log ہدایت کی قدر کو off :

access_log off;

غلطی لاگ کو تشکیل کرنا

اینگینکس غلطی لاگ فائل میں ایپلیکیشن اور عام سرور کی غلطیوں کے بارے میں پیغامات لکھتا ہے۔ اگر آپ کو اپنی ویب ایپلیکیشن میں غلطیوں کا سامنا کرنا پڑتا ہے تو ، خرابی کا لاگ ان ہونے والی خرابیوں کا ازالہ کرنے والے امور کے لئے سب سے پہلے جگہ ہے۔

error_log ہدایت غلطی لاگ کے مقام اور شدت کی سطح کو اہل اور قابل بناتا ہے۔ یہ مندرجہ ذیل فارم لیتا ہے اور اسے کسی http ، server ، یا location بلاک میں ترتیب دیا جاسکتا ہے۔

error_log log_file log_level

log_level پیرامیٹر لاگنگ کی سطح طے کرتا ہے۔ ذیل میں ان کی شدت کے لحاظ سے درج ذیل سطحیں ہیں (کم سے اونچی تک):

  • debug - ڈیبگنگ پیغامات۔ info - معلوماتی پیغامات۔ notice - نوٹس warn - انتباہ. error - درخواست پر کارروائی کرتے وقت نقائص۔ crit - تنقیدی امور۔ فوری کارروائی کی ضرورت ہے۔ alert - انتباہات۔ فوری طور پر کارروائی کی جانی چاہئے۔ emerg - ہنگامی صورتحال یہ نظام ناقابل استعمال حالت میں ہے۔

ہر لاگ سطح میں اونچے درجے شامل ہوتے ہیں۔ مثال کے طور پر ، اگر آپ نے warn کے ل log لاگ ان سطح کو طے warn تو ، crit error ، crit ، alert ، اور emerg پیغامات کو بھی لاگ کرے گا۔

جب log_level پیرامیٹر کی وضاحت نہیں کی جاتی ہے تو ، یہ error پہلے سے طے شدہ ہے۔

بطور ڈیفالٹ ، غلطی_لاگ ہدایت کو اہم اینجنیکس فائل فائل کے اندر http ہدایت میں بیان کیا گیا ہے۔

/etc/nginx/nginx.conf

http {… error_log /var/log/nginx/error.log;… }

اسی طرح جیسے کہ لاگ لاگس کی طرح ، یہ بھی تجویز کیا جاتا ہے کہ ہر سرور بلاک کے لئے ایک علیحدہ غلطی لاگ فائل مرتب کریں ، جو اعلی درجے سے وراثت میں آنے والی ترتیب کو ختم کردیتا ہے۔

مثال کے طور پر ، ڈومین ڈاٹ کام کی غلطی لاگ کو ترتیب دینے کے ل warn آپ warn کریں گے warn آپ استعمال کریں گے:

http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }

جب بھی آپ کنفیگریشن فائل میں ترمیم کرتے ہیں تو ، آپ کو تبدیل کرنے کے ل N Nginx سروس کو دوبارہ شروع کرنا پڑتا ہے۔

لاگ فائلوں کا مقام

پہلے سے طے شدہ طور پر زیادہ تر لینکس کی تقسیم پر ، جیسے اوبنٹو ، سینٹوس اور ڈیبیئن ، رسائی اور غلطی والے نوشتہ جات /var/log/nginx ڈائرکٹری میں واقع ہیں۔

Nginx لاگ فائلوں کو پڑھنا اور سمجھنا

آپ cat ، less ، grep ، cut ، awk وغیرہ جیسے معیاری کمانڈز کا استعمال کرکے لاگ فائلوں کو کھول اور تجزیہ کرسکتے ہیں۔

یہاں تک رسائی لاگ فائل کا ایک ریکارڈ موجود ہے جو پہلے سے طے شدہ Nginx لاگ فارمیٹ کو استعمال کرتا ہے۔

192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"

آئیے ریکارڈ کے ہر فیلڈ کا کیا مطلب ہے اسے ختم کردیں:

  • $remote_addr - 192.168.33.1 - درخواست کرنے والے مؤکل کا IP ایڈریس۔ $remote_user - - - HTTP مستند صارف۔ جب صارف کا نام سیٹ نہیں ہوتا ہے ، تو یہ فیلڈ ظاہر کرتا ہے - ۔ - - مقامی سرور کا وقت "$request" - "GET / - درخواست کی قسم ، راستہ اور پروٹوکول۔ $status - 200 - سرور رسپانس کوڈ۔ $body_bytes_sent - 396 - بائٹس میں سرور کے ردعمل کا سائز۔ "$http_referer" - "-" - حوالہ کا URL۔ "$http_user_agent" - Mozilla/5.0… - مؤکل کا صارف ایجنٹ (ویب براؤزر)۔

ریئل ٹائم میں لاگ فائل کو دیکھنے کے لئے tail کمانڈ کا استعمال کریں:

tail -f access.log

نتیجہ اخذ کرنا

لاگ فائلیں آپ کو سرور کے مسائل اور اس کے بارے میں مفید معلومات فراہم کرتی ہیں کہ زائرین آپ کی ویب سائٹ کے ساتھ کس طرح بات کرتے ہیں۔

Nginx آپ کو اپنی ضروریات کے مطابق رسائی اور غلطی والے لاگ کو مرتب کرنے کی اجازت دیتا ہے۔

nginx