إنّ تدوير السجلات - عملية تدوير ملفات سجلات متعددة داخل وخارج الاستخدام - يبسّط إدارة الأنظمة التي تنشئ أعدادًا كبيرة من ملفات السجلات. يتيح ميزة "تدوير السجلّ" إمكانية تدوير ملفات السجلّ وضغطها وإزالتها وإرسالها بالبريد تلقائيًا.
في شبكة Edge الخاصة بالسحابة الإلكترونية الخاصة، يتم ضبط بعض ملفات السجلّ الرئيسية على كل مكوِّن apigee
باستخدام آلية تدوير تلقائية. على سبيل المثال، في مكوِّن معالج الرسائل، يتم إعداد الملفات التالية بآلية تدوير تلقائية باستخدام وظيفة الرجوع:
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
وتتوفّر ملفات مشابهة لمكوّنات edge-*
الأخرى (التي تبدأ أسماؤها بـ edge-
)، مثل edge-management-server
وedge-router
وedge-postgres-server
وedge-qpid-server
.
edge-*
هذه أيضًا ملف سجل إضافيًا يكون نتيجة تمت إعادة توجيهها لوحدة تحكُّم المكوِّن ذي الصلة. بالنسبة إلى مكوّن "معالج الرسائل"،
يُعرف هذا الملف باسم /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
.
تنشئ مكوّنات edge-*
الأخرى ملفًا مشابهًا. لا يتم تغيير هذه الملفات من خلال مكتبة السجلات، بل باستخدام logrotate
وcrontab
.
قبل البدء
- إذا لم تكن على دراية بإعدادات
logrotate
، يُرجى الاطّلاع على دليل تدوير التسجيل. - إذا لم تكن على دراية بإعدادات
crontab
، يمكنك الاطّلاع على دليل crontab.
تفعيل عمليات تدوير السجلّات
بدءًا من إصدار 4.52 من Edge الخاص بخدمة Private Cloud، وعند تثبيت مكوِّن edge-*
، يتم تلقائيًا إنشاء إدخال crontab
لتدوير هذا السجلّ في crontab
الخاصة بمستخدم apigee
. تعمل مهمة cron هذه كل
ساعة بشكل تلقائي، وتستخدم الأداة المساعدة logrotate
لتدوير السجلات. إذا تم تثبيت عدة مكوِّنات edge-*
في العقدة نفسها (على سبيل المثال، في عملية تثبيت شاملة، أو إذا تم تثبيت جهاز التوجيه ومعالج الرسائل في عقدة واحدة)، سيكون لكل مكوِّن إدخال cron خاص به لتدوير السجلات المرتبطة به.
ملاحظات:
- إذا كنت لا تريد إعداد cronjob
logrotate
أثناء تثبيت المكوِّنedge-*
، يمكنك ضبط العلامة ENABLE_LOGROTATE=n في ملف الإعداد الصامت الذي تستخدمه في التثبيت. إذا لم يتم ضبط مهمة cron أثناء التثبيت، يمكنك إعدادها لاحقًا باتّباع خطوات تفعيلlogrotate
cron للمكوِّن. - بالنسبة إلى المكوِّن
edge-router
، يتم أيضًا ضبط مهمة cron إضافيةlogrotate
تلقائيًا. تعمل cron هذه على تدوير سجلات الوصول والأخطاء التي ينشئها Nginx.
توضّح الأمثلة التالية عمليات الضبط والعمليات الإدارية المختلفة التي يمكنك تنفيذها.
عرض إدخالات cron على العقدة
sudo crontab -u apigee -l
عرض إدخال cron logrotate
للمكوِّن
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
على سبيل المثال، لعرض شريط logrotate
لمعالج الرسائل الحافة، شغِّل:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
عرض إعدادات logrotate
للمكوِّن
يمكن العثور على إعداد logrotate
للمكوِّن في الملف $APIGEE_ROOT/<component>/logrotate/logrotate.conf
.
على سبيل المثال، في حالة معالج Edge-message-"، يمكن العثور على إعدادات logrotate
للعقدة في $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
تفعيل cron logrotate
للمكوِّن
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
على سبيل المثال، لتفعيل cron logrotate
لمعالج رسائل Edge، شغِّل:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
إيقاف cron logrotate
للمكوِّن
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
على سبيل المثال، لإيقاف logrotate
cron لمعالج الرسائل الحافة، شغِّل:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
تغيير الجدول الزمني cron لطلب معيّن من logrotate
في العقدة التي تريد فيها تغيير جدول cron logrotate
، افتح ملف إلغاء إعداد المكوِّن المعني. يتم عرض ملفات إلغاء إعداد المكوِّن edge-*
في الجدول أدناه:
المكوِّن | ملف تجاوز الإعدادات |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
افتح ملف التجاوز المناسب واضبط عمليات تجاوز الإعدادات التالية. يلغي المثال أدناه مهمة cron التي يتم تشغيلها عند الدقيقة 0 من كل ساعة.
conf_logrotate_cron_duration=0 * * * *
لضبط تجاوز الإعدادات:
- تأكَّد من أنّ مستخدم
apigee
يمكنه قراءة الملف. - طبِّق جدول cron الأحدث على المكوِّن:
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
على سبيل المثال، لتطبيق جدول cron أحدث على logrotate
لمعالج رسائل الحافة، أدخِل:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
للتحقّق من تطبيق التغييرات، عليك التحقّق من إدخالات cron أو عرض إدخال
logrotate
cron للمكوِّن.
إعدادات logrotate
الإضافية
كما هي الحال مع الخطوات الواردة في القسم أعلاه لتعديل جدول cron، يمكنك أيضًا تعديل إعدادات إضافية. ويوضّح الجدول التالي عمليات الضبط هذه:
الإعدادات | الوصف |
---|---|
conf_logrotate_bin_location |
تمثّل هذه السمة موقع النظام الثنائي اللوغاريتمي. عناوين URL التلقائية: /usr/sbin/logrotate |
conf_logrotate_status_file |
ملف الحالة الذي يلتقط حالة وقت التشغيل لتدوير السجل - يحتوي العرض على أذونات القراءة/الكتابة لمستخدم apigee . اللغة التلقائية: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
السجلات المطلوب تدويرها. ويمكن أن تتضمن أحرف البدل. اللغة التلقائية:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
عدد مرات التدوير. القيمة التلقائية: "5" |
conf_logrotate_compress |
لتحديد ما إذا كان سيتم ضغط الملفات التي تم تدويرها أم لا. الإعداد التلقائي: "ضغط" |
conf_logrotate_compress_type |
نوع الضغط الإعداد التلقائي: "delaycompress"، وهو يؤدي إلى تأجيل ضغط آخر ملف تم تدويره إلى دورة التدوير التالية. |
conf_logrotate_size |
الحد الأقصى لحجم السجل للتدوير. القيمة التلقائية: "10 مليون" |
استخدِم آلية تدوير السجل وcron الخاصة بك
في حال عدم استيفاء متطلباتك لتدوير ملف <component>.log من خلال الإعدادات التي توفّرها Apigee، يمكنك استخدام الآلية الخاصة بك لتدوير السجلّ باستخدام أدوات مثل تدوير السجل أو غير ذلك. على سبيل المثال، تتيح لك الإعدادات التي يوفّرها Apigee تدوير السجلات حسب الحجم، ولكنّك تريد تدوير السجلات استنادًا إلى التاريخ/الوقت أو عوامل أخرى. وفي مثل هذه الحالات، يجب
إيقاف cron logrotate
الذي توفّره Apigee وإعداد مهام cron الخاصة بك حسب الحاجة.
إذا كنت بحاجة إلى الرجوع إلى إدخال cron لتدوير السجلّ في Apigee، يمكنك العثور عليه في الملف $APIGEE_ROOT/
. على سبيل المثال، في حالة edge-message-processor
، يُعرف هذا الملف باسم $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
. يتضمّن هذا الملف إدخال cron والأمر الذي ينفذه Apigee لتدوير السجلّ. إذا كنت تريد استخدام logrotate
ولكنّك لا تريد استخدام إعدادات Apigee، يمكنك إنشاء ملف إعداد logrotate
الخاص بك واستخدام أمر logrotate
مشابه لتنفيذ تدوير السجلّ.