دليل المستخدم تعليمات بسيطة للعمل مع خدمة Profitserver
الرئيسية دليل المستخدم كيفية قراءة سجلات Linux وأين تجدها

كيفية قراءة سجلات Linux وأين تجدها


عند مواجهة أي مشاكل في أداء خادمك، فإن أول ما عليك فعله هو مراجعة سجلات نظام لينكس . ستجد في سجل النظام رسائل تشخيصية مفيدة من مكونات مختلفة لنظام التشغيل، مثل النواة والخدمات المتنوعة، لذا من المرجح أن تجد سبب العطل هناك.

كل رسالة في السجل تُولّد نتيجة أحداث معينة في نظام التشغيل: من المستخدم، إلى التفويض، إلى إيقاف الخدمة، أو تعطل التطبيق. تختلف أولويات هذه الأحداث حسب أهميتها. هناك الأنواع التالية من الأحداث في لينكس:

  1. emerg - الفشل، الأولوية القصوى؛
  2. alert - تحذير عاجل؛
  3. crit - حدث حاسم؛
  4. err - خطأ عادي؛
  5. warn - تحذير عادي؛
  6. notice - إشعار؛
  7. info - رسالة إعلامية؛
  8. debug - معلومات التصحيح؛

في الوقت الحالي، تُعدّ خدمات جمع سجلات النظام الرئيسية في لينكس هي rsyslog و systemd-journald . وهما تأتيان مع معظم حزم التوزيعات الحديثة وتعملان بشكل مستقل.

rsyslog

توجد سجلات هذه الخدمة في المجلد " /var/log/ " على شكل ملفات نصية عادية. تُخزَّن رسائل السجل في ملفات مختلفة حسب نوع الحدث. على سبيل المثال، يحتوي الملف " /var/log/auth.log " على معلومات حول صلاحيات المستخدمين في النظام، بينما يحتوي الملف " /var/log/kern.log " على رسائل النواة. قد تختلف أسماء الملفات بين حزم التوزيع، لذا دعونا نلقي نظرة على ملف الإعدادات " /etc/rsyslog.d/50-default.conf " لفهم محتوياته.

شعار Linux المفيد rsyslog

تُظهر هذه القواعد الملف الذي يحتوي على كل نوع من أنواع رسائل السجل. يعرض الجزء الأيسر نوع الرسالة بالصيغة التالية: " [المصدر].[الأولوية] "، بينما يعرض الجزء الأيمن اسم ملف السجل. عند كتابة نوع الرسالة، يمكن إضافة الرمز " * ". هذا يعني قيمة فارغة أو " لا شيء "، مما يؤدي إلى حذفها من القائمة. لنلقِ نظرة فاحصة على القاعدتين الأوليين.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

تنص القاعدة الأولى على تسجيل جميع الرسائل الواردة من آلية المصادقة في الملف " /var/log/auth.log ". كما تُسجل جميع محاولات المصادقة (الناجحة منها والفاشلة) في هذا الملف. أما القاعدة الثانية، فتنص على تسجيل جميع الرسائل، باستثناء تلك المتعلقة بالمصادقة، في الملف " /var/log/syslog ". يُعد هذان الملفان الأكثر استخدامًا عادةً. وتحدد القواعد التالية مسار تخزين سجلات نواة النظام " kern.* " وسجلات خدمة البريد " mail.* " .

يمكن فتح ملفات السجل باستخدام أي محرر نصوص، مثل less أو cat أو tail . لنفتح الآن الملف " /var/log/auth.log " .

less /var/log/auth.log
قم بالتسجيل في ملف سجل Linux حول تفويض SSH غير المعتاد

كل سطر من الملف هو رسالة منفصلة مُستلَمة من التطبيق أو الخدمة. جميع الرسائل، بغض النظر عن مصدرها، لها تنسيق واحد وتتكون من خمسة أجزاء. لنأخذ الرسالة المميزة في لقطة الشاشة كمثال.

  1. طابع زمني للرسالة - "١٢ فبراير ٠٦:١٨:٣٣"
  2. اسم الكمبيوتر الذي أرسل الرسالة - "vds"
  3. اسم التطبيق أو الخدمة التي أرسلت الرسالة - "sshd"
  4. معرف العملية - [653]
  5. نص الرسالة - "تم قبول كلمة المرور لميهايل من 188.19.42.165 المنفذ 2849 ssh2"

كان هذا مثالاً على اتصال ناجح بـ SSH.

وهنا كيف تبدو محاولة تسجيل الدخول غير الناجحة:

اقرأ لوجيات لينكس

يسجل هذا الملف أيضًا الأوامر ذات الأذونات المتقدمة

كيفية قراءة سجل Linux بشكل صحيح

لنفتح ملف /var/log/syslog

الرسالة المميزة في لقطة الشاشة هي الرسالة الخاصة بإيقاف تشغيل واجهة الشبكة.

تدوير شعار أوتيليتا

للبحث عن المعلومات في ملفات نصية طويلة، استخدم أداة grep . يمكنك العثور على جميع الرسائل الواردة من خدمة pptpd في ملف " /var/log/syslog ".

grep 'pptpd' /var/log/syslog
الملف "/etc/logrotate.d/rsyslog"

أثناء عملية التشخيص، يمكنك استخدام أداة tail التي تعرض آخر عدة أسطر من الملفات. يتيح لك الأمر " tail -f /var/log/syslog " مراقبة سجلات النظام المسجلة في الوقت الفعلي.

خدمة rsyslog مرنة وقوية للغاية، ويمكن استخدامها لجمع سجلات النظام في الأنظمة المحلية وعلى مستوى المؤسسات. تجدون التوثيق الكامل على الموقع الرسمي: https://www.rsyslog.com/

تدوير السجلات في لينكس

يتم تسجيل السجلات بشكل مستمر، لذا يزداد حجم الملفات باستمرار. تضمن آلية التدوير أرشفة السجلات القديمة تلقائيًا وإنشاء ملفات جديدة. يمكن أن تتم هذه العملية يوميًا أو أسبوعيًا أو شهريًا أو عند بلوغ حد أقصى للحجم، وذلك وفقًا للقواعد المحددة. عند إنشاء سجلات جديدة، يمكن حذف السجلات القديمة أو إرسالها عبر البريد الإلكتروني. يتم تدوير السجلات بواسطة أداة logrotate . يمكنك العثور على الإعدادات الرئيسية في الملف " /etc/logrotate.conf ". كما تتم معالجة محتوى الملفات في المجلد " /etc/logrotate.d/ ".

يمكن تسجيل القواعد الجديدة في ملف الإعدادات الرئيسي. مع ذلك، يُفضّل إنشاء ملف منفصل في المسار " /etc/logrotate.d/ ". يحتوي هذا المجلد افتراضيًا على بعض الملفات.

إنشاء شعار التدوير في Linux

دعونا نلقي نظرة على الملف " /etc/logrotate.d/rsyslog " الذي يحتوي على قواعد تدوير سجلات خدمة rsyslog.

مثال على إدخال جميع ملفات pptpd في ملفات السجل

أولاً، يجب أن تحتوي القاعدة على المسار إلى ملف السجل ثم تنتقل جميع الإرشادات بين قوسين منحنين.

  • استدارة 7 - عدد الملفات المطلوب الاحتفاظ بها - 7
  • يوميا - إنشاء ملف جديد كل يوم
  • ضغط - ضغط الملفات القديمة وأرشفتها
تعلم قراءة شعار Linux

يمكنك أن ترى في لقطة الشاشة أنه في مجلد " /var/log/ " يوجد السجل الرئيسي " syslog " و7 أرشيفات، وهو ما يتوافق مع القواعد الموجودة في ملف التكوين.

يمكنك العثور على وصف أكثر تفصيلاً لأداة logrotate في الدليل، وذلك بتنفيذ الأمر " man logrotate ".

جمع سجلات Linux - journald

خدمة تجميع سجلات النظام systemd-journald هي جزء من نظام التهيئة systemd . تُخزَّن ملفات سجلات لينكس في المسار " /var/log/journal/ " بتنسيق خاص، ويمكن فتحها باستخدام أداة journalctl . تنسيق السجلات مطابق تمامًا لتنسيق سجلات rsyslog.

يُظهر الأمر journalctl بدون سمات جميع السجلات، لكنه غير مناسب للسجلات الكبيرة. دعونا نلقي نظرة على بعض خيارات هذه الأداة.

  • journalctl -b - إظهار جميع السجلات منذ البداية الأخيرة
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - إظهار السجل خلال فترة زمنية معينة
  • journalctl -u pptpd - إظهار سجلات خدمة معينة
  • journalctl -k - إظهار رسائل النواة
  • journalctl -p err - إظهار رسائل ذات أولوية معينة، رسائل ذات أولوية أعلى في هذه الحالة (حرجة، تنبيه، طارئة)
  • journalctl -f - عرض الرسائل في الوقت الحقيقي

للحصول على مرونة أكبر، يمكنك دمج هذه الخيارات. لنعرض جميع أخطاء خدمة pptpd.

journalctl -u pptpd -p err
يوتيليتا الأخير

إذا حددت مسار الملف التنفيذي كخاصية، ستعرض الأداة جميع الرسائل المرسلة من هذا الملف. لنعرض الآن جميع الرسائل المرسلة من الملف " /usr/bin/sudo " منذ الساعة 04:15 صباحًا يوم 18 فبراير 2020. في الواقع، ستعرض جميع الأوامر التي تم تنفيذها بصلاحيات أعلى.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
القيادة الأخيرة

لمعرفة مقدار مساحة القرص التي تشغلها ملفات السجل لتنفيذ الأمر التالي

journalctl --disk-usage

من أجل تقييد ملف السجل إلى 1 جيجابايت، قم بتنفيذ الأمر التالي

journalctl --vacuum-size=1G

فتح الملفات الثنائية

والآن دعونا نلقي نظرة على بعض الملفات الخاصة في مجلد " /var/log/ " حيث تُخزَّن جميع محاولات تسجيل الدخول. هذه الملفات ثنائية ولا يمكن فتحها إلا ببرامج خاصة.

يحتوي الملف /var/log/wtmp على معلومات حول محاولات تسجيل الدخول الناجحة. استخدم الأداة الأخيرة لفتحه.

استخدام lastlog

يحتوي الملف /var/log/btmp على جميع محاولات تسجيل الدخول الفاشلة. يمكن فتحه باستخدام الأمر lastb مع صلاحيات متقدمة. تحدد الخاصية -n عدد الأسطر المعروضة بدءًا من نهاية الملف.

/var/log/lastlog - يحتوي على وقت آخر عملية تسجيل دخول لكل سجل حساب. يمكن فتحه باستخدام الأمر lastlog

❮ المقال السابق محررات نصوص Linux
المقال التالي ❯ كيفية تكوين واجهات الشبكة في CentOS

اسألنا عن VPS

نحن على استعداد دائمًا للإجابة على أسئلتك في أي وقت من النهار أو الليل.