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