সোয়াচডগ - লিনাক্সে রিয়েল-টাইমে সরল লগ ফাইল প্রহরী


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

নোট করুন যে প্রোগ্রামটি প্রথমে swatch ("সরল প্রহরী") নামে পরিচিত কিন্তু পুরানো সুইস ওয়াচ সংস্থার একটি নাম পরিবর্তনের জন্য একটি অনুরোধ বিকাশকারীকে তার নামটি swatchdog এ পরিবর্তন করতে দেখেছিল।

গুরুত্বপূর্ণভাবে, ইউনিক্সের সিসলগ সুবিধা দ্বারা উত্পাদিত লগগুলি দেখার জন্য স্ক্রিপ্ট থেকে সোয়াচডগ বেড়েছে এবং এটি কোনও ধরণের লগের উপর নজর রাখতে পারে।

কীভাবে লিনাক্সে সোয়াচ ইনস্টল করবেন

প্যাকেজ ম্যানেজারের মাধ্যমে প্যাকেজ "স্বাচ" হিসাবে মূলধারার লিনাক্স ডিস্ট্রিবিউশনগুলির অফিসিয়াল সংগ্রহস্থল থেকে ইনস্টল করতে প্যাকেজ স্বাচডগ উপলব্ধ।

$ sudo apt install swatch	[On Ubuntu/Debian]
$ sudo yum install epel-release && sudo yum install swatch	[On RHEL/CentOS]
$ sudo dnf install swatch	[On Fedora 22+]

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

$ git clone https://github.com/ToddAtkins/swatchdog.git
$ cd swatchdog/
$ perl Makefile.PL
$ make
$ sudo make install
$ sudo make realclean

একবার আপনি সোয়াচ ইনস্টল করার পরে, আপনাকে কোন ধরণের এক্সপ্রেশন প্যাটার্নগুলি অনুসন্ধান করতে হবে এবং কোন ধরণের ক্রিয়া (গুলি) করা উচিত তা নির্ধারণ করতে আপনাকে তার কনফিগারেশন ফাইলটি তৈরি করতে হবে (ডিফল্ট অবস্থানটি /home/$USER/.swatchdogrc বা .swatchrc) হয় determine একটি প্যাটার্ন মেলে গেলে নেওয়া হবে।

$ touch /home/tecmint/.swatchdogrc
OR
$ touch /home/tecmint/.swatchrc

এই ফাইলে আপনার নিয়মিত প্রকাশটি যুক্ত করুন এবং প্রতিটি লাইনে একটি কীওয়ার্ড এবং মান থাকতে হবে (কখনও কখনও optionচ্ছিক), একটি স্থান বা সমান (=) চিহ্ন দ্বারা পৃথক। যখন কোনও প্যাটার্নটি মিলে যায় তখন আপনাকে একটি প্যাটার্ন এবং একটি পদক্ষেপ নির্দিষ্ট করতে হবে।

আমরা একটি সাধারণ কনফিগারেশন ফাইল ব্যবহার করব, উদাহরণস্বরূপ, আপনি swatchdog ম্যান পৃষ্ঠাতে আরও বিকল্প খুঁজে পেতে পারেন।

watchfor  /sudo/
	echo red
	[email , subject="Sudo Command"

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

আপনি এটি কনফিগার করার পরে, swatchdog/var/log/syslog লগ ফাইলটি ডিফল্টরূপে পড়ে, যদি এই ফাইলটি উপস্থিত না থাকে তবে এটি/var/লগ/বার্তাগুলি পড়বে।

$ swatch     [On RHEL/CentOS & Fedora]
$ swatchdog  [On Ubuntu/Debian]

নীচের উদাহরণে প্রদর্শিত হিসাবে আপনি -c পতাকা ব্যবহার করে একটি আলাদা কনফিগারেশন ফাইল নির্দিষ্ট করতে পারেন।

প্রথমে একটি সোয়াচ কনফিগারেশন ডিরেক্টরি এবং একটি ফাইল তৈরি করুন।

$ mkdir swatch
$ touch swatch/secure.conf

এরপরে, ব্যর্থ লগইন প্রচেষ্টা, ব্যর্থ এসএসএইচ লগইন প্রচেষ্টা,/ভার/লগ/সুরক্ষিত লগ ফাইল থেকে সফল এসএসএইচ লগইনগুলি নিরীক্ষণ করতে ফাইলটিতে নিম্নলিখিত কনফিগারেশন যুক্ত করুন।

watchfor /FAILED/
echo red
[email , subject="Failed Login Attempt"

watchfor /ROOT LOGIN/
echo red
[email , subject="Successful Root Login"

watchfor /ssh.*: Failed password/
echo red
[email , subject="Failed SSH Login Attempt"

watchfor /ssh.*: session opened for user root/ 
echo red
[email , subject="Successful SSH Root Login"

-c ব্যবহার করে কনফিগারেশন ফাইল এবং -t পতাকাটি ব্যবহার করে লগ ফাইল নির্দিষ্ট করে স্বাচ চালান।

$ swatchdog -c ~/swatch/secure.conf -t /var/log/secure

এটিকে পটভূমিতে চালানোর জন্য, --ডেমন পতাকা ব্যবহার করুন; এই মোডে এটি কোনও টার্মিনাল থেকে আলাদা করা হয়।

$ swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon  

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

*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018

Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)

বিভিন্ন লগ ফাইল নিরীক্ষণ করতে আপনি একাধিক সোয়াচ প্রক্রিয়াও চালাতে পারেন।

$ swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon  
$ swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
$ swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon

আরও তথ্যের জন্য স্বাচডগ ম্যান পৃষ্ঠাটি দেখুন।

$ man swatchdog

সোয়াচডগ সোর্সফর্স সংগ্রহস্থল: https://sourceforge.net/projects/swatch/

নীচে কিছু অতিরিক্ত লগ পর্যবেক্ষণ গাইড রয়েছে যা আপনি দরকারী পাবেন:

  1. রিয়েল টাইমে লগ ফাইলগুলি দেখার বা নিরীক্ষণের 4 টি উপায়
  2. রুপিস্লগ সহ একটি কেন্দ্রীভূত লগ সার্ভার তৈরি করবেন
  3. সার্ভার লগগুলিকে "লগ.ইও" সরঞ্জাম দিয়ে রিয়েল-টাইমে লগ করুন
  4. ল্যাভ - একটি লিনাক্স টার্মিনাল থেকে অ্যাপাচি লগগুলি দেখুন এবং বিশ্লেষণ করুন
  5. ngxtop - লিনাক্সে রিয়েল টাইমে Nginx লগ ফাইলগুলি পর্যবেক্ষণ করুন

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