متریکهای دامنه
قابلیت Metric Exporter برای ساده کردن فرآیند جمعآوری و تجزیه و تحلیل دادههای دامنه طراحی شده است و به شما کمک میکند با استفاده از روشی سریع و کارآمد اطلاعاتی کاربردی از عملکرد، رفتار و خطاهای دامنهی خود بهدست آورید. این ابزار بهطور خودکار با پردازش لاگهای شما، متریکهای مختلفی را تولید میکند که میتوانید با استفاده از آنها در برنامههایی نظیر Grafana ،Prometheus و Splunk نمودارها و گزارشهای متنوعی بسازید. فرمت ارسالی این دادهها Plain Text است.
متریکهای دامنه نسبت به ارسال لاگ متفاوت عمل میکند. لاگها بهدلیل حجم زیاد به فضای ذخیرهسازی بیشتری نیاز دارند، درحالی که متریکها ساختاریافته و سبکتر هستند. از طرف دیگر، لاگها بیشتر برای عیبیابی و تحلیل جزییات رویدادها استفاده میشوند، اما متریکها برای نظارت، هشداردهی و تحلیل الگوها و روندها مناسب هستند.
متریکهای ارسالی
با استفاده از قابلیت متریکهای دامنه میتوانید Upstream Error Metrics ،DNS Metrics ،HTTP Access Metrics و Event Metrics دامنههایتان را دریافت کنید.
متریکهای Access
| متریکهای Access | توضیح | نوع | برچسب |
|---|---|---|---|
| http_top_requests_ip_count | ۱۰ IP با بیشترین تعداد درخواست | Counter | hostname: نام میزبان ip: آیپی کاربر |
| http_top_requests_server_code_count | ۱۰ Server Code با بیشترین تعداد درخواست | Counter | hostname: نام میزبان server_code: شماره سرور CDN |
| http_top_requests_asn_count | ۱۰ ASN با بیشترین تعداد درخواست | Counter | hostname: نام میزبان asn: شماره asnای که از آن به سرور اصلی درخواست ارسال شده |
| http_requests_total | مجموع تعداد درخواستها | Counter | hostname: نام میزبان method: متد HTTP درخواست upstream_addr: آیپی سرور اصلی * status: کد وضعیت HTTP دریافتی از CDN |
| http_bytes_sent_total | مجموع تعداد بایتهای ارسالشده در پاسخهای HTTP | Counter | hostname: نام میزبان method: متد HTTP درخواست |
| http_bytes_received_total | مجموع تعداد بایتهای دریافتشده در درخواستهای HTTP | Counter | hostname: نام میزبان method: متد HTTP درخواست |
| http_cache_hit_total | تعداد کل درخواستها بر اساس وضعیت کش | Gauge | hostname: نام میزبان cache: وضعیت کش که میتواند مقادیر Hit ،Miss، Bypass و Updating را داشته باشد |
| http_server_port_usage_total | تعداد دفعات استفاده از پورتهای سرور | Gauge | hostname: نام میزبان server_port: پورت سرور اصلی که درخواستها به آن میرسد |
| http_request_latest_upstream_time_total | مدت زمان پردازش آخرین درخواست از Upstream (میلیثانیه) | Gauge | hostname: نام میزبان |
| http_top_requests_country_total | تعداد درخواستها بهتفکیک کشور | Counter | hostname: نام میزبان country: نام کشوری که درخواست از آن به سرور اصلی رسیده |
| unique_visitors_total | تعداد بازدیدکنندگان منحصربهفرد | Gauge | hostname: نام میزبان visitor: تعداد بازدیدکنندگان منحصربهفرد (این عدد ترکیبهای یکتا IP و User Agent را شمارش میکند و ممکن است کمی با بازدیدکنندگان یکتای واقعی اختلاف داشته باشد.) |
| http_response_time_aggregated_milliseconds | زمان پاسخ تجمیعی سرورهای اصلی | Histogram | hostname: نام میزبان le: زمان پاسخ تجمیعی سرورهای آپاستریم بهشکل هیستوگرام بر اساس باکتهای مختلف (10، 100، 200، ...) |
* مقدار این متریک آخرین IPای است که درخواست به آن ارسال شده است. ممکن است بهدلیل وجود پارامتر try_next_upstream در تنظیمات دامنهتان، درخواست به سرورهای دیگری نیز ارسال شده باشد.
متریکهای DNS
| متریکهای DNS | توضیح | نوع | برچسب |
|---|---|---|---|
| dns_record_popularity_count | نرخ درخواست بر اساس نوع رکورد | Counter | hostname: نام میزبان type: نوع رکورد DNS مانند A ،AAAA و ... |
| dns_response_code_count | تعداد کدهای وضعیت DNS | Counter | hostname: نام میزبان response_code: کدهای وضعیت DNS |
| dns_top_query_by_asn_count | ۱۰ ASN با بیشترین کوئری (در بازه زمانی ریست میشود) | Counter | hostname: نام میزبان asn: شماره asnای که درخواست از آن ارسال شده |
| dns_query_count_by_country_count | مجموع درخواستهای DNS بر اساس کشور | Counter | hostname: نام میزبان country: نام کشوری که درخواست از آن ارسال شده |
| dns_query_count_by_record_count | مجموع درخواستهای DNS بر اساس نوع رکورد | Counter | hostname: نام میزبان record: نوع رکورد DNS مانند A ،AAAA و ... |
متریکهای Upstream Error
| متریکهای Upstream Error | توضیح | نوع | برچسب |
|---|---|---|---|
| per_pop_site_error_count | تعداد خطاها به ازای پاپسایتهای CDN | Counter | hostname: نام میزبان pop: نام پاپسایت CDN |
| per_upstream_top_address_error_count | تعداد خطاها به ازای Upstreamها | Counter | hostname: نام میزبان upstream_ip: آیپی سرور اصلی که خطا از آن دریافت شده |
| per_origin_top_error_count | تعداد خطاها به ازای Origin | Counter | hostname: نام میزبان origin: نام originای که خطا از آن دریافت شده |
| per_uri_top_error_count | ۱۰ URI با بیشترین خطا (در بازه زمانی ریست میشود) | Counter | hostname: نام میزبان uri: مسیری که خطا از آن دریافت شده |
متریکهای Event
| متریکهای Event | توضیح | نوع | برچسب |
|---|---|---|---|
| top_request_tlsfingerprint_count | ۱۰ JA3 Fingerprint با بیشترین درخواست HTTP | Counter | hostname: نام میزبان tls_figerprint: مقدار Fingerprint ای که از کاربر به سرور اصلی ارسال میشود |
| rate_limit_top_rule_matched_count | تعداد درخواستهای تطبیقدادهشده با قوانین Rate Limit | Counter | hostname: نام میزبان rlimit_matched: شناسهی قانون Rate Limitای که تطبیقداده شده |
| rate_limit_action_count | تعداد اکشنهای Rate Limit که روی درخواستها اعمال شدند | Counter | hostname: نام میزبان rlimit_action: نوع عملکرد Rate Limit مانند Block, Allow, Challenge, Ignore |
| firewall_top_rule_matched_count | تعداد درخواستهای تطبیقدادهشده با قوانین فایروال | Counter | hostname: نام میزبان firewall_matched: شناسه قانون فایروالی که تطبیق داده شده |
| firewall_action_count | تعداد اکشنهای فایروال که روی درخواستها اعمال شدند | Counter | hostname: نام میزبان firewall_action: نوع عملکرد فایروال مانند Allow, Bypass, Deny و Challenge |
| pagerule_top_matched_count | تعداد درخواستهای تطبیقدادهشده با قوانین صفحات | Counter | hostname: نام میزبان pagerule_matched: شناسه قانون صفحهای که تطبیق داده شده |
| ddos_challenge_decision_count | تعداد تصمیمهای نهایی چالشهای DDoS | Counter | hostname: نام میزبان ddos_challenge_decision: نوع تصمیم مانند Ignored, Passed, Issued, Preflight |
| end_to_end_response_time_milliseconds_bucket | زمان پاسخ تجمیعی End to End | Histogram | hostname: نام میزبان le: زمان پاسخ تجمیعی End to End (آپستریم به کاربر) بهشکل هیستوگرام بر اساس باکتهای مختلف (10، 100، 200 و...) |
مدیریت متریکهای دامنه در پنل
از پنل کاربری آروان وارد بخش «شبکه توزیع محتوا» شوید و «متریکهای دامنه» را انتخاب کنید.

روی دکمهی «مانیتورینگ جدید» کلیک کنید.

در این صفحه، دامنهای که میخواهید متریکهای آن را دریافت کنید، نوع لاگ و بازهی جمعآوری را انتخاب و روی دکمهی «ذخیره» کلیک کنید.
از این پس میتوانید مانیتورینگها را فعال یا غیرفعال کنید، آنها را ویرایش و مدیریت و یا حذف کنید.

مدیریت متریکهای دامنه با API
برای کار با APIهای قابلیت متریکهای دامنه میتوانید از مستندات API این قابلیت استفاده کنید. پیش از استفاده از API باید در پنل کاربری یک کلید دسترسی بسازید. این کار را میتوانید با ایجاد و دریافت کلید دسترسی و سپس ایجاد قانون دسترسی با حداقل سطح "بیننده شبکه توزیع محتوا" انجام دهید.
کلید دسترسیای را که در این مرحله دریافت میکنید در جایی امن ذخیره کنید.
ایجاد متریک دامنه با API
برای ایجاد متریک دامنه از طریق API میتوانید از نمونه درخواست زیر استفاده کنید:
curl --location 'https://napi.arvancloud.ir/cdn/4.0/domains/[domain]/metric-exporters' \
--header 'Content-Type: application/json' \
--header 'Authorization:[apikey]' \
--data '{"name": "hello", "type": "access", "interval": "10s", "status": true }'
توجه داشته باشید که باید بهجای [domain] و [apikey] نام دامنه و کلید API خود را با فرمت apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx قرار دهید.
دریافت لیست مانیتورینگهای متریک دامنه
برای دریافت لیست مانیتورینگهای متریک دامنه از طریق API میتوانید از نمونه درخواست زیر استفاده کنید:
curl --location 'https://napi.arvancloud.ir/cdn/4.0/metric-exporters' \
--header 'Authorization:[apikey]'
توجه داشته باشید که باید بهجای [apikey] کلید API خود را با فرمت apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx قرار دهید.
پاسخ این درخواست بهشکل زیر خواهد بود:
"data": [
{
"id": "[metricExporterId]",
"domain": "arvancloud.ir",
"type": "access|dns|error|event",
"name": "string",
"url": "https://napi.arvancloud.ir/cdn-metrics/v1/metrics/arvancloud.ir/id/[endPointId]",
"interval": "10s",
"status": true
}
]