table of contents
| JOURNALD.CONF(5) | journald.conf | JOURNALD.CONF(5) |
الاسم¶
journald.conf، journald.conf.d، journald@.conf - ملفات تهيئة خدمة اليومية
موجز¶
الوصف¶
تهيئ هذه الملفات معاملات مختلفة لخدمة اليومية systemd، systemd-journald.service(8). انظر systemd.syntax(7) لوصف عام للصياغة.
تهيأ نسخة systemd-journald التي تدير النطاق المبدئي بواسطة /etc/systemd/journald.conf والإضافات المرتبطة. تقرأ النسخ التي تدير نطاقات أخرى /etc/systemd/journald@NAMESPACE.conf والإضافات المرتبطة مع تعبئة معرف النطاق. يسمح هذا لكل نطاق بحمل تهيئة مميزة. انظر systemd-journald.service(8) لتفاصيل حول نطاقات اليومية.
أدلة الضبط والأسبقية¶
يُضبط التشكيل المبدئي أثناء التجميع، لذا لا يلزم التشكيل إلا عند الحاجة للانحراف عن تلك القيم المبدئية. يُحمل ملف التشكيل الرئيس من أحد الأدلة المدرجة حسب ترتيب الأولوية، ويُستخدم أول ملف يُعثر عليه فقط: /etc/systemd/، و /run/systemd/، و /usr/local/lib/systemd/ [1]، و /usr/lib/systemd/. تحتوي نسخة المورد من الملف على مدخلات مُعلقة تظهر القيم المبدئية كدليل للمدير. يمكن أيضًا إنشاء تجاوزات محلية عن طريق إنشاء ملفات تكميلية (drop-ins)، كما هو موضح أدناه. يمكن أيضًا تحرير ملف التشكيل الرئيس لهذا الغرض (أو نسخة في /etc/ إذا كانت مشحونة تحت /usr/)، ومع ذلك يوصى باستخدام الملفات التكميلية للتشكيل المحلي بدلاً من إجراء تعديلات على ملف التشكيل الرئيس.
بالإضافة إلى ملف الإعداد الرئيس، تُقرأ قصاصات الإعداد الإضافية من /usr/lib/systemd/*.conf.d/ و /usr/local/lib/systemd/*.conf.d/ و /etc/systemd/*.conf.d/. لهذه الإضافات أولوية أعلى وتتجاوز ملف الإعداد الرئيس. تُفرز الملفات في الأدلة الفرعية للإعداد *.conf.d/ حسب أسماء ملفاتها بترتيب معجمي، بغض النظر عن الدليل الفرعي الذي توجد فيه. عندما تحدد ملفات متعددة نفس الخيار، بالنسبة للخيارات التي تقبل قيمة واحدة فقط، فإن المدخلة في الملف الأخير في الترتيب هي التي تسود، وبالنسبة للخيارات التي تقبل قائمة من القيم، تُجمع المدخلات كما تظهر في الملفات المرتبة.
عندما تحتاج الحزم إلى تخصيص الضبط، يمكنها تثبيت ملفات تكميلية (drop-ins) تحت /usr/. تُحجز الملفات في /etc/ لمدير النظام المحلي، الذي قد يستخدم هذا المنطق لتخطي ملفات الضبط المثبتة من قبل حزم المورّد. يجب استخدام الملفات التكميلية لتخطي ملفات الحزم التكميلية، بما أن ملف الضبط الرئيس له أسبقية أدنى. ويُوصى ببدء جميع أسماء الملفات في تلك المجلدات الفرعية برقم من خانتين وواصلة، لتبسيط الترتيب. كما يحدد هذا مفهوم أولويات الملفات التكميلية للسماح لموردي أنظمة التشغيل بشحن ملفات تكميلية ضمن نطاق محدد أدنى من النطاق الذي يستخدمه المستخدمون. وهذا من شأنه أن يقلل من خطر تخطي ملفات الحزم التكميلية للملفات التكميلية التي حددها المستخدمون عرضًا. ويُوصى باستخدام النطاق 10-40 للملفات التكميلية في /usr/ والنطاق 60-90 للملفات التكميلية في /etc/ و /run/، للتأكد من أن الملفات التكميلية المحلية والعابرة تأخذ الأولوية على الملفات التكميلية التي يشحنها مورد نظام التشغيل.
لتعطيل ملف تشكيل مقدم من المورد، فإن الطريقة الموصى بها هي وضع وصلة رمزية إلى /dev/null في دليل التشكيل في /etc/، بنفس اسم ملف تشكيل المورد.
الخيارات¶
تهيأ جميع الخيارات في القسم [Journal]:
Storage=
لاحظ أن journald سيستخدم مبدئيًا التخزين المتطاير، حتى يؤدي استدعاء journalctl --flush (أو إرسال SIGUSR1 إلى journald) إلى تحوله إلى التسجيل المستمر (تحت الشروط المذكورة أعلاه). يُفعل هذا تلقائيًا عند الإقلاع عبر "systemd-journal-flush.service".
لاحظ أنه عندما يغير هذا الخيار إلى "volatile"، لا تزال البيانات المستمرة الموجودة. في الاتجاه الآخر، يمكن استخدام journalctl(1) مع الخيار --flush لنقل البيانات المتطايرة إلى تخزين مستمر.
عند استخدام نطاقات اليومية (انظر LogNamespace= في systemd.exec(5))، لن يؤثر تعيين Storage= إلى "volatile" أو "auto" على إنشاء دليل سجلات لكل نطاق في /var/log/journal/، لأن ملف خدمة systemd-journald@.service يحمل مبدئياً LogsDirectory=. لإيقاف ذلك، أضف ملف إضافة وحدة يحدد LogsDirectory= إلى سلسلة فارغة.
لاحظ أن ملفات اليومية لكل مستخدم غير مدعومة ما لم يتم تمكين التخزين المستمر، مما يجعل journalctl --user غير متاح.
يمكن أيضًا تحديد التخزين المستخدم عبر بيانات الاعتماد "journal.storage". تعطي القيم المهيأة عبر ملفات التهيئة أولوية على القيم المهيأة عبر بيانات الاعتماد.
أُضيف في الإصدارة 186.
Compress=
Seal=
أُضيف في الإصدارة 189.
SplitMode=
أُضيف في الإصدارة 190.
RateLimitIntervalSec=, RateLimitBurst=
لاحظ أن حد المعدل الفعال يضرب بعامل مشتق من مساحة القرص الحرة المتاحة لليومية. حالياً، يحسب هذا العامل باستخدام اللوغاريتم للأساس 2.
جدول 1. مثال
تعديلات
معدل RateLimitBurst=
حسب مساحة
القرص
المتاحة
| مساحة القرص المتاحة | مضاعف الاندفاع |
| <= 1MB | 1 |
| <= 16MB | 2 |
| <= 256MB | 3 |
| <= 4GB | 4 |
| <= 64GB | 5 |
| <= 1TB | 6 |
إذا قدمت خدمة حدود معدل لنفسها عبر LogRateLimitIntervalSec= و/أو LogRateLimitBurst= في systemd.exec(5)، ستتجاوز تلك القيم الإعدادات المحددة هنا.
SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=, SystemMaxFiles=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize=, RuntimeMaxFiles=
يتحكم SystemMaxUse= و RuntimeMaxUse= في مقدار مساحة القرص التي قد تستخدمها اليومية كحد أقصى. يتحكم SystemKeepFree= و RuntimeKeepFree= في مقدار مساحة القرص التي يجب أن يتركها systemd-journald حرة للاستخدامات الأخرى. سيحترم systemd-journald كلا الحدين ويستخدم القيمة الأصغرمن القيمتين.
الزوج الأول يبلغ مبدئيًا 10% والثاني 15% من حجم نظام الملفات المعني، لكن كل قيمة مبدئية محسوبة محدودة بـ 4G. إذا كان نظام الملفات ممتلئًا تقريبًا وتم انتهاك إما SystemKeepFree= أو RuntimeKeepFree= عند بدء تشغيل systemd-journald، سيتم رفع الحد إلى النسبة المئوية الفعلية الحرة. هذا يعني أنه إذا كانت هناك مساحة حرة كافية من قبل وتم إنشاء ملفات اليوميات، ثم تسبب شيء آخر في امتلاء نظام الملفات، سيتوقف journald عن استخدام مساحة أكبر، لكنه لن يقوم بإزالة الملفات الموجودة لتقليل البصمة مرة أخرى. لاحظ أيضًا أنه يتم حذف الملفات المؤرشفة فقط لتقليل المساحة التي تشغلها ملفات اليوميات. هذا يعني أنه، في الواقع، قد لا تزال هناك مساحة مستخدمة أكثر من حد SystemMaxUse= أو RuntimeMaxUse= بعد اكتمال عملية التنظيف.
يتحكم SystemMaxFileSize= و RuntimeMaxFileSize= في أقصى حجم يمكن أن تصل إليه ملفات اليوميات الفردية. يؤثر هذا على دقة توفر مساحة القرص من خلال التدوير، أي حذف البيانات التاريخية. المبدئي هو ثمن القيم المكونة مع SystemMaxUse= و RuntimeMaxUse= محدود بـ 128M، بحيث يتم عادةً الاحتفاظ بسبعة ملفات يوميات مدورة كتاريخ. إذا تم تمكين وضع الضغط لليوميات (مفعل مبدئيًا)، يكون الحد الأقصى لحجم الملف محدودًا بـ 4G.
حدد القيم بالبايت أو استخدم K، M، G، T، P، E كوحدات للأحجام المحددة (تساوي 1024، 1024²، ... بايت). لاحظ أنه يتم فرض حدود الحجم بشكل متزامن عند تمديد ملفات اليوميات، ولا حاجة لخطوة تدوير صريحة يطلقها الوقت.
يتحكم SystemMaxFiles= و RuntimeMaxFiles= في عدد ملفات اليوميات الفردية التي يجب الاحتفاظ بها كحد أقصى. لاحظ أنه يتم حذف الملفات المؤرشفة فقط لتقليل عدد الملفات حتى يتم الوصول إلى هذا الحد؛ ستبقى الملفات النشطة موجودة. هذا يعني أنه، في الواقع، قد لا يزال هناك عدد أكبر من ملفات اليوميات إجمالاً من هذا الحد بعد اكتمال عملية التنظيف. هذا الإعداد يبلغ مبدئيًا 100.
MaxFileSec=
أُضيف في الإصدارة 195.
MaxRetentionSec=
أُضيف في الإصدارة 195.
SyncIntervalSec=
أُضيف في الإصدارة 199.
ForwardToSyslog=, ForwardToKMsg=, ForwardToConsole=, ForwardToWall=, ForwardToSocket=
يمكن تحديد عنوان إعادة توجيه المقبس باستخدام بيانات الاعتماد "journal.forward_to_socket". أنواع المقابس التالية مدعومة:
AF_INET (e.g. "192.168.0.11:4444"), AF_INET6 (e.g. "[2001:db8::ff00:42:8329]:4444"), AF_UNIX (e.g. "/run/host/journal/socket"), AF_VSOCK (e.g. "vsock:2:1234")
عند إعادة التوجيه إلى وحدة التحكم، يمكن تغيير TTY للتسجيل باستخدام TTYPath=، الموضح أدناه.
عند إعادة التوجيه إلى المخزن المؤقت لسجل النواة (kmsg)، تأكد من تحديد حجم كبير مناسب للمخزن المؤقت للسجل، على سبيل المثال بإضافة "log_buf_len=8M" إلى سطر أوامر النواة. سيقوم systemd آليًا بتعطيل تحديد معدل النواة المطبق على عمليات مساحة المستخدم (المكافئ لتعيين "printk.devkmsg=on").
عند إعادة التوجيه عبر مقبس، يتم استخدام تنسيق تصدير اليوميات[4] عند الإرسال عبر الشبكة. بشكل ملحوظ، يتضمن هذا حقل البيانات الوصفية __REALTIME_TIMESTAMP بحيث يمكن استخدام systemd-journal-remote (انظر systemd-journal-remote.service(8)) لاستقبال إدخالات اليوميات المعاد توجيهها.
ملاحظة: يتم إجراء إعادة التوجيه بشكل متزامن داخل journald، وقد يؤثر بشكل كبير على أدائه. هذا ذو صلة خاصة عند استخدام ForwardToConsole=yes في بيئات السحابة، حيث تكون وحدة التحكم غالبًا منفذًا تسلسليًا افتراضيًا بطيئًا. نظرًا لأن journald مطبق كبرنامج خفي تقليدي أحادي العملية، فإن إعادة التوجيه إلى وحدة تحكم معلقة تمامًا ستحظر journald. يمكن أن يكون لهذا تأثير متتالي يؤدي إلى حظر أي خدمات تسجل بشكل متزامن في اليوميات المحظورة أيضًا. ما لم يتم تصحيح/تطوير شيء بنشاط، فمن الأفضل عمومًا إعداد خدمة من نمط journalctl --follow معاد توجيهها إلى وحدة التحكم، بدلاً من ForwardToConsole=yes، للاستخدام الإنتاجي.
ملاحظة: استخدام ForwardToSocket= عبر روابط IPv4/IPv6 يمكن أن يكون بطيئًا جدًا بسبب الطبيعة المتزامنة للمقابس. احرص على ضمان أن رابطك هو رابط محلي منخفض الكمون إذا أمكن. عادةً، لا تتوفر شبكات IP في كل مكان يعمل فيه journald، على سبيل المثال في initrd أثناء الإقلاع. فكر في استخدام مقابس AF_VSOCK/AF_UNIX لهذا إذا أمكن.
MaxLevelStore=, MaxLevelSyslog=, MaxLevelKMsg=, MaxLevelConsole=, MaxLevelWall=, MaxLevelSocket=
أُضيف في الإصدار 185.
ReadKMsg=
أُضيف في الإصدارة 235.
Audit=
يرجى ملاحظة أن هذا الخيار لا يتحكم في ما إذا كان systemd-journald يجمع سجلات التدقيق المُنشأة، بل يقتصر دوره على توجيه النواة لإنشائها. إذا كنت بحاجة إلى منع systemd-journald من جمع الرسائل المُنشأة، فيمكن تعطيل وحدة المقبس ”systemd-journald-audit.socket“، وفي هذه الحالة، لن يكون لهذا الإعداد أي تأثير.
أُضيف في الإصدار 246.
TTYPath=
أُضيف في الإصدار 185.
LineMax=
أُضيف في الإصدارة 235.
التوجيه إلى شياطين سيسلوغ التقليدية¶
يمكن نقل أحداث اليوميات إلى شيطان تسجيل مختلف بطريقتين مختلفتين. في الطريقة الأولى، تُوجّه الرسائل فورًا إلى مقبس (/run/systemd/journal/syslog)، حيث يمكن لشيطان سيسلوغ التقليدي قراءتها. تُتحكم هذه الطريقة بواسطة الخيار ForwardToSyslog=. في الطريقة الثانية، يتصرف شيطان سيسلوغ كعميل يوميات عادي، ويقرأ الرسائل من ملفات اليوميات، بشكل مشابه لـ journalctl(1). بهذا، لا يجب قراءة الرسائل فورًا، مما يسمح لشيطان التسجيل الذي يُبدأ متأخرًا في الإقلاع بالوصول إلى جميع الرسائل منذ بدء النظام. بالإضافة إلى ذلك، تتوفر له بيانات وصفية هيكلية كاملة. هذه الطريقة متاحة بالطبع فقط إذا كانت الرسائل مخزنة في ملف يوميات على الإطلاق. لذا لن تعمل إذا تم تعيين Storage=none. يجب ملاحظة أن الطريقة الثانية تُستخدم عادةً بواسطة شياطين سيسلوغ، لذا فإن الخيار Storage=، وليس الخيار ForwardToSyslog=، هو ذو صلة لهم.
انظر أيضًا¶
systemd(1), systemd-journald.service(8), journalctl(1), systemd.journal-fields(7), systemd-system.conf(5)
ملاحظات¶
- 1.
- 💣💥🧨💥💥💣 يرجى ملاحظة أن ملفات الضبط تلك يجب أن تكون متوفرة في جميع الأوقات. إذا كان /usr/local/ قسماً منفصلاً، فقد لا يكون متوفراً أثناء بدء التشغيل المبكر، ويجب عدم استخدامه للضبط.
- 2.
- مولّدات المفاتيح المتسلسلة القابلة للبحث
- 3.
- المستخدمون، والمجموعات، و UIDs و GIDs على أنظمة systemd
- 4.
- تنسيق تصدير اليوميات
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 260.1 |