Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServiceControl
Monitoring
Samples

ServicePulse

ServicePulse is a web application designed for administrators. It provides a clear, near real-time, high-level overview of how a system is currently functioning. The UI also provides common failure recovery operations, such as retrying failed messages.

ServicePulse provides a rich, graphical view of detailed performance metrics. These are shown for logical endpoints, physical instances, and even individual message types.

ServicePulse uses information provided by ServiceControl. In order to use ServicePulse, first set up ServiceControl.

Relationship between ServicePulse, ServiceControl, Monitoring, and Endpoints

graph RL EP[Endpoint]-- Errors -->EQ EP-- Audits -->AQ EP-- Metrics -->MQ EQ(Error Queue)-- Ingests -->SC MQ(Metrics Queue)-- Ingests -->SCM AQ(Audit Queue)-- Ingests -->SC SC[ServiceControl]-- HTTP API & SignalR ---SP SCM[Monitoring]-- HTTP API ---SP[ServicePulse]

System status overview

The dashboard provides a visual overview of the current state of the monitored NServiceBus system. It provides information about the latest events in the system, such as detecting a new endpoint or a message processing failure.

Dashboard

Endpoint health

ServicePulse automatically detects existing endpoints in the system by analyzing metadata from audited messages. By default all detected endpoints will be listed in the Endpoints tab but will not be automatically monitored.

In order to monitor an endpoint's health and activity, it is necessary to configure it for monitoring.

Learn more:

Real-time monitoring

The monitoring view shows an overview of all logical endpoints in a system showing various metrics. Navigate to the details by clicking on an endpoint name. This shows the same metrics split by message type or endpoint instance.

Learn more:

Failed messages

Failed messages are indicated in the ServicePulse dashboard by a red icon showing the number of failing messages.

The Failed Messages tab allows inspection of failed messages in more detail and to react to failures (by manually retrying or deleting messages). The messages are grouped by:

  • The exception type
  • The exception message
  • The endpoint name
  • The endpoint instance ID
  • The queue address

Learn more:

Custom checks

Endpoint health monitoring ensures that the endpoint is functional, i.e. it can receive, process and send messages. However, in some situations, the system's operation might depend on other factors, such as a third party webservice.

ServicePulse allows development of custom checks that can verify any required condition using custom .NET code. If the specified condition cannot be satisfied, ServicePulse will raise alerts.

Learn more:

Related Articles