عندما تواجه أي مشاكل تتعلق بأداء الخادم الخاص بك، فإن أول شيء تريد القيام به هو تحقق من سجلات Linux الخاصة بكفي سجل النظام، يمكنك العثور على بعض رسائل التشخيص المفيدة من مكونات مختلفة لنظام التشغيل مثل النواة أو الخدمات المختلفة، لذا فمن المرجح أن تجد سبب الفشل هناك.
كل رسالة في السجل تُولّد نتيجة أحداث معينة في نظام التشغيل: من المستخدم، إلى التفويض، إلى إيقاف الخدمة، أو تعطل التطبيق. تختلف أولويات هذه الأحداث حسب أهميتها. هناك الأنواع التالية من الأحداث في لينكس:
emerg- الفشل، الأولوية القصوى؛alert- تحذير عاجل؛crit- حدث حاسم؛err- خطأ عادي؛warn- تحذير عادي؛notice- إشعار؛info- رسالة إعلامية؛debug- معلومات التصحيح؛
في الوقت الحالي، خدمات حصاد السجلات الرئيسية في Linux هي rsyslog و systemd- مجلة. إنهم يتوافقون مع معظم حزم التوزيع الحديثة ويعملون بشكل مستقل.
rsyslog
توجد سجلات هذه الخدمة في "/ فار / سجل /مجلد "" على شكل ملفات نصية عادية. تُحفظ رسائل السجل في ملفات مختلفة حسب نوع الحدث. على سبيل المثال، ""/var/log/auth.log"يحتوي على معلومات حول تفويض المستخدمين في النظام، و"/var/log/kern.logيحتوي على رسائل النواة. قد تختلف أسماء الملفات باختلاف حزم التوزيع، لذا لنلقِ نظرة على ملف التكوين لنفهم مكانها./etc/rsyslog.d/50-default.conf".
تعرض هذه القواعد الملف الذي يحتوي على كل نوع من رسائل السجل. يعرض الجزء الأيسر نوع الرسالة بالشكل التالي:[المصدر].[الأولوية]"ويعرض الجزء الأيمن اسم ملف السجل. أثناء كتابة نوع الرسالة، "*يمكن إضافة حرف "" إلى. هذا يعني قيمة فارغة أو ""لا شيء"الذي يُزيله من القائمة. لنلقِ نظرةً عن كثب على القاعدتين الأوليين.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
القاعدة الأولى تعني أن جميع الرسائل المستلمة من آلية الترخيص سيتم تسجيلها في "/var/log/auth.log" ملف. سيتم تسجيل جميع محاولات التفويض (الناجحة وغير الناجحة) في هذا الملف. تشير القاعدة الثانية إلى أنه سيتم تسجيل جميع الرسائل، باستثناء تلك المتعلقة بالتفويض، في "/ فار / سجل / سيسلوغ"ملف". عادةً ما يكون هذان الملفان الأكثر شيوعًا. تحدد القواعد التالية مسار تخزين سجلات النواة.كيرن.*"و سجلات خدمة البريد"بريد.*"
يمكن فتح ملفات السجل بمساعدة أي محرر نصوص، مثل أقل, قط, ذيل. دعونا نفتح "/var/log/auth.log" ملف
less /var/log/auth.log
كل سطر من الملف هو رسالة منفصلة مُستلَمة من التطبيق أو الخدمة. جميع الرسائل، بغض النظر عن مصدرها، لها تنسيق واحد وتتكون من خمسة أجزاء. لنأخذ الرسالة المميزة في لقطة الشاشة كمثال.
- طابع زمني للرسالة - "١٢ فبراير ٠٦:١٨:٣٣"
- اسم الكمبيوتر الذي أرسل الرسالة - "vds"
- اسم التطبيق أو الخدمة التي أرسلت الرسالة - "sshd"
- معرف العملية - [653]
- نص الرسالة - "تم قبول كلمة المرور لميهايل من 188.19.42.165 المنفذ 2849 ssh2"
كان هذا مثالاً على اتصال ناجح بـ SSH.
وهنا كيف تبدو محاولة تسجيل الدخول غير الناجحة:
يسجل هذا الملف أيضًا الأوامر ذات الأذونات المتقدمة
دعونا نفتح / فار / سجل / سيسلوغ ملف
الرسالة المميزة في لقطة الشاشة هي الرسالة الخاصة بإيقاف تشغيل واجهة الشبكة.
للبحث عن المعلومات من خلال ملفات نصية طويلة استخدم البقرى الأداة المساعدة. يمكنك العثور على جميع الرسائل الواردة من com.pptpd الخدمة في "/ فار / سجل / سيسلوغ"ملف.
grep 'pptpd' /var/log/syslog
أثناء التشخيص يمكنك استخدام ذيل أداة يمكنها عرض عدة أسطر أخيرة من الملفات. الأمر "tail -f / var / log / syslog"سوف يسمح لك بمشاهدة تسجيلات التسجيل في الوقت الفعلي.
الخدمة rsyslog مرن وقوي للغاية. يمكن استخدامه لجمع السجلات في الأنظمة المحلية وعلى مستوى المؤسسات. يمكنك الاطلاع على الوثائق الكاملة على الموقع الرسمي. https://www.rsyslog.com/
تدوير السجلات في لينكس
يتم تسجيل السجلات باستمرار، مما يؤدي إلى تزايد حجم الملفات باستمرار. تضمن آلية التدوير الأرشفة التلقائية للسجلات القديمة وإنشاء ملفات جديدة. وحسب القواعد، يمكن أن يتم ذلك يوميًا أو أسبوعيًا أو شهريًا أو حسب حد الحجم. عند إنشاء سجلات جديدة، يمكن حذف السجلات القديمة أو إرسالها عبر البريد الإلكتروني. يتم تدوير السجلات بواسطة logrotate الأداة المساعدة. يمكنك العثور على التكوين الرئيسي في "/etc/logrotate.conf"ملف. تتم معالجة محتوى الملفات أيضًا في "/etc/logrotate.d/" مجلد
يمكن تسجيل القواعد الجديدة في ملف التكوين الرئيسي. مع ذلك، يُفضل إنشاء ملف منفصل في "/etc/logrotate.d/". بشكل افتراضي، يوجد عدد قليل من الملفات في هذا الدليل
دعونا نلقي نظرة على الملف "/etc/logrotate.d/rsyslog"التي تحتوي على قواعد الدوران لسجلات rsyslog خدمة.
أولاً، يجب أن تحتوي القاعدة على المسار إلى ملف السجل ثم تنتقل جميع الإرشادات بين قوسين منحنين.
- استدارة 7 - عدد الملفات المطلوب الاحتفاظ بها - 7
- يوميا - إنشاء ملف جديد كل يوم
- ضغط - ضغط الملفات القديمة وأرشفتها
يمكنك أن ترى في لقطة الشاشة أنه في "/ فار / سجل /"المجلد الذي يوجد به السجل الرئيسي"سيسلوغ"و7 أرشيفات، وهو ما يتوافق مع القواعد الموجودة في ملف التكوين.
يمكنك العثور على وصف أكثر تفصيلاً لـ logrotate في الدليل، وتنفيذ "رجل يدور" أمر
جمع سجلات Linux - journald
خدمة حصاد جذوع الأشجار systemd- مجلة هو جزء من نظام التهيئة سيستم دييتم تخزين ملفات سجل Linux في "/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- عرض الرسائل في الوقت الحقيقي
لمزيد من المرونة، يمكنك دمج هذه الخيارات. لنعرض جميع أخطاء com.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
فتح الملفات الثنائية
الآن دعونا نلقي نظرة على بعض الملفات الخاصة في "/ فار / سجل /"المجلد الذي تُخزَّن فيه جميع محاولات تسجيل الدخول. هذه الملفات ثنائية ولا يُمكن فتحها إلا باستخدام برامج خاصة.
/ فار / سجل / wtmp يحتوي على معلومات حول محاولات تسجيل الدخول الناجحة. استخدم الأداة المساعدة الأخيرة لفتحه.
/ فار / سجل / btmp - يحتوي على جميع محاولات تسجيل الدخول الفاشلة. يمكن فتحه باستخدام lastb مع أذونات متقدمة. السمة -n يحدد عدد الأسطر المعروضة من نهاية الملف.
/ var / log / lastlog - يحتوي على وقت آخر عملية تسجيل دخول لكل سجل حساب. يمكن فتحه باستخدام lastlog