چرخش گزارش—فرایند چرخاندن چندین فایل گزارش در داخل و خارج از استفاده— مدیریت سیستمهایی را که تعداد زیادی فایل گزارش تولید میکنند ساده میکند. چرخش گزارشات امکان چرخش خودکار، فشردهسازی، برداشتن، و ارسال فایلهای گزارش را فراهم میکند.
در 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-*نمیخواهید کار cronjoblogrotateبهطور خودکار راهاندازی شود، پرچم «ENABLE_LOGROTATE=n» را در فایل پیکربندی بیصدایی که برای نصب استفاده میکنید تنظیم کنید. اگر کار cron درطول نصب تنظیم نشود، میتوانید آن را بعداً با دنبال کردن مراحل فعال کردن cronlogrotateعنصر تنظیم کنید. - برای عنصر
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 * * * *
برای تنظیم کردن ملغی کردن پیکربندی:
- مطمئن شوید فایل برای کاربر
apigeeخوانا باشد. - برنامه زمانبندی کرون جدیدتر را برای عنصر اعمال کنید:
$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/ پیدا کنید. برای مثال، در مورد
edge-message-processor، این فایل
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron نامیده میشود. این فایل
شامل هم ورودی cron و هم فرمان اجراشده توسط Apigee برای چرخش گزارش است. اگر میخواهید از logrotate استفاده کنید اما نمیخواهید از پیکربندیهای Apigee استفاده کنید، میتوانید فایل پیکربندی logrotate خودتان را ایجاد کنید و از فرمان logrotate مشابهی برای انجام چرخش گزارش استفاده کنید.