مانیتورینگ WebSocket
WebSocket Monitoring وضعیت اتصال یک سرور WebSocket را بررسی میکند و در صورت نیاز، علاوه بر برقراری اتصال، یک پیام آزمایشی نیز ارسال کرده و پاسخ دریافتی را اعتبارسنجی میکند.
برخلاف مانیتورینگ وبسایت که تنها یک درخواست HTTP ارسال میکند، این مانیتور یک ارتباط دوطرفه (Full Duplex) با سرور WebSocket برقرار میکند و میتواند از سلامت واقعی ارتباط اطمینان حاصل کند.
با استفاده از مانیتورینگ WebSocket میتوانید:
- بررسی وضعیت اتصال WebSocket (Connected / Disconnected)
- بررسی امکان برقراری ارتباط با سرور
- ارسال پیام آزمایشی (Payload)
- اعتبارسنجی پاسخ دریافتی از سرور
- اندازهگیری زمان برقراری اتصال
- تشخیص قطعیهای لحظهای ارتباط
ایجاد مانیتور WebSocket
برای ایجاد این مانیتور، ابتدا وارد پروژه مورد نظر شوید.
سپس از تب مانیتورها روی ایجاد مانیتور کلیک کرده و WebSocket Monitoring را انتخاب کنید.
نام نمایشی
در این قسمت یک نام مناسب برای مانیتور انتخاب کنید.
برای مثال:
- Notification Socket
- Chat Server
- Game Server
- Realtime API
آدرس WebSocket
در این قسمت آدرس WebSocket را وارد کنید.
برای مثال:
ws://example.com/socket
یا
wss://example.com/socket
در صورت استفاده از ارتباط امن، از پروتکل WSS استفاده کنید.
تنظیمات درخواست (Request Settings)
در صورتی که سرور WebSocket برای اتصال نیاز به اطلاعات خاصی داشته باشد، میتوانید تنظیمات درخواست را شخصیسازی کنید.
از جمله:
- Headerهای ارسالی
- Query Parameterها
- اطلاعات احراز هویت (Authentication)
این تنظیمات مشابه Website Monitoring هستند و برای بسیاری از APIها و سرویسهای Real-Time مورد استفاده قرار میگیرند.
احراز هویت (Authentication)
در صورت نیاز، میتوانید یکی از روشهای زیر را انتخاب کنید:
No Auth
اتصال بدون احراز هویت.
API Key
ارسال API Key در Header یا Query String.
Basic Authentication
ارسال نام کاربری و رمز عبور.
Bearer Token
ارسال Access Token در Header درخواست.
برای مثال:
Authorization: Bearer YOUR_ACCESS_TOKEN
حالت بررسی (Monitoring Mode)
یودوز دو روش مختلف برای بررسی WebSocket در اختیار شما قرار میدهد.
فقط بررسی اتصال (Connection Check)
در این حالت، یودوز تنها بررسی میکند که آیا امکان برقراری اتصال با WebSocket وجود دارد یا خیر.
پس از برقراری موفق اتصال، بررسی پایان مییابد و هیچ پیام آزمایشی ارسال نخواهد شد.
این روش برای سرویسهایی مناسب است که تنها در دسترس بودن WebSocket اهمیت دارد.
بررسی ارتباط دوطرفه (Message Validation)
در این حالت، پس از برقراری اتصال، یودوز یک پیام آزمایشی به سرور ارسال میکند و منتظر دریافت پاسخ میماند.
این روش علاوه بر اتصال، عملکرد صحیح برنامه WebSocket را نیز بررسی میکند.
برای مثال میتوانید تنظیم کنید:
پیام ارسالی:
ping
پاسخ مورد انتظار:
pong
یا
پیام ارسالی:
status
پاسخ مورد انتظار:
online
اگر پاسخ مورد انتظار دریافت نشود یا پاسخ دیگری از سمت سرور ارسال شود، یودوز آن را به عنوان یک رخداد ثبت خواهد کرد.
فاصله زمانی بررسی (Check Interval)
این گزینه مشخص میکند یودوز هر چند وقت یکبار اتصال WebSocket را بررسی کند.
برای سرویسهای Real-Time پیشنهاد میشود از بازههای ۳۰ ثانیه یا ۱ دقیقه استفاده کنید تا اختلالها در سریعترین زمان ممکن شناسایی شوند.
زمان انتظار (Timeout)
Timeout مدت زمانی است که یودوز برای برقراری اتصال و دریافت پاسخ منتظر میماند.
اگر در این مدت اتصال برقرار نشود یا پاسخ مورد انتظار دریافت نشود، نتیجه بررسی ناموفق ثبت خواهد شد.
انتخاب مقدار بسیار کم ممکن است باعث ایجاد هشدارهای غیرواقعی در زمان افزایش تأخیر شبکه شود.
تگهای مانیتور
برای دستهبندی بهتر مانیتورها میتوانید یک یا چند تگ تعریف کنید.
برای مثال:
- WebSocket
- Chat
- Notification
- Production
- Realtime
تگها مدیریت و جستجوی مانیتورها را در پروژههای بزرگ سادهتر میکنند.
این مانیتور در چه مواردی کاربرد دارد؟
مانیتورینگ WebSocket برای تمامی سرویسهایی مناسب است که از ارتباط دائمی و دوطرفه استفاده میکنند.
از جمله:
- سامانههای گفتگوی آنلاین (Chat)
- سیستمهای اعلان لحظهای (Notification)
- بازیهای آنلاین
- بازارهای مالی و نمایش لحظهای قیمتها
- پنلهای مانیتورینگ لحظهای
- سیستمهای IoT
- داشبوردهای بلادرنگ (Real-Time Dashboard)
- سامانههای ردیابی موقعیت (Tracking)
- پیامرسانها
- سرویسهای مبتنی بر Socket
چرا Message Validation مهم است؟
ممکن است اتصال WebSocket بدون مشکل برقرار شود، اما برنامه سمت سرور به درستی کار نکند.
برای مثال:
- اتصال برقرار میشود اما هیچ پاسخی ارسال نمیشود.
- پاسخ اشتباه برگردانده میشود.
- پردازش پیامها متوقف شده است.
- تنها بخشی از برنامه دچار اختلال شده است.
در چنین شرایطی، بررسی صرف اتصال کافی نیست.
با ارسال یک پیام آزمایشی و بررسی پاسخ، یودوز میتواند از سلامت واقعی سرویس WebSocket نیز اطمینان حاصل کند.
ایجاد مانیتور
پس از تکمیل تنظیمات، روی ایجاد مانیتور کلیک کنید.
یودوز در هر چرخه بررسی، اتصال WebSocket را برقرار کرده و بر اساس حالت انتخابشده، تنها اتصال یا ارتباط دوطرفه را ارزیابی میکند.
در صورت بروز هرگونه اختلال، رخداد مربوطه ثبت شده و در صورت فعال بودن اعلانها، شما از وضعیت سرویس مطلع خواهید شد.