چرخش گزارش -فرایند چرخش چندین فایل log در داخل و خارج از استفاده- مدیریت سیستم هایی را که تعداد زیادی فایل گزارش تولید می کنند، ساده می کند. چرخش گزارش چرخش، فشردهسازی، حذف و ارسال خودکار فایلهای گزارش را قادر میسازد.
در 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-*
همچنین یک فایل گزارش اضافی تولید میکنند که خروجی هدایتشده کنسول مؤلفه مربوطه است. در مورد مولفه Message Processor، این فایل /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
نامیده می شود. سایر اجزای edge-*
یک فایل مشابه تولید می کنند. چرخش این فایل ها توسط کتابخانه logback انجام نمی شود، بلکه با استفاده از logrotate
و crontab
انجام می شود.قبل از شروع
- اگر با تنظیمات
logrotate
آشنا نیستید، راهنمای logrotate را بخوانید. - اگر با تنظیمات
crontab
آشنایی ندارید، راهنمای crontab را بخوانید.
چرخش گزارش را فعال کنید
با شروع Edge for Private Cloud نسخه 4.52، هنگامی که یک مؤلفه edge-*
نصب می کنید، یک ورودی crontab
برای چرخش این گزارش به طور خودکار در crontab
کاربر apigee
ایجاد می شود. این کار cron به طور پیش فرض هر ساعت اجرا می شود و از ابزار logrotate
برای چرخاندن گزارش ها استفاده می کند. اگر چندین مؤلفه edge-*
روی یک گره نصب شده باشد (مثلاً در یک نصب همه کاره، یا اگر روتر و پردازشگر پیام روی یک گره نصب شده باشند)، هر مؤلفه ورودی cron خود را برای چرخش خواهد داشت. سیاهههای مربوط به آن
یادداشت ها:
- اگر در حین نصب کامپوننت
edge-*
، نمیخواهید به طور خودکار یک cronjoblogrotate
راهاندازی کنید، پرچم «ENABLE_LOGROTATE=n» را در فایل پیکربندی بیصدا خود که برای نصب استفاده میکنید، تنظیم کنید. اگر کار cron در حین نصب تنظیم نشد، میتوانید بعداً با دنبال کردن مراحل برای فعال کردن cronlogrotate
یک جزء، آن را تنظیم کنید. - برای کامپوننت
edge-router
، یک کار cronlogrotate
اضافی نیز به طور پیش فرض پیکربندی شده است. این کرون لاگ های دسترسی و خطاهای ایجاد شده توسط 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
پیدا کرد.
کرون 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
یک جزء را غیرفعال کنید
$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
خاص را تغییر دهید
در گرهای که میخواهید برنامه 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 |
فایل override مناسب را باز کنید و تنظیمات زیر را لغو کنید. مثال زیر کار cron را لغو می کند تا در دقیقه 0 هر ساعت اجرا شود.
conf_logrotate_cron_duration=0 * * * *
برای تنظیم لغو تنظیمات:
- اطمینان حاصل کنید که فایل توسط کاربر
apigee
قابل خواندن است. - برنامه 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 | تعداد چرخش پیش فرض: "5" |
conf_logrotate_compress | فشرده سازی فایل های چرخانده شده. پیش فرض: "فشرده کردن" |
conf_logrotate_compress_type | نوع فشرده سازی. پیش فرض: "تاخیر فشرده". فشرده سازی آخرین فایل چرخانده شده را به چرخه logrotate بعدی موکول می کند. |
conf_logrotate_size | محدودیت اندازه لاگ برای چرخش. پیش فرض: "10M" |
از مکانیسم چرخش log و cron خود استفاده کنید
اگر الزامات شما برای چرخش <component>.log با پیکربندی های ارائه شده توسط Apigee برآورده نمی شود، شما از مکانیسم چرخش گزارش خود با استفاده از ابزارهایی مانند logrotate یا موارد دیگر استفاده می کنید. به عنوان مثال، تنظیمات ارائه شده توسط Apigee به شما امکان میدهد گزارشها را بر اساس اندازه بچرخانید، اما میخواهید گزارشها را بر اساس تاریخ/زمان یا عوامل دیگر بچرخانید. در چنین مواردی، شما باید cron logrotate
ارائه شده توسط Apigee را غیرفعال کنید و در صورت نیاز cron job های خود را تنظیم کنید.
اگر نیاز به مراجعه به ورودی cron log rotation Apigee دارید، می توانید آن را در فایل $APIGEE_ROOT/ /logrotate/logrotate.cron
پیدا کنید.$APIGEE_ROOT/ /logrotate/logrotate.cron
. به عنوان مثال، در مورد edge-message-processor
، این فایل $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
نامیده می شود. این فایل شامل ورودی cron و دستوری است که توسط Apigee برای چرخش log اجرا شده است. اگر می خواهید از logrotate
استفاده کنید اما نمی خواهید از تنظیمات Apigee استفاده کنید، می توانید فایل پیکربندی logrotate
خود را ایجاد کنید و از یک دستور logrotate
مشابه برای انجام چرخش log استفاده کنید.