Pulse
Pulse یک سامانهی مانیتورینگ توزیعشده برای بررسی دسترسپذیری و درستی عملکرد سرویسها از چند موقعیت است. این سامانه صفحهی کنترل مانیتورینگ را از ایجنتهایی که بررسیها را اجرا میکنند جدا میکند تا بتوان رفتار یک سرویس را از ماشینها یا شبکههای مختلف مقایسه کرد.
معماری
این راهکار سه بخش دارد:
- Pulse.Server صفحهی کنترل و مخزن دادهی مبتنی بر ASP.NET است و ایجنتها، تعریف بررسیها و نتایج آنها را مدیریت میکند.
- Pulse.Agent یک Worker Service است که پیکربندی خود را میگیرد، بررسیها را اجرا میکند و نتایج را از راه HTTP به سرور میفرستد.
- Pulse.Dashboard رابطی با Blazor برای ادارهی سامانه و بررسی نتایج است.
قابلیتهای مانیتورینگ
ایجنتها بررسیهای HTTP، ping و TCP را اجرا میکنند. بررسی HTTP پاسخهای موفق 2xx را سالم در نظر میگیرد و اگر مقصد HEAD را نپذیرد، به GET برمیگردد. هر بررسی زمان پاسخ را ثبت میکند و در صورت شکست، خطا را ثبت میکند.
داشبورد بخشهایی برای ایجنتها، بررسیها، نتایج و صفحهی رادار دارد. رادار نتایج اخیر را میان ایجنتها مقایسه میکند و دسترسپذیری، زمان پاسخ، خطاها و آخرین زمانی که هر ایجنت دیده شده است را نشان میدهد.
ایجنتها را میتوان بهصورت سرویس روی ویندوز و لینوکس نصب کرد.