ServicePulse gives an overview of a system's health, based on endpoints heartbeats and custom checks, and a detailed view of failed messages.
HeartbeatStopped event is published each time the monitoring infrastructure does not receive a heartbeat from an endpoint within the expected amount of time.
HeartbeatRestored event is published to notify when a previously stopped heartbeat has been restored and the related endpoint is running as expected.
More details on endpoints and heartbeats in ServicePulse](/monitoring/heartbeats/in-servicepulse.md).
MessageFailed event is published to notify that a message has failed all the immediate retry steps and all the delayed retry steps and has reached the configured error queue. The event itself carries all the details of the failure and has a
MessageStatus enumeration that details the type of failure:
Failed: The message has failed and has arrived for the first time in the error queue;
RepeatedFailure: The message has failed multiple times;
ArchivedFailure: The message has been archived;
More details on failed message monitoring in ServicePulse.
Custom checks allow an endpoint to notify ServicePulse if a business related condition is not met. The endpoint heartbeat signals that the endpoint is running, a custom check can add more information, such as the endpoint is running and can access the external resources required to operate correctly.