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

چرخش گزارش -فرایند چرخش چندین فایل 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 انجام می شود.

قبل از اینکه شروع کنی

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

با شروع Edge for Private Cloud نسخه 4.52، هنگامی که یک مؤلفه edge-* را نصب می کنید، یک ورودی crontab برای چرخش این گزارش به طور خودکار در crontab کاربر apigee ایجاد می شود. این کار cron به طور پیش فرض هر ساعت اجرا می شود و از ابزار logrotate برای چرخاندن گزارش ها استفاده می کند. اگر چندین مؤلفه edge-* روی یک گره نصب شده باشد (مثلاً در یک نصب همه کاره، یا اگر روتر و پردازشگر پیام روی یک گره نصب شده باشند)، هر مؤلفه ورودی cron خود را برای چرخش خواهد داشت. سیاهههای مربوط به آن

یادداشت:

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

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

  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 تعداد چرخش پیش فرض: "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 استفاده کنید.