پرش به مطلب اصلی

متریک‌های صندوقچه

قابلیت Metric Exporter برای ساده کردن فرآیند جمع‌آوری و تجزیه و تحلیل داده‌های صندوقچه‌ها طراحی شده است و به شما کمک می‌کند با استفاده از روشی سریع و کارآمد اطلاعاتی کاربردی از عملکرد، رفتار و خطاهای صندوقچه‌ی خود به‌دست آورید. این ابزار به‌طور خودکار با پردازش لاگ‌های شما، متریک‌های مختلفی را تولید می‌کند که می‌توانید با استفاده از آن‌ها در برنامه‌هایی نظیر Grafana ،Prometheus و Splunk نمودارها و گزارش‌های متنوعی بسازید.

فرمت ارسالی این داده‌ها Plain Text است.

متریک‌های صندوقچه‌ نسبت به ارسال لاگ متفاوت عمل می‌کند. لاگ‌ها به‌دلیل حجم زیاد به فضای ذخیره‌سازی بیش‌تری نیاز دارند، در حالی که متریک‌ها ساختاریافته و سبک‌تر هستند. از طرف دیگر، لاگ‌ها بیش‌تر برای عیب‌یابی و تحلیل جزییات رویدادها استفاده می‌شوند، اما متریک‌ها برای نظارت، هشداردهی و تحلیل الگوها و روندها مناسب هستند.

متریک‌های ارسالی

با استفاده از قابلیت متریک‌های صندوقچه‌ می‌توانید Access Metrics صندوقچه‌های‌تان را دریافت کنید.

متریک‌های Accessتوضیحنوعبرچسببازه به‌روزرسانی
storage_bucket_operation_duration_msتوزیع فراوانی مدت‌زمان عملیات باکت (Get ،Put و...) به میلی‌ثانیهhistograminstance, bucket, operation, le۶۰ ثانیه
storage_bucket_object_countتعداد کل آبجکت‌های ذخیره‌شده در باکت در حال حاضرgaugeinstance, bucket۶۰ ثانیه
storage_bucket_size_bytesحجم کل آبجکت‌های ذخیره شده در باکت به بایتgaugeinstance, bucket۶۰ ثانیه
storage_bucket_send_bytes_totalمجموع تجمعی بایت‌های ارسال‌شده از باکت (مانند دانلود و خواندن)counterinstance, bucket۶۰ ثانیه
storage_bucket_receive_bytes_totalمجموع تجمعی بایت‌های دریافت‌شده توسط باکت (مانند آپلود و نوشتن)counterinstance, bucket۶۰ ثانیه

مدیریت متریک‌های صندوقچه در پنل

از پنل کاربری آروان وارد بخش «فضای» شوید و «متریک‌های صندوقچه» را انتخاب کنید.

روی دکمه‌ی «+ متریک» کلیک کنید.

در این صفحه، صندوقچه‌ای که می‌خواهید متریک‌های آن را دریافت کنید، نوع لاگ و بازه‌ی جمع‌آوری را انتخاب و روی دکمه‌ی «ذخیره» کلیک کنید.

سپس می‌توانید متریک‌ها را فعال یا غیرفعال کنید، آن‌ها را ویرایش، مدیریت و یا حذف کنید.

مدیریت متریک‌های صندوقچه با API

برای کار با API متریک‌های صندوقچه می‌توانید از مستندات API این قابلیت استفاده کنید. پیش از استفاده از API باید در پنل کاربری یک کلید دسترسی بسازید. این کار را می‌توانید با ایجاد و دریافت کلید دسترسی انجام دهید.

کلید دسترسی‌ای را که در این مرحله دریافت می‌کنید در جایی امن ذخیره کنید.

دریافت لیست متریک‌های صندوقچه

برای دریافت لیست متریک‌های صندوقچه از طریق API می‌توانید از نمونه درخواست زیر استفاده کنید:

curl --request GET \
--url https://storage.arvanapis.ir/v1/buckets/{bucketName}/metrics \
--header 'Authorization: [apikey]'


توجه داشته باشید که باید به‌جای [apikey] کلید API خود را با فرمت Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx قرار دهید.

پاسخ این درخواست به‌شکل زیر خواهد بود:

# HELP storage_bucket_download_traffic_bytes Cumulative total number of bytes sent from the bucket (e.g., downloads, reads)
# TYPE storage_bucket_download_traffic_bytes counter
storage_bucket_download_traffic_bytes{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",region="ir-thr-at1"} 3.403539979e+09
# HELP storage_bucket_objects_total Current total number of objects stored in the bucket
# TYPE storage_bucket_objects_total gauge
storage_bucket_objects_total{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",region="ir-thr-at1"} 973
# HELP storage_bucket_operation_duration_milliseconds Duration in milliseconds of bucket operations (get, put, delete, list, etc.) tracked as a histogram
# TYPE storage_bucket_operation_duration_milliseconds histogram
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="5"} 0
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="10"} 0
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="25"} 0
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="50"} 1
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="100"} 2
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="250"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="500"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="1000"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="2500"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="5000"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="10000"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="30000"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="abort_multipart",region="ir-thr-at1",le="60000"} 3
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="put_obj",region="ir-thr-at1",le="60000"} 2307
storage_bucket_operation_duration_milliseconds_bucket{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="put_obj",region="ir-thr-at1",le="+Inf"} 2308
storage_bucket_operation_duration_milliseconds_sum{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="put_obj",region="ir-thr-at1"} 6.574638e+06
storage_bucket_operation_duration_milliseconds_count{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",operation="put_obj",region="ir-thr-at1"} 2308
# HELP storage_bucket_size_bytes Current total size in bytes of all objects stored in the bucket
# TYPE storage_bucket_size_bytes gauge
storage_bucket_size_bytes{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",region="ir-thr-at1"} 3.985408e+06
# HELP storage_bucket_upload_traffic_bytes Cumulative total number of bytes received by the bucket (e.g., uploads, writes)
# TYPE storage_bucket_upload_traffic_bytes counter
storage_bucket_upload_traffic_bytes{bucket="bucketname",instance="d6d2xxxx-xxxx-xxxx-xxxx-bcexxxx",region="ir-thr-at1"} 6.361366432e+09

اضافه کردن متریک به Prometheus

برای اضافه کردن متریک به سرویس Prometheus کافی است در فایل پیکربندی prometheus.yml این بخش را اضافه کنید:

  - job_name: 'Arvan_s3_metrics'
scrape_interval: 60s
scheme: https
metrics_path: '/v1/buckets/{bucketName}/metrics'
authorization:
type: Apikey
credentials: 'db94xxxx-xxxx-xxxx-xxxx-xxxx'
static_configs:
- targets:
- 'storage.arvanapis.ir'