متریکها
Xray Checker دو متریک Prometheus برای نظارت بر وضعیت و عملکرد پروکسی ارائه میدهد. برای دستورالعملهای راهاندازی دقیق، یکپارچهسازی Prometheus را ببینید.
برای به تصویر کشیدن متریکها، توصیه میکنیم از Grafana استفاده کنید.
xray_proxy_status
متریک وضعیت که در دسترس بودن پروکسی را نشان میدهد:
- نوع: Gauge
- مقادیر: ۱ (کار میکند) یا ۰ (ناموفق)
- برچسبها:
protocol: پروتکل پروکسی (vless/vmess/trojan/shadowsocks/hysteria/socks/http/wireguard)address: آدرس و پورت سرورname: نام پیکربندی پروکسیstable_id: شناسه پایدار بهازای هر پروکسی؛ حتی وقتی نامها یکسان باشند هر سری را مجزا نگه میدارد و در طول راهاندازیهای مجدد/تغییر ترتیب ثابت میماندsub_name: نام اشتراک (از فرگمنت URL یا هدر profile-title)group_name: نام متعادلکننده/گروه برای پروکسیهای گروهبندیشده (برای موارد بدون گروه خالی است)instance: نام نمونه (اگر پیکربندی شده باشد)
مثال:
# HELP xray_proxy_status Status of proxy connection (1: success, 0: failure)# TYPE xray_proxy_status gaugexray_proxy_status{protocol="vless",address="example.com:443",name="proxy1",stable_id="a1b2c3d4e5f67890",sub_name="Premium VPN",group_name="",instance="dc1"} 1xray_proxy_latency_ms
متریک تأخیر که زمان پاسخ اتصال را نشان میدهد:
- نوع: Gauge
- مقادیر: میلیثانیه (۰ اگر ناموفق)
- برچسبها: همانند xray_proxy_status
مثال:
# HELP xray_proxy_latency_ms Latency of proxy connection in milliseconds# TYPE xray_proxy_latency_ms gaugexray_proxy_latency_ms{protocol="vless",address="example.com:443",name="proxy1",stable_id="a1b2c3d4e5f67890",sub_name="Premium VPN",group_name="",instance="dc1"} 156لیبلهای سفارشی
یک outbound در اشتراک JSON میتواند یک شیء metricsLabels تعریف کند. مدخلهای آن بهعنوان لیبلهای اضافی روی هر دو متریک آن پروکسی، در کنار لیبلهای داخلی بالا، افزوده میشوند:
xray_proxy_status{protocol="trojan",address="1.1.1.1:443",name="proxy1",stable_id="a1b2c3d4e5f67890",sub_name="",group_name="",location="Netherlands, Amsterdam",hoster="FreeVDS"} 1پروکسیهای مختلف میتوانند کلیدهای لیبل متفاوتی داشته باشند؛ پروکسی بدون metricsLabels تنها مجموعهٔ داخلی را نگه میدارد. کلیدها به نامهای معتبر Prometheus تبدیل میشوند و نمیتوانند لیبلهای داخلی را بازنویسی کنند. متریکها در هر scrape از مجموعهٔ فعلی پروکسیها ساخته میشوند، بنابراین لیبلهای سفارشی میتوانند هنگام بهروزرسانی اشتراک افزوده، تغییر یا حذف شوند بدون آنکه سریهای دیگر به ۰ بازنشانی شوند.