- unstable 4.30.2-1
| SYSTEMD-JOURNALD.SERVICE(8) | systemd-journald.service | SYSTEMD-JOURNALD.SERVICE(8) |
الاسم¶
systemd-journald.service، systemd-journald.socket، systemd-journald-dev-log.socket، systemd-journald-audit.socket، systemd-journald@.service، systemd-journald@.socket، systemd-journald-varlink@.socket، systemd-journald - خِدْمَةُ السِّجِلِّ
موجز¶
الوصف¶
systemd-journald هي خِدْمَةُ نِظَامٍ تَجْمَعُ وَتُخَزِّنُ بَيَانَاتِ التَّسْجِيلِ. تُنْشِئُ وَتُحَافِظُ عَلَى سِجِلَّاتٍ مُنَظَّمَةٍ وَمُفَهْرَسَةٍ اسْتِنَادًا إِلَى مَعْلُومَاتِ التَّسْجِيلِ الْمُسْتَلَمَةِ مِنْ مَصَادِرَ مُخْتَلِفَةٍ:
سَيَجْمَعُ الْبَرْنَامَجُ الْخَادِمُ ضِمْنِيًّا حُقُولَ بَيَانَاتٍ وَصْفِيَّةٍ عَدِيدَةً لِكُلِّ رِسَالَةِ سِجِلٍّ بِطَرِيقَةٍ آمِنَةٍ وَغَيْرِ قَابِلَةٍ لِلتَّزْوِيرِ. اُنْظُرْ systemd.journal-fields(7) لِمَزِيدٍ مِنَ الْمَعْلُومَاتِ حَوْلَ الْبَيَانَاتِ الْوَصْفِيَّةِ الْمَجْمُوعَةِ.
بَيَانَاتُ السِّجِلِّ الَّتِي يَجْمَعُهَا السِّجِلُّ هِيَ نَصِّيَّةٌ فِي الْأَسَاسِ وَلَكِنْ يُمْكِنُ أَنْ تَتَضَمَّنَ أَيْضًا بَيَانَاتٍ ثُنَائِيَّةً حَيْثُمَا كَانَ ذَلِكَ ضَرُورِيًّا. قَدْ يَصِلُ حَجْمُ الْحُقُولِ الْفَرْدِيَّةِ الَّتِي تُشَكِّلُ سِجِلَّ سِجِلٍّ مُخَزَّنًا فِي السِّجِلِّ إِلَى 2⁶⁴-1 بَايِتٍ.
تُخَزِّنُ خِدْمَةُ السِّجِلِّ بَيَانَاتِ السِّجِلِّ إِمَّا بِاسْتِمْرَارِيَّةٍ تَحْتَ /var/log/journal أَوْ بِطَرِيقَةٍ مُتَطَايِرَةٍ تَحْتَ /run/log/journal/ (فِي الْحَالَةِ الْأَخِيرَةِ، تُفْقَدُ عِنْدَ إِعَادَةِ التَّشْغِيلِ). افْتِرَاضِيًّا، تُخَزَّنُ بَيَانَاتُ السِّجِلِّ بِاسْتِمْرَارِيَّةٍ إِذَا وُجِدَ /var/log/journal/ أَثْنَاءَ الْإِقْلَاعِ، مَعَ الْعُدُولِ الضِّمْنِيِّ إِلَى التَّخْزِينِ الْمُتَطَايِرِ بِخِلَافِ ذَلِكَ. اِسْتَخْدِمْ Storage= فِي journald.conf(5) لِتَكْوِينِ مَكَانِ وُضُوعِ بَيَانَاتِ السِّجِلِّ، بِغَضِّ النَّظَرِ عَنْ وُجُودِ /var/log/journal/.
لاحظ أن journald سيستخدم مبدئيًا التخزين المتطاير، حتى يؤدي استدعاء journalctl --flush (أو إرسال SIGUSR1 إلى journald) إلى تحوله إلى التسجيل المستمر (تحت الشروط المذكورة أعلاه). يتم هذا تلقائيًا عند الإقلاع عبر "systemd-journal-flush.service".
فِي الْأَنْظِمَةِ حَيْثُ لَا يَزَالُ /var/log/journal/ غَيْرَ مَوْجُودٍ وَلَكِنْ يُرْغَبُ فِي التَّسْجِيلِ الْمُسْتَمِرِّ (وَيُسْتَخْدَمُ journald.conf الْمُبْتَدَأُ)، يَكْفِي إِنْشَاءُ الدَّلِيلِ، وَضَمَانُ احْتِوَائِهِ عَلَى أَوْضَاعِ الْوُصُولِ وَالْمِلْكِيَّةِ الصَّحِيحَةِ:
mkdir -p /var/log/journal systemd-tmpfiles --create --prefix /var/log/journal
اُنْظُرْ journald.conf(5) لِمَعْلُومَاتٍ حَوْلَ تَكْوِينِ هَذِهِ الْخِدْمَةِ.
تَسْجِيلُ التَّدَفُّقِ¶
يُشَغِّلُ مُدِيرُ خِدْمَةِ systemd جَمِيعَ عَمَلِيَّاتِ الْخِدْمَةِ مَعَ تَوْصِيلِ الْمُخْرَجِ الْمِعْيَارِيِّ وَالْخَطَأِ الْمِعْيَارِيِّ بِالسِّجِلِّ افْتِرَاضِيًّا. يُمْكِنُ تَغْيِيرُ هَذَا السُّلُوكِ عَبْرَ إِعْدَادَاتِ مِلَفِّ الْوَحْدَةِ StandardOutput=/StandardError=، اُنْظُرْ systemd.exec(5) لِلتَّفَاصِيلِ. يُحَوِّلُ السِّجِلُّ تَدَفُّقَ الْبَايِتَاتِ الْمُسْتَلَمَ بِهَذِهِ الطَّرِيقَةِ إِلَى سِجِلَّاتِ سِجِلٍّ فَرْدِيَّةٍ، مَعَ تَقْسِيمِ التَّدَفُّقِ عِنْدَ الْأَسْطُرِ الْجَدِيدَةِ ("\n"، ASCII 10) وَبَايِتَاتِ NUL.
إِذَا تَمَّ إِيقَافُ systemd-journald.service، فَإِنَّ اتِّصَالَاتِ التَّدَفُّقِ الْمُرْتَبِطَةَ بِجَمِيعِ الْخِدْمَاتِ تُنْهَى. سَتُؤَدِّي الْكِتَابَاتُ الْإِضَافِيَّةُ إِلَى تِلْكَ التَّدَفُّقَاتِ مِنْ قِبَلِ الْخِدْمَةِ إِلَى أَخْطَاءِ EPIPE. لِلرَّدِّ بِلُطْفٍ فِي هَذِهِ الْحَالَةِ، يُوصَى بِأَنْ تَتَجَاهَلَ الْبَرَامِجُ الَّتِي تُسَجِّلُ فِي الْمُخْرَجِ/الْخَطَأِ الْمِعْيَارِيِّ مِثْلَ هَذِهِ الْأَخْطَاءِ. إِذَا لَمْ يَكُنْ مُعَالِجُ إِشَارَةِ SIGPIPE فِي يُونِكْس مَحْظُورًا أَوْ مُعَطَّلًا، فَسَتُؤَدِّي مُحَاوَلَاتُ الْكِتَابَةِ هَذِهِ أَيْضًا إِلَى تَوْلِيدِ إِشَارَاتِ الْعَمَلِيَّةِ هَذِهِ، اُنْظُرْ signal(7). لِلتَّخْفِيفِ مِنْ هَذِهِ الْمُشْكِلَةِ، يُعَطِّلُ مُدِيرُ خِدْمَةِ systemd إِشَارَةَ SIGPIPE صَرَاحَةً لِجَمِيعِ الْعَمَلِيَّاتِ الْمُسْتَدْعَاةِ افْتِرَاضِيًّا (يُمْكِنُ تَغْيِيرُ هَذَا لِكُلِّ وَحْدَةٍ عَلَى حِدَةٍ عَبْرَ خِيَارِ IgnoreSIGPIPE=، اُنْظُرْ systemd.exec(5) لِلتَّفَاصِيلِ). بَعْدَ إِنْهَاءِ تَدَفُّقَاتِ الْمُخْرَجِ/الْخَطَأِ الْمِعْيَارِيِّ، لَا يُمْكِنُ اسْتِعَادَتُهَا حَتَّى تُعَادَ تَشْغِيلُ الْخِدْمَاتِ الْمُرْتَبِطَةِ بِهَا. لَاحِظْ أَنَّهُ أَثْنَاءَ التَّشْغِيلِ الْعَادِيِّ، يُخَزِّنُ systemd-journald.service نُسَخًا مِنْ وَاصِفَاتِ الْمِلَفَّاتِ لِتِلْكَ التَّدَفُّقَاتِ فِي مُدِيرِ الْخِدْمَةِ. إِذَا تَمَّتْ إِعَادَةُ تَشْغِيلِ systemd-journald.service بِاسْتِخْدَامِ systemctl restart أَوْ عَمَلِيَّةٍ مُمَاثِلَةٍ بَدَلًا مِنْ زَوْجٍ مِنْ أَوَامِرِ systemctl stop وَ systemctl start الْمُنْفَصِلَةِ (أَوْ عَمَلِيَّاتٍ مُمَاثِلَةٍ)، فَلَنْ تُنْهَى اتِّصَالَاتُ التَّدَفُّقِ هَذِهِ وَسَتَبْقَى بَعْدَ إِعَادَةِ التَّشْغِيلِ. لِذَا، مِنَ الْآمِنِ إِعَادَةُ تَشْغِيلِ systemd-journald.service، وَلَكِنْ لَا يُوصَى بِإِيقَافِهِ.
يرجى ملاحظة أن بيانات تعريف سجلات السجلات المنقولة عبر تدفقات الإخراج/الأخطاء القياسية هذه تعكس بيانات تعريف النظير الذي تم إنشاء التدفق من أجله في الأصل. إذا تم تمرير اتصال الدفق إلى عمليات أخرى (مثل عمليات فرعية أخرى تم فصلها عن عملية الخدمة الرئيسية )، فلن تعكس سجلات السجل بياناتها الوصفية، ولكنها ستستمر في وصف العملية الأصلية. وهذا يختلف عن وسائل نقل التسجيل الأخرى المذكورة أعلاه، والتي تعتمد بطبيعتها على السجلات وحيث ترتبط البيانات الوصفية دائمًا بالسجل الفردي.
بالإضافة إلى التسجيل التلقائي للنتائج والخطأ في الخدمات، يتوفر أيضًا التسجيل عبر التدفقات من خلال أداة سطر الأوامر systemd-cat(1).
حاليًا، عدد تيارات السجل المتوازية التي سيقبلها systemd-journald محدود بـ 4096. عند بلوغ هذا الحد، قد يتم إنشاء تيارات سجل إضافية لكنها ستتلقى EPIPE منذ البداية.
مساحات أسماء السجل¶
مساحات أسماء السجل هي آلية لعزل تيار السجل للمشاريع المكونة من خدمة واحدة أو أكثر عن باقي النظام منطقيًا، وآلية لتحسين الأداء. قد توجد مساحات أسماء سجل متعددة في وقت واحد، كل منها يُعرّف تيار سجل خاصًا ومستقلًا يُدار بواسطة مثيله الخاص من systemd-journald. مساحات الأسماء مستقلة عن بعضها البعض، سواء في مخزن البيانات أو في واجهة IPC. افتراضيًا، توجد مساحة اسم واحدة فقط "افتراضية"، تُدار بواسطة systemd-journald.service (ووحدات المقبس المرتبطة بها). تُنشأ مساحات أسماء إضافية بتشغيل مثيل من قالب الخدمة systemd-journald@.service. اسم المثيل هو معرف مساحة الاسم، وهو سلسلة قصيرة تُستخدم للإشارة إلى مساحة اسم السجل. قد تُسند وحدات الخدمة إلى مساحة اسم سجل محددة من خلال إعداد ملف الوحدة LogNamespace=، انظر systemd.exec(5) للتفاصيل. قد يُستخدم مفتاح --namespace= الخاص بـ journalctl(1) لعرض تيار السجل لمساحة اسم محددة. إذا لم يُستخدم المفتاح، يُعرض تيار السجل لمساحة الاسم الافتراضية، أي أن بيانات السجل من مساحات الأسماء الأخرى غير مرئية.
قد تُسجل الخدمات المرتبطة بمساحة اسم سجل محددة عبر syslog(3)، وبروتوكول التسجيل الأصلي للسجل، وعبر stdout/stderr؛ يرتبط التسجيل من جميع وسائل النقل الثلاث بمساحة الاسم.
افتراضيًا، ستجمع مساحة الاسم الافتراضية فقط رسائل سجل النواة والتدقيق.
يُهيأ مثيل systemd-journald لمساحة الاسم الافتراضية من خلال /etc/systemd/journald.conf (انظر أدناه)، بينما تُهيأ المثيلات الأخرى من خلال /etc/systemd/journald@NAMESPACE.conf. توضع بيانات سجل مساحة الاسم الافتراضية في /var/log/journal/MACHINE_ID (انظر أدناه) بينما توجد بيانات مساحات الأسماء الأخرى في /var/log/journal/MACHINE_ID.NAMESPACE.
إشارات¶
SIGUSR1
أُضيف في الإصدارة 186.
SIGUSR2
أُضيف في الإصدارة 186.
SIGRTMIN+1
أُضيف في الإصدارة 228.
SIGHUP
أُضيف في الإصدار 258.
بيانات الاعتماد¶
يدعم systemd-journald منطق بيانات اعتماد الخدمة كما هو مطبق بواسطة ImportCredential=/LoadCredential=/SetCredential= (انظر systemd.exec(5) للتفاصيل). تُستخدم بيانات الاعتماد التالية عند تمريرها:
journal.forward_to_socket
أُضيف في الإصدار 256.
journal.storage
أُضيف في الإصدار 256.
سطر أوامر النواة¶
قد تُتجاوز بعض معلمات التهيئة من journald.conf في سطر أوامر النواة:
systemd.journald.forward_to_syslog=، systemd.journald.forward_to_kmsg=، systemd.journald.forward_to_console=، systemd.journald.forward_to_wall=
انظر journald.conf(5) للحصول على معلومات حول هذه الإعدادات.
أُضيف في الإصدارة 186.
systemd.journald.max_level_store=, systemd.journald.max_level_syslog=, systemd.journald.max_level_kmsg=, systemd.journald.max_level_console=, systemd.journald.max_level_wall=, systemd.journald.max_level_socket=
أُضيف في الإصدار 232.
لاحظ أن خيارات سطر أوامر النواة هذه تُكرّم فقط من قبل النطاق المبدئي، انظر أعلاه.
التحكم في الوصول¶
ملفات دفتر اليومية، مبدئيًا، مملوكة وقابلة للقراءة من قبل مجموعة النظام "systemd-journal" ولكنها غير قابلة للكتابة. إضافة مستخدم إلى هذه المجموعة تمكنه بالتالي من قراءة ملفات دفتر اليومية.
مبدئيًا، كل مستخدم، بمعرف مستخدم خارج نطاق مستخدمي النظام، مستخدمي الخدمة الديناميكيين، ومستخدم nobody، سيحصل على مجموعته الخاصة من ملفات دفتر اليومية في /var/log/journal/. انظر المستخدمون، المجموعات، معرفات المستخدمين ومعرفات المجموعات على أنظمة systemd[2] لمزيد من التفاصيل حول نطاقات معرفات المستخدمين. ملفات دفتر اليومية هذه لن تكون مملوكة للمستخدم، مع ذلك، لتجنب أن يتمكن المستخدم من الكتابة إليها مباشرة. بدلاً من ذلك، تُستخدم قوائم التحكم بالوصول لنظام الملفات لضمان حصول المستخدم على وصول للقراءة فقط.
مستخدمون ومجموعات إضافية قد يُمنحون وصولاً إلى ملفات دفتر اليومية عبر قوائم التحكم بالوصول لنظام الملفات. التوزيعات والمسؤولون قد يختارون منح وصول للقراءة لجميع أعضاء مجموعتي النظام "wheel" و"adm" بأمر مثل التالي:
# setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
لاحظ أن هذا الأمر سيُحدّث قوائم التحكم بالوصول لكل من ملفات دفتر اليومية الموجودة وملفات دفتر اليومية المستقبلية المنشأة في الدليل /var/log/journal/.
الملفات¶
/etc/systemd/journald.conf
أُضيف في الإصدارة 206.
/run/log/journal/معرف-الآلة/*.journal, /run/log/journal/معرف-الآلة/*.journal~, /var/log/journal/معرف-الآلة/*.journal, /var/log/journal/معرف-الآلة/*.journal~
عندما يتوقف systemd-journald عن الكتابة إلى ملف دفتر يومية، يُعاد تسميته إلى "الاسم-الأصلي@اللاحقة.journal" (أو "الاسم-الأصلي@اللاحقة.journal~"). هذه الملفات "مؤرشفة" ولن يُكتب إليها بعد الآن.
بشكل عام، من الآمن قراءة أو نسخ أي ملف دفتر يومية (نشط أو مؤرشف). يجب أن يكون journalctl(1) والدوال في مكتبة sd-journal(3) قادرين على قراءة جميع الإدخالات التي كُتبت بالكامل.
يزيل systemd-journald آليًا أقدم ملفات دفتر اليومية المؤرشفة للحد من استخدام القرص. انظر SystemMaxUse= والإعدادات ذات الصلة في journald.conf(5).
أُضيف في الإصدارة 206.
/dev/kmsg, /dev/log, /run/systemd/journal/dev-log, /run/systemd/journal/socket, /run/systemd/journal/stdout
أُضيف في الإصدارة 228.
إذا استُخدمت مساحات أسماء دفتر اليومية، تُعدّل هذه المسارات قليلاً لتضمين معرف مساحة اسم، انظر أعلاه.
انظر أيضًا¶
systemd(1), journalctl(1), journald.conf(5), systemd.journal-fields(7), sd-journal(3), systemd-coredump(8), setfacl(1), sd_journal_print(3), pydoc systemd.journal
ملاحظات¶
- 1.
- بروتوكول دفتر اليومية الأصلي
- 2.
- المستخدمون، والمجموعات، و UIDs و GIDs على أنظمة systemd
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 260.1 |