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

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

در Edge for Private Cloud، برخی‌از فایل‌های گزارش اصلی در هر apigee مؤلفه با سازوکار چرخش پیش‌فرض پیکربندی شده‌اند. برای مثال، در مؤلفه Message Processor، فایل‌های زیر با سازوکار چرخش پیش‌فرض بااستفاده از 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 را بخوانید.

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

Starting with Edge for Private Cloud version 4.52, when you install an edge-* component, a crontab entry for rotating this log is automatically created in the apigee user's crontab. این cron job به‌طور پیش‌فرض هر ساعت اجرا می‌شود و از ابزار logrotate برای چرخش گزارش‌ها استفاده می‌کند. If multiple edge-* components are installed on the same node (for example, in an all-in-one installation, or if the router and message-processor are installed on one node), every component will have its own cron entry for rotating its respective logs.

نکته‌ها:

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

برای مثال، برای مشاهده cron مربوط به logrotate edge-message-processor، این دستور را اجرا کنید:

$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 پیدا کرد.

فعال کردن cron logrotate مؤلفه

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

برای مثال، برای فعال کردن cron logrotate مربوط به edge-message-processor، این دستور را اجرا کنید:

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

غیرفعال کردن logrotate cron مؤلفه

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

برای مثال، برای غیرفعال کردن cron مربوط به logrotate edge-message-processor، این دستور را اجرا کنید:

$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 job را لغو می‌کند تا در دقیقه صفرم هر ساعت اجرا شود.

conf_logrotate_cron_duration=0 * * * *

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

  1. مطمئن شوید فایل برای کاربر apigee خوانا باشد.
  2. زمان‌بندی cron جدیدتر را برای مؤلفه اعمال کنید:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

برای مثال، برای اعمال زمان‌بندی cron جدیدتر به logrotate edge-message-processor، این دستور را وارد کنید:

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

برای تأیید اینکه تغییرات اعمال شده است، ورودی‌های cron را بررسی کنید یا ورودی cron مؤلفه logrotate را مشاهده کنید.

پیکربندی‌های logrotate بیشتر

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

پیکربندی شرح
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 فشرده کردن یا نکردن فایل‌های چرخیده. پیش‌فرض: «compress»
conf_logrotate_compress_type نوع فشرده‌سازی. پیش‌فرض: «delaycompress». فشرده‌سازی جدیدترین فایل چرخشی را به چرخه logrotate بعدی موکول می‌کند.
conf_logrotate_size حد اندازه گزارش برای چرخش. پیش‌فرض: «10M»

از سازوکار چرخش گزارشات و 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 مشابهی برای انجام چرخش گزارشات استفاده کنید.