فعال کردن چرخش گزارش برای عناصر Edge

چرخش گزارش—فرایند چرخاندن چندین فایل گزارش در داخل و خارج از استفاده— مدیریت سیستم‌هایی را که تعداد زیادی فایل گزارش تولید می‌کنند ساده می‌کند. چرخش گزارشات امکان چرخش خودکار، فشرده‌سازی، برداشتن، و ارسال فایل‌های گزارش را فراهم می‌کند.

در Edge for Private Cloud، برخی‌از فایل‌های گزارش اصلی در هر apigee جزء با سازوکار چرخش پیش‌فرض پیکربندی می‌شوند. برای مثال، در عنصر «پردازشگر پیام»، فایل‌های زیر با سازوکار چرخش پیش‌فرض بااستفاده از logback پیکربندی می‌شوند:

  • /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-* فایل مشابهی تولید می‌کنند. چرخش این فایل‌ها توسط کتابخانه logback انجام نمی‌شود، بلکه بااستفاده از logrotate و crontab انجام می‌شود.

قبل‌از شروع

  • اگر با پیکربندی‌های logrotate آشنا نیستید، راهنمای logrotate را بخوانید.
  • اگر با پیکربندی‌های crontab آشنا نیستید، راهنمای crontab را بخوانید.

فعال کردن چرخش گزارش

از نسخه ۴.۵۲ Edge for Private Cloud، وقتی edge-* عنصری را نصب می‌کنید، ورودی crontab برای چرخش این گزارش به‌طور خودکار در apigee کاربر crontab ایجاد می‌شود. این کار cron به‌طور پیش‌فرض هر ساعت اجرا می‌شود و از ابزار logrotate برای چرخش گزارش‌ها استفاده می‌کند. اگر چندین عنصر edge-* در یک گره نصب شده باشد (برای نمونه، در نصب همه‌کاره، یا اگر روتر و پردازشگر پیام در یک گره نصب شده باشد)، هر عنصر ورودی cron خود را برای چرخاندن گزارش‌های مربوطه خواهد داشت.

نکته‌ها:

  • اگر درطول نصب مؤلفه edge-* نمی‌خواهید کار cronjob logrotate به‌طور خودکار راه‌اندازی شود، پرچم «ENABLE_LOGROTATE=n» را در فایل پیکربندی بی‌صدایی که برای نصب استفاده می‌کنید تنظیم کنید. اگر کار cron درطول نصب تنظیم نشود، می‌توانید آن را بعداً با دنبال کردن مراحل فعال کردن cron logrotate عنصر تنظیم کنید.
  • برای عنصر 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 cron پردازشگر پیام لبه، این را اجرا کنید:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

مشاهده پیکربندی logrotate عنصر

پیکربندی logrotate عنصر را می‌توانید در فایل $APIGEE_ROOT/<component>/logrotate/logrotate.conf پیدا کنید. برای مثال، در مورد edge-message-processor، پیکربندی logrotate گره را می‌توان در $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf پیدا کرد.

فعال کردن logrotate 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

غیرفعال کردن 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

تغییر برنامه زمانی کرون فرمان logrotate خاص

در گرهی که می‌خواهید برنامه زمانی logrotate cron را تغییر دهید، فایل رونویسی پیکربندی مؤلفه مربوطه را باز کنید. فایل‌های ملغی‌کننده پیکربندی عنصر 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 را لغو می‌کند تا در دقیقه ۰ هر ساعت اجرا شود.

conf_logrotate_cron_duration=0 * * * *

برای تنظیم کردن ملغی کردن پیکربندی:

  1. مطمئن شوید فایل برای کاربر apigee خوانا باشد.
  2. برنامه زمان‌بندی کرون جدیدتر را برای عنصر اعمال کنید:
    $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 را بررسی کنید یا ورودی cron logrotate عنصر را مشاهده کنید.

‫logrotate پیکربندی دیگر

مشابه مراحل فهرست‌شده در بخش بالا برای اصلاح برنامه زمانی کرون، می‌توانید پیکربندی‌های اضافی را نیز اصلاح کنید. جدول زیر این پیکربندی‌ها را شرح می‌دهد:

پیکربندی شرح
conf_logrotate_bin_location مکان دودویی logrotate. پیش‌فرض: /usr/sbin/logrotate
conf_logrotate_status_file فایل وضعیت وضعیت زمان اجرای logrotate را ضبط می‌کند - نشان می‌دهد کاربر apigee اجازه‌های خواندن/نوشتن دارد. پیش‌فرض: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs کدام گزارش‌ها چرخانده شود. می‌تواند شامل نویسه‌های عام باشد. پیش‌فرض: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate تعداد چرخش‌ها. پیش‌فرض: «۵»
conf_logrotate_compress فایل‌های چرخانده‌شده فشرده شود یا نه. پیش‌فرض: «فشرده کردن»
conf_logrotate_compress_type نوع فشرده‌سازی. پیش‌فرض: «delaycompress». فشرده‌سازی آخرین فایل چرخانده‌شده را به چرخه بعدی logrotate به‌تعویق می‌اندازد.
conf_logrotate_size حد مجاز اندازه گزارش برای چرخش. پیش‌فرض: «۱۰ میلیون»

از سازوکار چرخش گزارش و cron خودتان استفاده کنید

اگر الزامات شما برای چرخش <component>.log با پیکربندی‌های ارائه‌شده توسط Apigee برآورده نمی‌شود، از سازوکار چرخش گزارش خودتان بااستفاده از ابزارهایی مثل logrotate یا ابزارهای دیگر استفاده کنید. برای مثال، پیکربندی‌های ارائه‌شده توسط Apigee به شما امکان می‌دهد گزارش‌ها را براساس اندازه بچرخانید اما می‌خواهید گزارش‌ها را براساس تاریخ/زمان یا عوامل دیگر بچرخانید. در چنین مواردی، باید کرون logrotate ارائه‌شده توسط Apigee را غیرفعال کنید و کرون‌جاب‌های خودتان را درصورت نیاز راه‌اندازی کنید.

اگر نیاز دارید به ورودی cron چرخش گزارش Apigee مراجعه کنید، می‌توانید آن را در فایل $APIGEE_ROOT//logrotate/logrotate.cron پیدا کنید. برای مثال، در مورد edge-message-processor، این فایل $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron نامیده می‌شود. این فایل شامل هم ورودی cron و هم فرمان اجراشده توسط Apigee برای چرخش گزارش است. اگر می‌خواهید از logrotate استفاده کنید اما نمی‌خواهید از پیکربندی‌های Apigee استفاده کنید، می‌توانید فایل پیکربندی logrotate خودتان را ایجاد کنید و از فرمان logrotate مشابهی برای انجام چرخش گزارش استفاده کنید.