Pulse
Pulse is a distributed synthetic monitoring system for verifying service reachability and correctness from multiple locations. It separates the monitoring control plane from the agents that perform checks, making it possible to compare a service's behaviour across different machines or networks.
Architecture
The solution has three parts:
- Pulse.Server is the ASP.NET control plane and data store. It manages agents, check definitions, and check results.
- Pulse.Agent is a worker service that retrieves its configuration, runs checks, and submits results to the server over HTTP.
- Pulse.Dashboard is a Blazor interface for operating the system and reviewing results.
Monitoring capabilities
Agents execute HTTP, ping, and TCP checks. HTTP checks treat successful 2xx responses as healthy and fall back from HEAD to GET when a target does not allow HEAD. Each check records response time and captures an error when it fails.
The dashboard includes views for agents, checks, results, and a radar page. The radar compares recent check results across agents and shows availability, response time, errors, and when each agent was last seen.
Agents can be installed as services on Windows or Linux.