كيف تستعرض وتدير سجلات لينكس على أوبنتو وCentOS
تُعتبر سجلات النظام (Logs) من أهم العناصر التي تعتمد عليها الأنظمة الحاسوبية، حيث تقدم معلومات تفصيلية عن حالة النظام، أداءه، الأخطاء التي تحدث، وأي تغييرات أو أنشطة غير اعتيادية قد تحدث. تساهم السجلات في تقديم معلومات حيوية للمسؤولين عن النظام سواء في بيئة خوادم أو في الاستخدام اليومي للأجهزة الشخصية. في هذا المقال، سنتناول كيفية استعراض وإدارة سجلات النظام في توزيعات لينكس مثل أوبنتو وCentOS، مع توضيح الأدوات والتقنيات المتاحة في كلا النظامين.
أولًا: مفهوم السجلات في لينكس
السجلات في نظام لينكس هي عبارة عن ملفات نصية تحتوي على بيانات متعلقة بأنشطة النظام. يتم توليد هذه السجلات من قبل برامج النظام، الخدمات المختلفة، التطبيقات، وأيضًا المكونات الأساسية مثل النواة. تتضمن السجلات عادة معلومات حول أخطاء النظام، الأنشطة الأمنية، المعلومات المتعلقة بالشبكة، والعمليات الجارية، وغير ذلك من المعلومات الحيوية.
موقع السجلات في أوبنتو وCentOS
يختلف موقع السجلات من توزيعة لأخرى، ولكن في العموم يتم تخزين السجلات في الدليل /var/log، حيث يحتوي هذا الدليل على معظم السجلات المتعلقة بالنظام.
أوبنتو:
في أوبنتو، مثل أغلب توزيعات ديبيان، تجد السجلات في المجلد /var/log. بعض السجلات الأكثر شيوعًا تشمل:
-
syslog: سجلات النظام العامة. -
auth.log: سجلات مصادقة المستخدم (مثل تسجيل الدخول والخروج). -
kern.log: سجلات النواة. -
dpkg.log: سجلات تثبيت الحزم. -
Xorg.0.log: سجلات خادم العرض (X).
CentOS:
في CentOS، الذي يعتمد على Red Hat، يكون نفس الدليل /var/log هو المكان الذي يتم فيه تخزين السجلات. أشهر السجلات في CentOS تتضمن:
-
messages: سجلات النظام العامة. -
secure: سجلات الأمان والمصادقة. -
maillog: سجلات البريد الإلكتروني. -
dmesg: سجلات الرسائل من النواة.
استعراض السجلات باستخدام أدوات لينكس
يتم استعراض السجلات في لينكس باستخدام أدوات مثل cat, less, more, و grep، بالإضافة إلى بعض الأدوات المتقدمة مثل journalctl (على الأنظمة الحديثة التي تستخدم systemd).
1. استخدام أوامر cat, less و more:
يمكنك استخدام هذه الأدوات لعرض محتويات السجلات بشكل بسيط.
-
cat: يعرض محتويات الملف بالكامل، مثل:bashcat /var/log/syslog -
less: يعرض المحتوى بشكل يسمح بالتنقل داخل الملف باستخدام الأسهم أو الصفحات.bashless /var/log/syslog -
more: مماثل لـlessلكنه أقل مرونة في التنقل.bashmore /var/log/syslog
2. استخدام grep للبحث في السجلات:
يمكنك استخدام grep للبحث عن مصطلحات معينة داخل السجلات. على سبيل المثال، للبحث عن الأخطاء في سجل النظام:
bashgrep "error" /var/log/syslog
3. استخدام journalctl:
على أنظمة تستخدم systemd، مثل أوبنتو وCentOS الحديثة، يمكنك استخدام journalctl لعرض سجلات النظام بشكل أكثر تنظيماً. يعرض journalctl السجلات بناءً على وحدة النظام (unit) أو تاريخ ووقت محدد.
-
لعرض جميع السجلات:
bashjournalctl -
لعرض سجلات النظام من الوقت الحالي:
bashjournalctl -f -
لعرض السجلات الخاصة بخدمة معينة، مثل خدمة الشبكة:
bashjournalctl -u NetworkManager
4. عرض السجلات المتعلقة بالأنوية باستخدام dmesg:
سجل رسائل النواة يمكن الوصول إليه باستخدام أمر dmesg، وهو يحتوي على معلومات متعلقة بتشغيل النواة، وأي أخطاء قد تحدث في النظام على مستوى العتاد.
bashdmesg | less
إدارة السجلات
إدارة السجلات مهمة لضمان الحفاظ على مساحة التخزين وتنظيم البيانات. يمكن أن تنمو ملفات السجلات بشكل كبير إذا لم يتم إغلاقها أو تدويرها بشكل دوري.
1. تدوير السجلات باستخدام logrotate:
تعد أداة logrotate أداة مهمة في إدارة السجلات، حيث تقوم بتدوير السجلات (أي: تقسيم السجل إلى ملفات جديدة عند تجاوز حجم معين) وأرشفتها أو حذفها بشكل دوري.
-
لتكوين
logrotate، تجد الملف الأساسي للإعدادات في/etc/logrotate.conf، ويمكنك تعديل أو إضافة إعدادات لتخصيص التدوير. أيضًا، توجد إعدادات محددة لكل تطبيق أو خدمة داخل/etc/logrotate.d/.
مثال لتدوير السجل /var/log/syslog:
bash/var/log/syslog { weekly rotate 4 compress missingok notifempty create 640 syslog adm }
-
weekly: تدوير السجلات كل أسبوع. -
rotate 4: الاحتفاظ بأربعة نسخ فقط من السجل. -
compress: ضغط السجلات القديمة لتوفير المساحة. -
missingok: إذا كان الملف مفقودًا، لا يظهر خطأ. -
notifempty: لا تقم بتدوير السجل إذا كان فارغًا.
2. إعداد الأذونات:
يجب أن تتأكد من أن السجلات محفوظة بشكل آمن وأن الأذونات الخاصة بها مضبوطة بشكل صحيح. على سبيل المثال، يجب أن يكون الوصول إلى سجلات النظام محصورًا بالمستخدمين ذوي الصلاحيات المناسبة.
لتعديل الأذونات:
bashchmod 640 /var/log/syslog
chown root:adm /var/log/syslog
3. أرشفة السجلات:
في بعض الحالات، قد تحتاج إلى أرشفة السجلات للرجوع إليها لاحقًا، خاصة عندما تكون ملفات السجلات قديمة. يمكن استخدام أدوات مثل tar أو gzip لضغط السجلات القديمة وأرشفتها.
bashtar -czf syslog-archive.tar.gz /var/log/syslog.*
أداة rsyslog في إدارة السجلات
في أوبنتو وCentOS، تعد rsyslog هي الأداة الافتراضية لمعالجة السجلات. يمكن تخصيصها بسهولة من خلال تحرير ملف الإعدادات في /etc/rsyslog.conf.
يمكنك تكوين rsyslog لإرسال السجلات إلى خوادم خارجية، أو لتخزين أنواع معينة من السجلات في ملفات محددة.
مثال لإرسال السجلات إلى خادم بعيد:
bash*.* @logserver.example.com:514
مراقبة السجلات في الوقت الفعلي
أحيانًا يحتاج المسؤولون إلى مراقبة السجلات في الوقت الفعلي لتشخيص الأخطاء أو متابعة النشاطات الجارية. يمكن تحقيق ذلك باستخدام الأدوات التالية:
-
tail -f: لمتابعة السجل في الوقت الفعلي.bashtail -f /var/log/syslog -
multitail: أداة أكثر تطورًا لمراقبة ملفات السجلات المتعددة في الوقت نفسه.bashmultitail /var/log/syslog /var/log/auth.log
تلخيص
إدارة السجلات هي جزء أساسي من إدارة أنظمة لينكس، سواء على أوبنتو أو CentOS. من خلال معرفة كيفية استعراض السجلات واستخدام الأدوات المختلفة مثل cat, grep, journalctl, و logrotate، يمكن للمسؤولين إدارة سجلات النظام بكفاءة تامة. من المهم أيضًا مراقبة السجلات بشكل دوري، تدويرها عندما تصبح كبيرة، وضمان الأمان من خلال ضبط الأذونات بشكل صحيح.

