پس از فعال شدن ثبت وقایع، شما مسئول تنظیم نحوه مسیریابی، ذخیره و نگهداری گزارشهای خود هستید. اگر از محدودیتهای استفاده و نگهداری بدون هزینه تجاوز کنید، ممکن است هزینههای اضافی Google Cloud برای دریافت و نگهداری گزارشها متحمل شوید. به قیمتگذاری Google Cloud Observability مراجعه کنید.
با این حال، میتوانید هزینههای ثبت وقایع را با استفاده از هر یک از رویکردهای زیر که در بخشهای بعدی توضیح داده شده است، کنترل کنید.
کاهش استفاده از لاگها
شما میتوانید با حذف برخی از ورودیهای لاگ، میزان دادههای لاگ مصرفی را محدود کنید. برای جزئیات بیشتر به بخش حذف لاگها مراجعه کنید.
مثالهای زیر سناریوهای رایج Fleet Engine و نحوه فیلتر کردن پیامهای لاگ خاص برای کاهش هزینهها را نشان میدهند.
فیلتر بر اساس روش
شما میتوانید متدهای فقط خواندنی را فیلتر کنید، زیرا این متدها معمولاً برای تحلیل دادهها یا عیبیابی نیازی به آنها نیست.
دستور زیر، logging bucket _Default را بهروزرسانی میکند تا لاگهای GetVehicle را حذف کند.
gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetVehicle,\
filter='jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetVehicleLog"'
دستور زیر، باکت ثبت وقایع _Default را بهروزرسانی میکند تا وقایع GetTrip حذف کند.
gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetTrip,filter=\
'jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetTripLog"'
یک ویژگی اشکالزدایی ایجاد کنید
شما میتوانید با تنظیم ویژگی debug گزارشها را فقط به خودروهای خاص کاهش دهید. هر خودرویی که ویژگی debug را نداشته باشد، اکنون حذف خواهد شد.
دستور زیر، logging bucket _Default را بهروزرسانی میکند تا خودروهایی که ویژگی debug ندارند را از گزارشهای UpdateVehicle حذف کند.
gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineNonDebug,\
filter='resource.type="fleetengine.googleapis.com/Fleet"
log_name:"logs/fleetengine.googleapis.com%2Fupdate_vehicle"
jsonPayload.@type="type.googleapis.com/maps.fleetengine.v1.UpdateVehicleLog"
NOT jsonPayload.response.attributes.key="debug"'
فیلتر کردن گزارشهای خالی استفاده محدود
وقتی این گزینه فعال باشد، لاگهای استفاده محدود برای هر لاگ معمولی یک لاگ فرزند ایجاد میکنند، حتی اگر عملیات فیلدهای محدود شده را پر نکند. فیلتر کردن این لاگهای محدود خالی میتواند هزینهها را کاهش دهد.
دستور زیر، مخزن ثبت وقایع RestrictedLogs را بهروزرسانی میکند تا گزارشهای UpdateVehicle خالی و محدود شده را حذف کند.
gcloud logging sinks update RestrictedLogs \
--add-exclusion=name=ExcludeFleetengineEmptyRestrictedVehicleLogs,\
filter='resource.type="fleetengine.googleapis.com/Fleet"
log_name:"logs/fleetengine.googleapis.com%2Fupdate_vehicle_restricted"
NOT jsonPayload.request.vehicle.currentRouteSegment:*
NOT jsonPayload.response.currentRouteSegment:*
NOT jsonPayload.response.waypoints:*'
خروجی گرفتن یا مسیردهی لاگها
شما میتوانید لاگها را به سایر سرویسهای ابری گوگل یا مقاصد خارجی هدایت کنید تا از هزینههای پیشفرض ذخیرهسازی و مصرف دادهها جلوگیری شود. برای جلوگیری از هزینههای مصرف دادهها، حتماً قابلیت مصرف لاگ را همانطور که در بخش بعدی توضیح داده شده است، غیرفعال کنید.
به بخش خروجیهای ثبت وقایع ابری و خروجی گرفتن از گزارشها مراجعه کنید.
غیرفعال کردن دریافت لاگ
اگر قصد استفاده از گزارشهای Fleet Engine را ندارید، میتوانید با خاموش کردن ingestion از هزینههای احتمالی Cloud Logging جلوگیری کنید. به طور پیشفرض، گزارشهای Fleet Engine به سطل گزارش _Default هدایت میشوند.
دستور زیر، مخزن ثبت وقایع پیشفرض _Default را بهروزرسانی میکند تا دیگر وقایع ثبتشده توسط موتور ناوگان (Fleet Engine) را دریافت نکند.
gcloud logging sinks update _Default \
--log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity")
AND NOT LOG_ID("externalaudit.googleapis.com/activity")
AND NOT LOG_ID("cloudaudit.googleapis.com/system_event")
AND NOT LOG_ID("externalaudit.googleapis.com/system_event")
AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency")
AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
AND NOT resource.type:"fleetengine.googleapis.com"'
همچنین به چهار مرحله برای مدیریت هزینههای ثبت وقایع ابری خود با بودجهی محدود مراجعه کنید.