تفعيل تدوير السجلّ لمكوّنات Edge

إنّ تدوير السجلات - عملية تدوير ملفات سجلات متعددة داخل وخارج الاستخدام - يبسّط إدارة الأنظمة التي تنشئ أعدادًا كبيرة من ملفات السجلات. يتيح ميزة "تدوير السجلّ" إمكانية تدوير ملفات السجلّ وضغطها وإزالتها وإرسالها بالبريد تلقائيًا.

في شبكة 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 * * * *

لضبط تجاوز الإعدادات:

  1. تأكَّد من أنّ مستخدم apigee يمكنه قراءة الملف.
  2. طبِّق جدول 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//logrotate/logrotate.cron. على سبيل المثال، في حالة edge-message-processor، يُعرف هذا الملف باسم $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. يتضمّن هذا الملف إدخال cron والأمر الذي ينفذه Apigee لتدوير السجلّ. إذا كنت تريد استخدام logrotate ولكنّك لا تريد استخدام إعدادات Apigee، يمكنك إنشاء ملف إعداد logrotate الخاص بك واستخدام أمر logrotate مشابه لتنفيذ تدوير السجلّ.