كيفية استخدام Journalctl لقراءة سجلات نظام Linux

لسنوات عديدة تم التعامل مع نظام وسجلات kernel بواسطة أداة مساعدة تسمى syslogd. لقد انتقلت معظم أنظمة التشغيل المستندة إلى Linux إلى systemd ، والذي يأتي مع دفتر سجل مختلف ، journald. للتفاعل مع هذه السجلات ، يمكنك استخدام الأداة المساعدة journalctl.

journalctl featured DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

منح إذن المستخدم لقراءة سجلات النظام

يمكن فقط للمستخدمين الذين ينتمون إلى مجموعات “adm” أو “systemd-journal” قراءة سجلات systemd. تضيفك توزيعات مثل Ubuntu بالفعل كمستخدم إلى مجموعة adm.

افتح محاكي Terminal واكتب الأمر التالي:

groups

journalctl groups DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

إذا رأيت “adm” أو “systemd-journal” في الإخراج ، يمكنك تخطي باقي الخطوات في هذا القسم. وإلا ، أضف نفسك إلى مجموعة “adm“.

sudo adduser $USER adm

سيتعين عليك إعادة بدء جلسة تسجيل الدخول الخاصة بك حتى يسري مفعول هذا التغيير (تسجيل الخروج وتسجيل الدخول). إذا لم تتمكن من القيام بذلك لأسباب مختلفة ، فاستخدم هذا الأمر لتسجيل الدخول إلى المجموعة الجديدة دون إعادة تشغيل الجلسة الرسومية.

newgrp adm

لا تغلق النافذة النهائية. أنت الآن جزء من مجموعة adm – في نافذة العمل Terminal ، ولكن ليس في جلسة العمل الرسومية. إذا فتحت محطة Terminal جديدة في هذا الوقت ، فلن يتم تسجيل دخول مستخدمك إلى المجموعة المعرفية بعد الآن.

تحقق إذا كان Journal مستمرة

يمكن أن تكون سجلات systemd ثابتة أو متقلبة. على Ubuntu والتوزيعات الأخرى ، فهي مستمرة بشكل افتراضي. في دبيان 9 ، فهي متقلبة ، بمعنى أنها تبقى في الذاكرة فقط (وليس القرص) وتختفي عند إيقاف التشغيل أو إعادة التشغيل. أدخل الأمر التالي.

journalctl --list-boots
journalctl list boots DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

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

sudo sed -i '/Storage/ c\Storage=persistent' /etc/systemd/journald.conf

حدد “أي سجل إدخال تمهيد” لعرضه

عادة ، سترغب في رؤية سجل التمهيد الحالي. في حالات نادرة ، سترغب في مشاهدة السجل السابق ، عندما حدث خطأ ما ، على سبيل المثال ، بعد تعطل النظام.

لعرض السجل الخاص بالتمهيد الحالي:

journalctl -b 0
journalctl view current boot DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

بالنسبة إلى التمهيد السابق ، استخدم “-1” بدلاً من “0” ، ولحملتين قبل ، “-2” وهكذا.

journalctl -b -1

التنقل والبحث من خلال سجل النظام

بعد فتح السجل باستخدام journalctl ، يمكنك التنقل خلال النص باستخدام مفاتيح الأسهم ومفاتيح PAGE UP أو PAGE DOWN. مفاتيح أخرى مفيدة هي:

> للذهاب إلى نهاية الإخراج.

< للذهاب إلى بداية الإخراج.

/ للبحث عن سلسلة من النص. بعد الضغط على مفتاح الخط المائل ، أدخل السلسلة التي تريد البحث عنها ، متبوعة بـ Enter. السلسلة حساسة لحالة الأحرف ، لذلك لن تعثر “الشبكة” على سلاسل “الشبكة”. يبدأ البحث من موضع العرض الحالي ، لأسفل. للبحث عن أعلى ، استخدم؟

n للعثور على المطابقة التالية في البحث الحالي. N يجد السابق.

q إنهاء الأداة المساعدة journalctl.

journalctl searching DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

تصفية سجل الادخالات حسب الأولوية

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

لعرض رسائل الخطأ فقط من التمهيد الحالي ، أدخل:

journalctl -b 0 -p err

journalctl filter errors DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

إذا كنت ترغب في رؤية أخطاء من جميع التمهيد، فما عليك سوى إزالة المعلمة “-b“:

journalctl -p err

هذه هي الرموز التي يمكنك تمريرها إلى المعلمة “-p“:

  • alert
  • crit
  • debug
  • emerg
  • err
  • info
  • notice
  • warning

تصفية سجل الإدخالات حسب المسار إلى ملف العملية القابلة للتنفيذ أو وحدة Systemd

يتم تشغيل بعض العمليات وإدارتها من خلال ما يسمى بوحدات systemd. لرؤية كل السجلات المتعلقة بوحدة خدمة cron ، أدخل:

journalctl -u cron.service

يمكنك معرفة الوحدات المتوفرة لديك:

systemctl list-dependencies

journalctl list dependencies DzTechs | كيفية استخدام Journalctl لقراءة سجلات نظام Linux

يمكنك التنقل في القائمة باستخدام مفاتيح الأسهم لأعلى ولأسفل. اضغط q للخروج.

إذا كنت تفضل استخدام المسار إلى الملف القابل للتنفيذ في البرنامج (ثنائي) ، فما عليك سوى تمرير مساره الكامل كوسيطة.

journalctl /usr/sbin/cron

لا تنسَ ، يمكنك أيضًا التصفية من خلال إدخال التمهيد الحالي للتخلص من الرسائل غير الضرورية.

journalctl -b 0 /usr/sbin/cron

الخلاصة

يهدف Journalctl إلى تسهيل العثور على ما تبحث عنه. إذا كنت تريد معرفة المزيد عن المعلمات المتقدمة التي يمكنك استخدامها ، فراجع صفحة دليل الأمر journalctl.

DzTech

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