রিদওয়ান বিন শামীম
ইউনিক্স সিস্টেমের খুব শক্তিশালী ও স্থিতিস্থাপক লগিং সিস্টেম আছে যার মাধ্যমে আমাদের কল্পনাযোগ্য সব কিছুই আমরা রেকর্ড করে রাখতে ও পরবর্তীতে ব্যবহার করতে পারি।
ইউনিক্সের বেশিরভাগ ভার্সন syslog নামক জেনারেল পারপাস লগিং ফ্যাসিলিটি দিয়ে থাকে। স্বতন্ত্র প্রোগ্রাম যাদের তথ্য লগড অবস্থায় থাকতে হয় তারা এটিতে তথ্য প্রেরণ করে থাকে। এই সিস্টেম একটি কেন্দ্রীভূত সিস্টেম লগড প্রসেস ব্যবহার করে যা /etc/syslogd বা /etc/syslog নামক প্রোগ্রাম সম্পন্ন করে। প্রোগ্রাম তাদের লগ এন্ট্রিকে syslogd এ পাঠায় যা /etc/syslogd.conf বা /etc/syslog ফাইল কনফিগার সংক্রান্ত কাজগুলো করে। কোনও মিল পাওয়া গেলে কাঙ্খিত লগ ফাইলে লগ ম্যাসেজ লিখে রাখে।
মূলত চার ধরণের syslog টার্ম আছে,
টার্ম | বর্ণনা |
Facility | আইডেন্টিফাইয়ার লগ মেসেজে সাবমিট হওয়া এপ্লিকেশন বা প্রোগ্রামের বিবরণ দেয় |
Priority | ম্যাসেজের গুরুত্বের পরিমাপক |
Selector | এক বা একাধিক ফ্যাসিলিটি বা লেভেলের সমন্বয় |
Action | ইনকামিং ম্যাসেজ যা সিলেক্টরের সাথে মিলে যায়, তার ক্ষেত্রে ঘটে। |
সিসলগ ফ্যাসিলিটিজ
সিলেক্টরের জন্য প্রাপ্ত সুবিধাগুলো নিচে দেয়া হল, অবশ্য সব ইউনিক্স ভার্সন সবগুলো সুবিধা পায় না।
প্রায়োরিটি | বর্ণনা |
emerg | জরুরী অবস্থা |
alert | সংশোধন করতে হবে এমন অবস্থা |
crit | জটিল পরিস্থিতি, যেমন হার্ডওয়ারে ক্রুটি |
err | সাধারণ এরর |
warning | সতর্কবাণী |
notice | এরর না, তবু সাবধানে কাজ করতে হবে |
info | তথ্যমূলক ম্যাসেজ |
debug | প্রোগ্রাম ডিবাগের ম্যাসেজ |
none | নট টু লগ ম্যাসেজ নির্ধারণের জন্য সিউডো লেভেল ব্যবহার করা |
/etc/syslog.conf ফাইল
ম্যাসেজ লগড থাকার সময় এই ফাইল কন্ট্রোল করে।
*.err;kern.debug;auth.notice /dev/console daemon,auth.notice /var/log/messages lpr.info /var/log/lpr.log mail.* /var/log/mail.log ftp.* /var/log/ftp.log auth.* @prep.ai.mit.edu auth.* root,amrood netinfo.err /var/log/netinfo.log install.* /var/log/install.log *.emerg * *.alert |program_name mark.* /dev/console
ফাইলের প্রতিটা লাইনের দুটি করে অংশ আছে,
- ম্যাসেজ সিলেক্টর যা নির্ণয় করে কোন ধরণের ম্যাসেজ লগড হবে
- একশন ফিল্ড যা ঠিক করে ম্যাসেজ নিয়ে ঠিক কি করা হবে।
- উপরের কনফিগারেশনের কয়েকটি গুরুত্বপূর্ণ পয়েন্ট আছে,
- ম্যাসেজ সিলেক্টরের দুটি পার্ট আছে, ফ্যাসিলিটি আর প্রাইওরিটি
- kern.debug নামের ম্যাসেজ সিলেক্টর ডিবাগের চেয়ে বড় প্রাইওরিটি নির্বাচন করে।
- ফ্যাসিলিটি আর প্রাইওরিটির স্থলে তারকাচিহ্ন সবগুলোকেই নির্দেশ করে।
- মাল্টিপল ফ্যাসিলিটি নির্ধারণ করতে কমা ও ব্যবহার করা যায়।
লগিং একশন
পাঁচটি একশনের যে কোনও একটি একশন ফিল্ডে প্রযোজ্য হবে,
- কোনও ফাইল বা ডিভাইসে লগ ম্যাসেজ
- ইউজারের কাছে ম্যাসেজ পাঠানো
- সব ইউজারের কাছে ম্যাসেজ পাঠানো
- প্রোগ্রামে ম্যাসেজ পাইপ করা
- অন্য হোষ্টের syslog এ ম্যাসেজ প্রেরণ
লগার কম্যান্ড
লগার কম্যান্ডের ফরম্যাট হল,
logger [-i] [-f file] [-p priority] [-t tag] [message]...
এর প্যারামিটারগুলো এরকম,
প্যারামিটার
-f filename
-i
-p priority
-t tag
message
লগ রোটেশন
লগ রোটেশনের জন্য newsyslog বা logrotate টুল ব্যবহার করা যায়।
গুরুত্বপূর্ণ লগ লোকেশনঃ কিছু গুরুত্বপূর্ণ এপ্লিকেশন ও তাদের লগ ডিরেক্টরি নিচে দেয়া হল,
এপ্লিকেশন | ডিরেক্টরি |
httpd | /var/log/httpd |
samba | /var/log/samba |
cron | /var/log/ |
/var/log/ | |
mysql | /var/log/ |