العودة إلى المدونة

عرض سجلات Systemd ومعالجتها باستخدام Journalctl

عرض سجلات Systemd ومعالجتها باستخدام Journalctl

النظام و تسجيل العمليات هما اثنتان فقط من أهم المزايا المحورية لـ systemd. عندما تتوزع السجلات في جميع أنحاء النظام، وتمتد عبر تطبيقات متعددة، وتتم معالجتها بواسطة عمليات وعفاريت (daemons) مختلفة، فقد يكون من الصعب تفسيرها. يوفر systemd حلاً مركزيًا لإدارة جميع سجلات عمليات النواة (kernel) ومساحة المستخدم (userland) في وسيط تجميع يُعرف باسم journal. يمكنك معرفة المزيد عن systemd في برنامجنا التعليمي حول كيفية إدارة خدمات ووحدات systemd باستخدام systemctl. يتم التعامل مع جميع الرسائل التي يتم إنشاؤها بواسطة الخدمات، و initrd، والنواة (kernels)، وما إلى ذلك في الـ journal بواسطة عفريت الـ journal (journal daemon). الغرض من هذا الدليل هو توضيح كيفية الوصول إلى بيانات الـ journal ومعالجتها باستخدام journalctl.

الفرضية الأساسية

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

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

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

اعتمادًا على احتياجات المستخدم، يمكنك تطبيق systemd journal مع syslog الحالي أو يمكنه استبدال وظائفه. يمكن لـ systemd أيضًا إكمال آليات التسجيل الحالية. على سبيل المثال، يمكن لخدمات متعددة على نظام واحد أن تتداخل بياناتها المجمعة على نظام واحد مع systemd journal.

ضبط وقت النظام

سيعرض systemd، افتراضيًا، النتائج بالتوقيت المحلي، وهي ميزة لتسجيل الـ journal الثنائي في كيفية عرض سجلات السجل. بدلاً من ذلك، يمكن عرضها بتوقيت UTC. وبالتالي، من المهم التأكد من إعداد المنطقة الزمنية بشكل صحيح قبل البدء في تسجيل الـ journal. للقيام بذلك، تم تجهيز systemd بأداة تسمى timedatectl. نبدأ بمعرفة المناطق الزمنية المتاحة للاستخدام من خلال عرض قائمة بخيارات list-timezones:

بعد العثور على المنطقة الزمنية المطابقة لموقع خادمك، يمكن تعيين المنطقة الزمنية باستخدام خيار set-timezone:

لاختبار والتحقق من أن المنطقة الزمنية تظهر الآن بشكل مناسب، يمكنك استخدام الأمر timedatectl إما بمفرده أو مع إضافة 'status:'

timedatectl status

يوضح السطر الأول التوقيت المحلي. يجب أن يحتوي هذا السطر على الوقت الصحيح لمنطقتك المحلية.

عرض السجل العام

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

journalctl

سيجد أولئك الذين استخدموا تسجيل syslog القياسي أن التنسيق مألوف، ولكن من المهم أن تضع في اعتبارك أن هذا التجميع للبيانات يتم تضمينه من مصادر عديدة، على عكس طريقة syslog. ستشمل السجلات عملية التمهيد المبكرة، و initrd، والنواة، بالإضافة إلى الأخطاء القياسية للتطبيقات.

الآن بعد أن تم ضبط الوقت المحلي، ستبدأ جميع الإدخالات بطوابع زمنية موضوعة بالتوقيت المحلي، وهي متاحة لكل سجل مخزن حاليًا على النظام، مع عرض كل المنطق باستخدام هذه المعلومات الجديدة. ومع ذلك، فأنت لست مقيدًا بالتوقيت المحلي. باستخدام علامة –utc، يمكنك عرض الطوابع الزمنية بالتوقيت العالمي المنسق (UTC) أيضًا:

تصفية السجل حسب الوقت

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

عرض السجلات من عملية التمهيد الحالية

إذا كنت تبحث عن البيانات في السجل من آخر إعادة تشغيل، فيمكنك استخدام وظيفة journalctl مع العلامة -b. سيعرض هذا جميع معلومات السجل ذات الصلة من أحدث إعادة تشغيل لنظامك. سيسمح لك هذا الأمر بالعثور على المعلومات الأكثر صلة ببيئة العمل الحالية وإدارتها:

إذا اختار المشاهد عدم تقييم كل إدخال على حدة، فسيعرض journalctl أكثر من يوم من عمليات التمهيد التي ستظهر في journalctl مع فواصل 'Reboot' ملائمة. يساعد هذا في فصل المعلومات منطقيًا من جلسات تمهيد مختلفة لمراجعتها:

معلومات عمليات التمهيد السابقة

في حين أن عرض معلومات التمهيد الحالية يميل إلى أن يكون الأكثر فائدة، إلا أن هناك مواقف تكون فيها معلومات التمهيد السابقة مفيدة. يحفظ Journal معلومات لعدة عمليات تمهيد سابقة، لذا يمكن لـ journalctl عرض المعلومات بسهولة لأي فترة زمنية.

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

بدلاً من ذلك، يمكنك تعديل ملف تكوين السجل بالطريقة التالية:

سيؤدي ضبط خيار Storage= على “persistent” ضمن قسم [Journal] إلى تمكين التسجيل المستمر:

journalctl configuration

بمجرد تمكين هذا، يوفر journalctl أوامر معينة تساعدك على تحديد عمليات التمهيد هذه كوحدات تقسيم. لعرض عمليات التمهيد التي تم تسجيلها في journald، يمكنك استخدام خيار –list-boots عبر journalctl:

list boots journalctl

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

وبالمثل، يمكن أيضًا استخدام معرف التمهيد من العمود الثاني بهذه الطريقة:

النوافذ الزمنية

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

لذا، إذا كنت تريد رؤية جميع عمليات التشغيل منذ 10 يناير 2015 الساعة 5:15 مساءً، فاكتب الأمر التالي:

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

يمكن لـ journal فهم الاختصارات المتعلقة بالوقت مثل “today” (اليوم)، و“tomorrow” (غدًا)، و“yesterday” (أمس)، و“now” (الآن). ويمكن استخدام كلمات مثل ago، بالاقتران مع المؤهلات المسبقة “-” و “+”، لإنشاء أمر يشبه الجملة:

إذا تم إخطارك بانقطاع الخدمة الذي بدأ في الساعة 9:00 وتريد التحقق من سجلات journal حتى قبل ساعة من الآن، يمكنك القيام بذلك باستخدام ما يلي:

كما هو واضح، فإن تحديد نافذة زمنية مرنة لعرض الإدخالات المطلوبة أمر بسيط للغاية.

التصفية حسب الاهتمام بالرسالة

بصرف النظر عن تصفية journal حسب القيود الزمنية، يمكن أيضًا تصفية البيانات بناءً على مكون الخدمة المعني. يوفر Systemd عدة طرق للقيام بذلك.

حسب الوحدة (Unit)

ويمكن القول إن معلمة التصفية الأكثر فائدة هي حسب الوحدة المعنية. للتصفية حسب الوحدة، يمكن الاستفادة من الخيار -u. على سبيل المثال، إذا كنت ترغب في رؤية جميع السجلات المتعلقة بوحدة Nginx، فاكتب الأمر التالي:

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

هذا مفيد بشكل خاص عند الاستفادة من قدرة journal على تجميع السجلات من وحدات متعددة، وخاصة الوحدات التعاونية. إذا كانت عملية Nginx متصلة بوحدة PHP-FPN لمعالجة المحتوى الديناميكي، فيمكن دمج الإدخالات بترتيب زمني عن طريق تحديد كلتا الوحدتين:

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

حسب معرف المجموعة، أو العملية، أو المستخدم

تبدأ العديد من الخدمات عددًا كبيرًا من العمليات الفرعية (child processes) لأداء عمل محدد. إذا كان معرف عملية معينة متاحًا، فيمكن أيضًا تصفيتها عن طريق تحديد الحقل _PID. إذا كان معرف العملية (PID) المعني هو 8088، فيمكن القيام بما يلي:

قد ترغب أيضًا في رؤية الإدخالات المسجلة من مجموعة معينة أو مستخدم معين. يمكن تحقيق ذلك باستخدام مرشحات _GID و _UID. إذا كان خادم الويب يعمل تحت المستخدم www-data، فيمكن للأمر التالي العثور على المعرف المطلوب:

find id

باستخدام هذا المعرف، يمكنك بعد ذلك عرض نتائج journal المؤهلة:

يوفر Systemd العديد من الحقول لأغراض التصفية. يتم تطبيق بعض الحقول بواسطة journald بناءً على المعلومات التي تم جمعها من النظام في وقت تسجيل الأحداث، بينما يتم تمرير البعض الآخر من العملية التي يتم تسجيلها حاليًا.

يشير المؤهل المسبق _PID إلى أنه قد تم جمع المعلومات من النظام في وقت تسجيل الأحداث. يقوم السجل (journal) بتسجيل وفهرسة الـ PID تلقائيًا أثناء عملية التسجيل لإتاحة إمكانية التصفية لاحقًا. لمعرفة حقول السجل المتاحة، يمكنك كتابة:

سنناقش بعضًا من هذه الحقول لاحقًا في هذا الدليل، ولكن في الوقت الحالي، سنتطرق إلى بعض الخيارات المفيدة الأخرى المتعلقة بهذه الحقول. إذا كنت تريد رؤية جميع القيم المتاحة لحقل سجل معين، يمكنك استخدام الخيار -F. إذا كنت ترغب في معرفة ما يحتويه سجل systemd لمعرفات المجموعات (group IDs)، فيمكن القيام بما يلي:

possible gid Journalctl

يمكن أن يساعد هذا في بناء عوامل التصفية من خلال توفير قائمة كاملة بالقيم التي قام حقل معرف مجموعة السجل (journal group ID) بتخزينها.

حسب مسار المكون

يمكن أيضًا إجراء التصفية من خلال توفير موقع المسار. إذا كان المسار يؤدي إلى ملف قابل للتنفيذ، فسيتم عرض الإدخالات في journalctl إذا كانت تتعلق بهذا الملف القابل للتنفيذ. إذا كان الملف القابل للتنفيذ المثير للاهتمام هو 'bash'، فيمكنك كتابة:

على الرغم من أن ذلك قد لا يكون ممكنًا في بعض الأحيان، إلا أنه إذا كانت وحدة (unit) الملف القابل للتنفيذ متاحة، فيمكنها إنشاء طريقة تصفية أكثر وضوحًا وغنى بالمعلومات.

عرض رسائل النواة (Kernel)

يمكن أيضًا استرداد رسائل النواة (kernel)، والتي توجد عادةً في مخرجات dmesg، من السجل. من أجل عرض هذه الرسائل فقط، نستخدم إما العلامات -k أو -dmesg كجزء من أمرنا:

سيتم عرض الرسائل من عملية الإقلاع الحالية افتراضيًا، ولكن يمكن تحديد عمليات الإقلاع السابقة باستخدام علامة الاختيار المذكورة سابقًا. إذا كنت تبحث عن رسائل من خمس عمليات إقلاع سابقة، فإن كتابة هذا ستمنحك النتائج اللازمة:

حسب الأولوية

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

سيعيد هذا الأمر جميع الرسائل المصنفة كأخطاء (errors)، أو تنبيهات (alert)، أو طوارئ (emergency)، أو حرجة (critical) مع استخدام السجل لمستويات رسائل syslog القياسية. يتم تحديد مستويات الأولوية وفقًا لقيمة رقمية، مرتبة من الأعلى إلى الأقل:

  • 0: emerg
  • 1: alert
  • 2: crit
  • 3: err
  • 4: warning
  • 5: notice
  • 6: info
  • 7: debug

أي مما سبق يمكن استخدامه بالتبادل مع الخيار -p. سيؤدي تحديد أي من الأولويات كما هو موضح أعلاه إلى تصفية جميع الأولويات عند ذلك المستوى وما فوقه.

تعديل العرض في السجل (Journal)

إلى جانب استخدام التصفية لاختيار الإدخالات، لدينا طرق أخرى لتعديل المخرجات، وتخصيص عرض journalctl ليناسب احتياجاتنا.

اقتطاع/توسيع المخرجات

يمكننا ضبط عرض مخرجاتنا عن طريق ضبط ما إذا كان journalctl يقوم بتقليص البيانات أو توسيعها. الإجراء الافتراضي لـ journalctl هو إظهار الإدخال الكامل، مع سحب الإدخالات الأطول إلى يمين الشاشة. يمكنك عرض الإدخالات بأكملها عن طريق التمرير عبر مفتاح السهم الأيمن. قد يرغب المستخدم في اقتطاع المخرجات بدلاً من ذلك، مع الإشارة بعلامة حذف (ellipsis) على السطور التي قد تخرج عن الشاشة بخلاف ذلك. لهذا، يمكن استخدام الخيار –no-full:

no full option Journalctl

بدلاً من ذلك، يمكنك أيضًا السماح للعرض بإظهار كل شيء بغض النظر عن الطول أو تضمين أحرف غير قابلة للطباعة باستخدام العلامة -a:

المخرجات إلى المخرج القياسي (Standard Out)

يعرض Journalctl المخرجات في أداة تصفح الصفحات (pager) افتراضيًا، ولكن إذا كنت ترغب في معالجة البيانات باستخدام أدوات تحرير النصوص، فمن المحتمل أنك بحاجة إلى إنشاء المخرجات كخيار مخرجات قياسي (standard output). يمكنك تحقيق ذلك باستخدام الخيار –no-pager:

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

تنسيقات المخرجات

تكون البيانات دائمًا أسهل في التحليل عندما تُعرض بتنسيق أكثر سهولة في الاستهلاك. يوفر السجل (journal) خيارات متعددة للعرض باستخدام محدد -o متبوعًا بتنسيق محدد بدقة.

إذا كنت ترغب في إخراج إدخالات السجل بتنسيق JSON، يمكنك القيام بذلك بالطريقة التالية:

service logs in json

هذه الاستراتيجية مفيدة بشكل خاص عند استخدام أدوات التحليل. يمكن أن يكون تنسيق json-pretty أفضل في عرض هياكل البيانات قبل تمريرها إلى مستهلك JSON:

output format json pretty Journalctl

هناك العديد من التنسيقات التي يمكنك استخدامها للعرض:

  • cat: يعرض حقل الرسالة نفسه فقط.
  • export: تنسيق ثنائي مناسب للنقل أو النسخ الاحتياطي.
  • json: تنسيق JSON قياسي مع إدخال واحد لكل سطر.
  • json-pretty: تنسيق JSON منسق لتسهيل قراءته من قِبل البشر
  • json-sse: مخرجات بتنسيق JSON مغلفة لتكون متوافقة مع الأحداث المرسلة من الخادم (server-sent events)
  • short: مخرجات بأسلوب syslog الافتراضي
  • short-iso: التنسيق الافتراضي مضافًا إليه إظهار الطوابع الزمنية لساعة الحائط بتنسيق ISO 8601.
  • short-monotonic: التنسيق الافتراضي مع طوابع زمنية رتيبة (monotonic).
  • short-precise: التنسيق الافتراضي بدقة الميكروثانية
  • verbose: يعرض كل حقل سجل متاح للإدخال، بما في ذلك الحقول المخفية داخليًا عادةً.

تسمح الخيارات المذكورة أعلاه بعرض السجل بالتنسيق الذي تفضله.

مراقبة العمليات النشطة

يتيح السجل إمكانية الوصول إلى ميزات مراقبة الأنشطة النشطة أو الأخيرة دون الحصول على أداة أخرى. يمكنك القيام بذلك باستخدام أمر journalctl مع وظيفة 'tail'.

  • عرض السجلات الأخيرة

عرض الخيار -n (الذي يعمل تمامًا مثل أمر tail -n)، سيسمح بعرض كمية معينة من السجلات:

يمكن تحديد عدد الإدخالات التي ترغب في عرضها برقم معين بعد محدد -n:

  • متابعة السجلات

يمكنك أيضًا متابعة السجلات بنشاط أثناء كتابتها في النظام باستخدام علامة -f. يعمل هذا أيضًا بنفس طريقة أمر tail -f:

صيانة السجل

تستهلك السجلات مساحة بالفعل. يستحق هذا الأمر الاستكشاف، لا سيما لإمكانية مسح بعض السجلات القديمة لتوفير مساحة.

البحث عن استخدام القرص الحالي

يمكن أن تساعد علامة –disk-usage في تحديد مقدار المساحة التي تشغلها السجلات حاليًا على القرص:

disk usage Journalctl

حذف السجلات القديمة

مع إصدار systemd رقم 218 (والإصدارات اللاحقة) يمكنك تقليص حجم السجل بطريقتين مختلفتين. الأولى هي خيار –vacuum-size. يمكن لهذا الخيار تقليص السجل عن طريق تحديد حجمه. بعبارة أخرى، سيتم حذف الإدخالات القديمة من السجل حتى تصبح المساحة المشغولة عند المعلمة المطلوبة:

يمكن لخيار –vacuum-time تقليص المساحة التي يشغلها السجل عن طريق تحديد وقت قطع، حيث سيتم حذف أي إدخالات تتجاوز هذا الوقت، بينما سيتم الاحتفاظ بتلك التي تم إنشاؤها بعد الوقت المحدد. إذا كنت ترغب في الاحتفاظ بالإدخالات من السنة التقويمية الأخيرة فقط، يمكنك استخدام:

الحد من توسع السجل

يمكنك أيضًا تحديد مقدار المساحة التي سيشغلها السجل. يتم ذلك عن طريق تحرير ملف /etc/systemd.journald.conf. يمكن الحد من نمو السجل باستخدام أي من الطرق التالية:

  • SystemMaxUse=: يشير إلى الحد الأقصى لمساحة القرص المسموح للسجل باستخدامها في وحدة التخزين الدائمة.
  • SystemKeepFree=: يشير إلى مقدار المساحة التي يجب تركها فارغة عند إضافة كيانات السجل في وحدة التخزين الدائمة.
  • SystemMaxFileSize=: يحدد الحجم الأقصى المسموح به لنمو ملفات السجل حتى يتم تدويرها في وحدة التخزين الدائمة.
  • RuntimeMaxUse=: يحدد مقدار مساحة القرص المسموح باستخدامها في وحدة التخزين المؤقتة (ضمن نظام ملفات /run).
  • RuntimeKeepFree=: عند كتابة البيانات إلى وحدة التخزين المؤقتة، تشير هذه الوظيفة إلى مقدار المساحة التي يجب تخصيصها للاستخدامات الأخرى (ضمن نظام ملفات /run).
  • RuntimeMaxFileSize=: يشير إلى مقدار المساحة التي يمكن أن يشغلها ملف سجل فردي في وحدة التخزين المؤقتة (ضمن نظام ملفات /run) قبل أن يحتاج إلى التدوير.

يمكن أن تساعد هذه الخيارات جميعها في التحكم في استهلاك مساحة التخزين بواسطة السجل. ومن الحقائق المهمة التي تجب ملاحظتها هي أن الخيارين SystemMaxFileSize و RuntimeMaxFileSize يستهدفان الملفات المؤرشفة للوصول إلى الحدود المحددة. هذه حقيقة مهمة يجب وضعها في الاعتبار عند تفسير عدد الملفات بعد عمليات التنظيف (vacuuming).

الخاتمة

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

حوسبة سعيدة!

author

Akshay Nagpal

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.