কিভাবে সেট আপ করবেন এবং HAProxy-এ লগিং বুঝবেন

Kibhabe Seta Apa Karabena Ebam Haproxy E Lagim Bujhabena



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

HAProxy-এ লগিং সেট আপ করা হচ্ছে

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

সৌভাগ্যবশত, মসৃণ ইন্টিগ্রেশন এবং পরিষেবার জন্য HAProxy সনাক্তকরণ, নিরীক্ষণ এবং সমস্যা সমাধানে সাহায্য করার জন্য আপনি লগিং সেট আপ করতে পারেন। আপনি ব্যবহার করতে পারেন এমন বিভিন্ন লগিং টুল আছে, কিন্তু এই গাইডটি syslog বার্তাগুলি পরিচালনা করার জন্য Rsyslog টুলের উপর ফোকাস করে।







এখানে আপনি কিভাবে HAProxy-এ লগিং সেট আপ করতে পারেন:



ধাপ 1: নিশ্চিত করুন যে Rsyslog ইনস্টল করা আছে



এই টিউটোরিয়ালটি HAProxy-এর জন্য Rsyslog লগিং টুল ব্যবহার করে। অতএব, নিশ্চিত করুন যে আপনি এটি আপনার সিস্টেমে ইনস্টল করেছেন। এটির সংস্করণ পরীক্ষা করে যাচাই করুন।





সর্বশেষ লিনাক্স সিস্টেমগুলি পূর্বেই ইনস্টল করা Rsyslog সহ আসে। আপনার যদি এটি ইনস্টল না থাকে তবে নিম্নলিখিত কমান্ডটি চালান:



$ sudo apt rsyslog ইনস্টল করুন

ধাপ 2: HAProxy কনফিগারেশন ফাইল সম্পাদনা করুন

একবার আপনার সিস্টেমে Rsyslog উপলব্ধ হলে, পরবর্তী ধাপ হল HAProxy কনফিগারেশন ফাইল অ্যাক্সেস করা এবং আমরা কীভাবে আমাদের লগিং পরিচালনা করতে চাই তা নির্ধারণ করা। কনফিগারেশন ফাইলটি '/etc/haproxy/haproxy.cfg'-এ অবস্থিত। আপনার পছন্দের সম্পাদক দিয়ে এটি খুলুন।

sudo nano /etc/haproxy/haproxy.cfg

গ্লোবাল বিভাগে, এখানেই আমরা উল্লেখ করি যে আমরা কীভাবে HAProxy লগিং ঘটতে চাই। আপনার যদি একটি syslog সার্ভার থাকে যা একটি প্রদত্ত পোর্টে শুনছে, যেমন UDP পোর্ট 514, আপনি নিম্নলিখিত লাইন সহ 'local0' সুবিধার মাধ্যমে লগগুলি পাঠাতে পারেন:

বিকল্পভাবে, আপনি লগগুলিকে “/dev/log” সকেটে পাঠাতে এবং Rsyslog ব্যবহার করে তাদের অ্যাক্সেস করতে পারেন। তার জন্য, আপনার কনফিগারেশন ফাইলে নিম্নলিখিত লাইন যোগ করুন:

উল্লেখ্য যে 'লগ' কীওয়ার্ডটি অবশ্যই অন্তর্ভুক্ত করতে হবে কারণ এটি নির্দিষ্ট syslog সার্ভার বা সকেটে লগগুলি পাঠানোর নির্দেশনা দেয়৷ আবার, আপনি যদি লগগুলির জন্য একটি প্রদত্ত নিরাপত্তা স্তর নির্দিষ্ট করতে চান, বিবৃতির শেষে এর নাম যোগ করুন যেমনটি আমরা নোটিশ নিরাপত্তা স্তরের জন্য করেছি।

আপনি লগ করতে পারেন যে বিভিন্ন নিরাপত্তা স্তর আছে. আপনি যদি বিবৃতির প্রথম লাইনের মতো নিরাপত্তা স্তরের ধরন নির্দিষ্ট না করেন, লগ ফাইলে HAProxy দ্বারা শেয়ার করা যেকোন লগ বার্তা থাকবে এবং লগ করা বার্তাগুলির উপর নির্ভর করে বিশাল হতে পারে৷ অতএব, আপনি আপনার syslog সার্ভার বা সকেটে কি লগ ইন করতে চান সে বিষয়ে সুনির্দিষ্টভাবে বিবেচনা করুন।

'ডিফল্ট' বিভাগের অধীনে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত লাইন আছে:

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

ধাপ 3: Rsyslog কনফিগারেশন ফাইলটি সম্পাদনা করুন

rsyslog কনফিগারেশন ফাইলে, HAProxy লগগুলি কোথায় সংরক্ষণ করতে হবে তা আমাদের অবশ্যই rsyslog নির্দেশ করতে হবে। এই ক্ষেত্রে, আমরা সাধারণ লগ এবং নোটিশ-স্তরের লগগুলি সংরক্ষণ করতে চাই। অতএব, কনফিগারেশন ফাইলটি খুলুন এবং নীচে নিম্নলিখিত বিবৃতি যোগ করুন:

পরিবর্তনগুলি সংরক্ষণ করুন এবং ফাইল থেকে প্রস্থান করুন। RSyslog লগ বার্তা পাঠাবে লগ ফাইলগুলির যেকোন একটিতে যা আপনি পূর্বে উল্লেখ করেছেন লগ বার্তার প্রকারের উপর নির্ভর করে।

ধাপ 4: পরিষেবাগুলি পুনরায় চালু করুন

তারপর আপনাকে অবশ্যই HAProxy এবং rsyslog পরিষেবাগুলি পুনরায় চালু করতে হবে। 'systemctl' ব্যবহার করে নিম্নলিখিত কমান্ডগুলি চালান:

$ sudo systemctl রিস্টার্ট rsyslog.service
$ sudo systemctl রিস্টার্ট haproxy.service

ধাপ 5: লগিং পরীক্ষা করুন

আপনার HAProxy লগগুলি এখন সেট আপ করা হয়েছে৷ বাকি ধাপ হল লগিং কাজ করছে কিনা তা যাচাই করা। এটি পরীক্ষা করার জন্য, আমরা রিয়েল টাইমে আমাদের লগ ফাইলের শেষ লাইনগুলি প্রদর্শন করতে 'টেইল' কমান্ড ব্যবহার করি।

লক্ষ্য করুন কিভাবে আমরা একই পথ নির্দিষ্ট করি যা আমরা আগে “rsyslog” কনফিগার ফাইলে উল্লেখ করেছি।

প্রদত্ত আউটপুট নিশ্চিত করে যে আমরা সফলভাবে আমাদের HAProxy লগিং সেট আপ করেছি। আপনি যে ধরনের লগগুলি ক্যাপচার করতে চান তা মিটমাট করার জন্য কনফিগারেশন ফাইলগুলিকে নির্দ্বিধায় সম্পাদনা করুন৷

উপসংহার

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