lnav - একটি লিনাক্স টার্মিনাল থেকে অ্যাপাচি লগগুলি দেখুন এবং বিশ্লেষণ করুন


দুই সপ্তাহেরও কম আগে, ওয়ানাক্রি রেনসওয়ওয়ার হামলা হাজার হাজার কম্পিউটারের সাথে আপস করেছে, বড় বড় সংস্থা এবং ব্যক্তিদের যেমন যথেষ্ট ক্ষতি করেছে। এটি, সাম্প্রতিক বছরগুলিতে প্রাপ্ত অন্যান্য বিস্তৃত দুর্বলতার পাশাপাশি (যেমন শেলশক বাগ) আপনার মিশন-সমালোচনামূলক সিস্টেমগুলির শীর্ষে থাকার গুরুত্ব তুলে ধরে।

যদিও দুর্বলতাগুলি প্রায়শই একটি নির্দিষ্ট অপারেটিং সিস্টেম বা সফ্টওয়্যার উপাদানকে লক্ষ্য করে, আপনার নেটওয়ার্কের ভিতরে এবং বাইরে যে ট্র্যাফিক থাকে তা পরীক্ষা করে নেওয়া আপনার দায়ী সম্পদগুলিকে সুরক্ষিত রাখতে গুরুত্বপূর্ণ সহায়তা হতে পারে।

যেহেতু আমি নিশ্চিত যে আপনি ইতিমধ্যে জানেন, সিস্টেম লগগুলি প্রথম স্থান যেখানে আমাদের এই তথ্যটি সন্ধান করা উচিত। এই কাজটি আরও সহজ করার জন্য, এই নিবন্ধে আমরা উন্নত লগ ফাইল ভিউয়ার, ল্যানভ ইনস্টল এবং কীভাবে ব্যবহার করব তা ব্যাখ্যা করব। লানভের সাহায্যে আপনি একাধিক ধরণের লগ একই সাথে দেখতে পারবেন, হটকি ব্যবহার করে ফাইলটি নেভিগেট করতে পারবেন এবং অ্যাক্সেস এবং ত্রুটির সংক্ষিপ্ত বিবরণ হিস্টোগ্রাম তৈরি করতে সক্ষম হবেন। তাই পড়তে থাকুন!

লিনাক্সে ল্যানভ ইনস্টল ও চালু করা হচ্ছে

ল্যানভ ইনস্টল করতে আপনার বিতরণের প্যাকেজ পরিচালনা ব্যবস্থা ব্যবহার করুন।

# aptitude install lnav          [Debian and derivatives]
# yum install epel-release lnav  [CentOS 7 and similar]

ইনস্টলেশন সমাপ্ত হয়ে গেলে, লঞ্চটি চালু করুন এবং তারপরে লগ পরীক্ষা করার জন্য নিখুঁত পথটি অনুসরণ করুন। যেহেতু এটি সাধারণত /var/log হবে, তাই আসুন:

# lnav /var/log/httpd

একটি CentOS 7 এ অ্যাপাচি ওয়েব সার্ভারের লগগুলি পরীক্ষা করতে:

পূর্বের চিত্রটিতে প্রদর্শিত আউটপুটটি সংক্ষেপে পরীক্ষা করা যাক:

  • উপরের ডান দিকের কোণায় ফাইলগুলি বর্তমানে পরিদর্শন করা দেখায় (অ্যাক্সেস_লগ-20170519 এবং অ্যাক্সেস_লগ)। আপনি নীচে বা উপরে স্ক্রোল করার সময় আপনি নোট করবেন যে ফাইলগুলির নামগুলি আপনি একে অপর থেকে অন্য হিসাবে যেতে যেতে পরিবর্তন করতে পারে
  • 40x এইচটিটিপি প্রতিক্রিয়াগুলি (উদাহরণস্বরূপ, খুঁজে পাওয়া যায়নি বা নিষিদ্ধ) বোল্ডভাবে প্রদর্শিত হয়, যেখানে 20x প্রতিক্রিয়াগুলি নিয়মিত পাঠ্যে প্রদর্শিত হয়
  • আইপি ঠিকানাগুলি গা bold় সবুজ রঙে প্রদর্শিত হয় appear

এটি অবশ্যই দুর্দান্ত দেখাচ্ছে, তাই না? তবে এখনই আরও গভীর খনন করা যাক এবং আমরা দেখতে পাবো যে লানভ একটি সুন্দর রঙিন আউটপুটের চেয়ে অনেক বেশি সরবরাহ করে।

যদি ত্রুটিযুক্ত লগগুলি কেন প্রদর্শিত না হয় সে সম্পর্কে আপনি যদি আগ্রহী হন তবে আপনি এই নিবন্ধে উত্তরটি পরে খুঁজে পাবেন। তাই পড়তে থাকুন!

বিকল্প এবং হটকি-র সাহায্যে আউটপুট পরিবর্তন করা

আমরা আরও এগিয়ে যাওয়ার আগে আসুন কয়েকটি হটকি-এর তালিকা তৈরি করা যাক যা আমাদের আরও সহজেই লানভের আউটপুট এবং উপলব্ধ দর্শনগুলির মধ্য দিয়ে যেতে দেয়:

  • e বা E পরবর্তী/পূর্ববর্তী ত্রুটি বার্তায় ঝাঁপিয়ে পড়ুন
  • w বা W পরবর্তী/পূর্ববর্তী সতর্কতা বার্তায় ঝাঁপিয়ে পড়ুন to
  • পূর্ববর্তী পৃষ্ঠায় যেতে
  • বি বা ব্যাকস্পেস
  • পরের পৃষ্ঠায় যাওয়ার স্থান।
  • বর্তমান দর্শনের উপরের/নীচে সরাতে
  • g বা G

লগগুলি যখন ঘোরানো হয়, লোগ্রোটেট কনফিগারেশন ফাইলগুলিতে নির্দিষ্ট সেটিংসের উপর নির্ভর করে পুরানো ফাইলগুলি সংকুচিত করা যায় (বা না)। আউটপুটে সংকুচিত ফাইলগুলি অন্তর্ভুক্ত করতে, নীচে ল্যানভ চালু করুন:

# lnav -r /var/log/httpd

আপনি যদি লানভ পরিচালিত করেন তার ঘনিষ্ঠভাবে নজর রাখতে চান, আপনি প্রোগ্রামটি -d বিকল্পের সাথে একটি ফাইলের নাম দিয়ে শুরু করতে পারেন যেখানে ডিবাগের তথ্য এখানে লেখা হবে:

# lnav /var/log/httpd -d lnav.txt

এই উদাহরণস্বরূপ, ল্যানভ শুরু হওয়ার সাথে সাথে উত্পন্ন ডিবাগ তথ্যগুলি বর্তমান ওয়ার্কিং ডিরেক্টরিের ভিতরে lnav.txt নামের একটি ফাইলে লেখা হবে।

এই ফাইলটির প্রথম কয়েকটি লাইন নিম্নলিখিত চিত্রটিতে প্রদর্শিত হবে:

হাইলাইট করা পাঠ্যটি ইঙ্গিত করে যে লানভ ডিফল্ট ফর্ম্যাটগুলি ফাইল লোড করে এবং আরও বিশেষত, অ্যাপাচি অ্যাক্সেস লগকে পার্স করার জন্য অ্যাক্সেস_লগ বিন্যাস। অতিরিক্তভাবে, লানভ প্রতিটি আউটপুট লাইন পার্স করার অনুমতি দেয় যাতে আউটপুট দৃশ্যায়ন এবং বুঝতে সহজ হয়।

এই বৈশিষ্ট্যটি ব্যবহার করতে, প্রোগ্রামটি চালু করুন এবং আপনি যে লাইনটি পার্স করতে চান তা চয়ন করুন। নির্বাচিত লাইনটি সর্বদা উইন্ডোর শীর্ষে থাকে। তারপরে p টিপুন এবং আপনার নিম্নলিখিত ফলাফলটি দেখতে হবে:

স্বাভাবিক মোডে ফিরে আসতে, আবার p টিপুন।

এখন, আপনি যদি তারিখ এবং সময় অনুসারে লগগুলির সংক্ষিপ্তসার দেখতে চান তবে i টিপুন। উদাহরণস্বরূপ, হাইলাইট করা পাঠ্যটি ইঙ্গিত দেয় যে সোমবার, এপ্রিল 10 এ, রাত 10 এবং 11 এর মধ্যে, 14 টি সহ 37 টি HTTP অনুরোধ ছিল যার ফলে ত্রুটি হয়েছিল।

একবার আপনি উপরে বর্ণিত হিস্টোগ্রামের উপর ভিত্তি করে কোনও সম্ভাব্য সমস্যা সনাক্ত করে ফেললে, আপনি আগে বর্ণিত পার্সার ব্যবহার করে আরও বিশদে বিশদটি দেখতে পরীক্ষা থেকে বেরিয়ে আসতে i টিপতে পারেন। অথবা আপনি সেমিকোলন টাইপ করে একটি স্ট্যান্ডার্ড কোয়েরি লিখে বিল্ট-ইন এসকিউএল ক্ষমতাগুলিও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, করুন:

;.schema

ডাটাবেস স্কিমে উপলব্ধ টেবিলগুলি দেখতে। ডান টেবিলটি সনাক্ত করার পরে (আমাদের ক্ষেত্রে অ্যাক্সেস_লগ), এর q টিপুন এবং তারপরে 195.154.230.31 থেকে আসা অনুরোধ সম্পর্কিত সমস্ত উপলভ্য তথ্য ফিরে পেতে নীচের ক্যোয়ারীটি ব্যবহার করুন:

;SELECT * FROM access_log WHERE c_ip='195.154.230.31'

নোট করুন যে আমরা লগ_টাইমের মাধ্যমে ফলাফলগুলি ফিল্টার করতে পারতাম। মুল বক্তব্যটি হ'ল, সামান্য এসকিউএল নিক্ষেপ করুন এবং আকাশের সীমা আপনি ল্যানভের সাথে কী করতে পারেন তা সীমাবদ্ধ।

অ্যাপাচি ডিফল্ট লগ ফর্ম্যাটগুলি

অনেক লগ ফর্ম্যাটগুলি ডিএনএলভ দিয়ে ল্যানভের সাথে লোড হয় এবং এভাবে আমাদের হস্তক্ষেপ ছাড়াই পার্স করা হয়। আপনি অফিসিয়াল ডকুমেন্টেশনে লগ ফর্ম্যাট অংশে তালিকাটি দেখতে পারেন।

ডিফল্ট ফর্ম্যাটগুলি ~/.lnav/ফর্ম্যাট/ডিফল্ট/ডিফল্ট-ফর্ম্যাটস.জসন.স্যাম্পল এবং অন্যকে .json এক্সটেনশন ব্যবহার করে ~/.lnav/ফর্ম্যাট যুক্ত করা যেতে পারে specified

যাইহোক, এই ফাইলগুলি সম্পাদনা করার জন্য জেএসএন (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) এবং পিসিআরই (পার্ল-সামঞ্জস্যপূর্ণ নিয়মিত এক্সপ্রেশন) লাইব্রেরির সাথে একটি নির্দিষ্ট ডিগ্রী পরিচিতি প্রয়োজন।

সুতরাং কেন লান্নভ অ্যাপাচি ত্রুটি লগ ফাইলগুলি প্রদর্শন করেনি? কারণটি হ'ল লগগুলি বিদ্যমান ফর্ম্যাট ফাইলগুলিতে কোনও নিয়মিত অভিব্যক্তির সাথে মেলে না এবং এটি নিয়মিত পাঠ্য ফাইল হিসাবে বিবেচিত হয় (অর্থ প্রদত্ত লগ বিন্যাস ছাড়াই ফাইলগুলি)।

পূর্বে উল্লিখিত হিসাবে, আপনি একবার JSON এবং PCRE এর সাথে কিছুটা পরিচিত হয়ে গেলে আপনার নিজের ফর্ম্যাট তৈরি করতে পারেন। এটি কার্যকর হতে পারে, উদাহরণস্বরূপ, আপনি যদি কাস্টম অ্যাপাচি লগগুলি সংজ্ঞায়িত করেন।

যদিও আমরা কীভাবে ল্যানভ ব্যবহার করতে হয় তা প্রদর্শনের জন্য অ্যাপাচি অ্যাক্সেস লগটি ব্যবহার করেছি, তবে মনে রাখবেন যে এই সরঞ্জামটি ব্যবহার করে আরও কয়েকটি ধরণের লগ দেখা এবং পার্স করা যায়। যদি সরঞ্জামটি নির্দিষ্ট লগটি স্বীকৃতি না দেয় তবে আপনি অতিরিক্ত ফর্ম্যাটগুলি তৈরি করতে পারেন এবং এখানে সরবরাহিত সূচকগুলি অনুসরণ করে সেগুলি ইনস্টল করতে পারেন।

এই নিবন্ধটি সম্পর্কে আপনার কোনও প্রশ্ন বা মন্তব্য আছে? বরাবরের মতো, নীচের ফর্মটি ব্যবহার করে আমাদের নির্দ্বিধায় জানুন। আমরা আপনার কাছ থেকে শ্রবণ করার জন্য উন্মুখ!