CentOS/RHEL 8 এ রাইস্লগ সহ একটি সেন্ট্রালাইজড লগ সার্ভার সেটআপ করুন


কোনও সিস্টেম অ্যাডমিনিস্ট্রেটররা সেন্টোস 8 বা আরএইচএল 8 সার্ভারে সমস্যাগুলি সনাক্ত বা বিশ্লেষণ করার জন্য, /var পাওয়া লগ ফাইলগুলি থেকে একটি নির্দিষ্ট সময়কালে সার্ভারে ঘটে যাওয়া ইভেন্টগুলি জানা এবং দেখা গুরুত্বপূর্ণ is/log সিস্টেমে ডিরেক্টরি।

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

সেন্টোস/আরএইচইএল 8 সার্ভারে রুপিস্লগ ডেমনটি সর্বাধিক গুরুত্বপূর্ণ লগ সার্ভার যা পূর্বনির্ধারিতভাবে ডিফল্টরূপে ইনস্টলড হয়, তারপরে সিস্টেমড জার্নাল ডিমন (জার্নাল্ড) আসে।

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

  1. স্ক্রিনশট সহ "CentOS 8.0 Installation" এর ইনস্টলেশন
  2. স্ক্রিনশট সহ RHEL 8 এর ইনস্টলেশন

সেন্টোস/আরএইচএল 8 সার্ভারে সেন্ট্রালাইজড লগ সার্ভার স্থাপন করার জন্য, আপনাকে একটি নিশ্চিতকরণ পরীক্ষা করে দেখতে হবে যে সমস্ত রেকর্ডকৃত লগ ফাইল সংরক্ষণ করার জন্য /var পার্টিশনের পর্যাপ্ত জায়গা (কয়েক জিবি ন্যূনতম) রয়েছে check সিস্টেমে যা নেটওয়ার্কে অন্যান্য ডিভাইস দ্বারা প্রেরণ করে। /var/log/ ডিরেক্টরিটি মাউন্ট করতে আপনাকে একটি পৃথক ড্রাইভ (LVM বা RAID) রাখার পরামর্শ দিচ্ছি।

CentOS/RHEL 8 এ রুপিস্লগ সার্ভারটি কীভাবে কনফিগার করবেন

1. যেমনটি আমি বলেছি, রাইস্লগ সার্ভিসটি সেন্টোস/আরএইচএল 8 সার্ভারে স্বয়ংক্রিয়ভাবে ইনস্টল করা এবং চলছে। সিস্টেমে ডেমন চলছে কিনা তা যাচাই করতে নিম্নলিখিত কমান্ডটি চালান run

# systemctl status rsyslog.service

যদি সার্ভিসটি ডিফল্টরূপে চলমান না হয় তবে rsyslog ডেমন শুরু করতে নিম্নলিখিত কমান্ডটি চালান।

# systemctl start rsyslog.service

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

# dnf install rsyslog
# systemctl start rsyslog.service

৩. রাইস্লগ ইউটিলিটি ইনস্টল হয়ে গেলে, বাহ্যিক ক্লায়েন্টের জন্য লগ বার্তা পাওয়ার জন্য আপনি এখন আরএসইলগকে মূল কনফিগারেশন ফাইল /etc/rsyslog.conf খোলার মাধ্যমে কেন্দ্রীয় লগিং সার্ভার হিসাবে কনফিগার করতে পারেন।

# vi /etc/rsyslog.conf

/Etc/rsyslog.conf কনফিগারেশন ফাইলে, 514 পোর্টের মাধ্যমে রাইস্লগ সার্ভারে ইউডিপি পরিবহন সংবর্ধনা দেওয়ার জন্য নিম্নলিখিত লাইনগুলি সন্ধান করুন এবং অবিরাম করুন। Rsyslog লগ সংক্রমণের জন্য মানক ইউডিপি প্রোটোকল ব্যবহার করে।

module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

৪. ইউডিপি প্রোটোকলে টিসিপি ওভারহেড নেই এবং এটি টিসিপি প্রোটোকলের চেয়ে ডেটা সংক্রমণকে দ্রুততর করে তোলে makes অন্যদিকে, ইউডিপি প্রোটোকল সংক্রমণিত ডেটার নির্ভরযোগ্যতার গ্যারান্টি দেয় না।

তবে, আপনি যদি লগ অভ্যর্থনার জন্য টিসিপি প্রোটোকল ব্যবহার করতে চান তবে আপনাকে 514 পোর্টে একটি টিসিপি সকেটকে বাঁধতে এবং শোনার জন্য Rsyslog ডিমন কনফিগার করার জন্য কনফিগারেশন ফাইলের /etc/rsyslog.conf- র নীচের লাইনগুলি অবশ্যই খুঁজে পেতে হবে এবং এটি অবশ্যই সঙ্কলিত করতে হবে।

module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

৫. এখন দূরবর্তী বার্তা গ্রহণের জন্য একটি নতুন টেম্পলেট তৈরি করুন, কারণ এই টেমপ্লেটটি স্থানীয় রাইস্লগ সার্ভারকে গাইড করবে, যেখানে সিসলগ নেটওয়ার্ক ক্লায়েন্টদের দ্বারা প্রাপ্ত বার্তাগুলি সংরক্ষণ করতে হবে।

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?RemoteLogs

$টেমপ্লেট রিমোটলোগগুলি নির্দেশিকা রাইস্লগ ডেমনকে ক্লায়েন্টের নাম এবং রিমোট ক্লায়েন্ট অ্যাপ্লিকেশনের ভিত্তিতে পৃথক ফাইলগুলিতে সঞ্চারিত সমস্ত লগ বার্তা সংগ্রহ এবং লেখার জন্য নির্দেশনা দেয় যা এতে যুক্ত হওয়া বাহ্যিক বৈশিষ্ট্যের উপর ভিত্তি করে বার্তা তৈরি করে created টেমপ্লেট কনফিগারেশন: % HOSTNAME% এবং% PROGRAMNAME%

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

& ~ পুনর্নির্দেশের নিয়ম স্থানীয় রাইস্প্লগ সার্ভারকে প্রাপ্ত লগ বার্তাটি আরও প্রক্রিয়াকরণ বন্ধ করতে এবং বার্তাগুলি সরিয়ে ফেলার নির্দেশ দেয় (তাদের অভ্যন্তরীণ লগ ফাইলগুলিতে লিখবেন না)।

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

আরও জটিল রাইস্লগ টেমপ্লেটগুলি কনফিগার করতে, রয়স্লগ কনফিগারেশন ফাইল ম্যানুয়ালটি manysyslog.conf কমান্ড চালিয়ে পড়ুন বা Rsyslog অনলাইন ডকুমেন্টেশনের সাথে পরামর্শ করুন।

# man rsyslog.conf

The. উপরের কনফিগারেশন পরিবর্তন করার পরে, নিম্নলিখিত কমান্ডটি চালিয়ে সাম্প্রতিক পরিবর্তনগুলি প্রয়োগ করতে আপনি Rsyslog ডেমন পুনরায় চালু করতে পারেন।

# service rsyslog restart

Once. আপনি একবার রাইস্লগ সার্ভারটি পুনরায় চালু করার পরে, এটি এখন সেন্ট্রালাইজড লগ সার্ভার হিসাবে কাজ করবে এবং সিসলগ ক্লায়েন্টের বার্তা রেকর্ড করবে। রাইস্লগ নেটওয়ার্ক সকেটগুলি নিশ্চিত করতে, আরএসস্লগ স্ট্রিং ফিল্টার করতে গ্রেপ ইউটিলিটি চালান।

# netstat -tulpn | grep rsyslog 

যদি নেটস্যাট কমান্ডটি সেন্টোস 8 এ প্রবেশ না করে তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারেন।

# dnf whatprovides netstat
# dnf install net-tools

৮. আপনার যদি সেন্টোস/আরএইচইল ৮ এ সিলিনাক্স সক্রিয় থাকে তবে নেটওয়ার্ক সকেটের ধরণের উপর নির্ভর করে আরএসস্লগ ট্র্যাফিকের অনুমতি দিতে নিম্নলিখিত কমান্ডটি চালান run

# semanage port -a -t syslogd_port_t -p udp 514
# semanage port -a -t syslogd_port_t -p tcp 514

সেমেনেজ কমান্ডটি CentOS 8 এ ইনস্টল না করা থাকলে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারেন।

# dnf whatprovides semanage
# dnf install policycoreutils-python-utils

৯. সিস্টেমে আপনার যদি ফায়ারওয়াল সক্রিয় থাকে তবে ফায়ারওয়াল্ডের বন্দরগুলিতে আরএসস্লগ ট্র্যাফিকের অনুমতি দেওয়ার জন্য প্রয়োজনীয় বিধিগুলি যুক্ত করতে নিম্নলিখিত কমান্ডটি চালান।

# firewall-cmd --permanent --add-port=514/tcp
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --reload

আপনি দেখানো হিসাবে শ্বেত তালিকাভুক্ত IP রেঞ্জগুলি থেকে 514 পোর্টে আগত সংযোগগুলিও সীমাবদ্ধ করতে পারেন।

# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="123.123.123.0/21" port port="514" protocol="tcp" accept'
# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="123.123.123.0/21" port port="514" protocol="udp" accept'
# firewall-cmd --reload

এখানেই শেষ! Rsyslog এখন সেন্ট্রালাইজ লগস সার্ভার হিসাবে কনফিগার করা হয়েছে এবং দূরবর্তী ক্লায়েন্টদের কাছ থেকে লগ সংগ্রহ করতে পারে। পরবর্তী নিবন্ধে, আমরা কীভাবে CentOS/RHEL 8 সার্ভারে রাইস্লগ ক্লায়েন্ট কনফিগার করতে হয় তা দেখতে পাব।