title | summary | reviewed | component | isLearningPath | related | ||
---|---|---|---|---|---|---|---|
ServicePulse |
Monitor the health of an NServiceBus system real-time using ServicePulse |
2024-04-19 |
ServicePulse |
true |
|
include: servicepulse
ServicePulse uses information provided by ServiceControl. In order to use ServicePulse, first set up ServiceControl.
Note
By default ServicePulse can be accessed on the hosting machine at the following URL: http://localhost:9090
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]
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.
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:
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.
youtube: https://www.youtube.com/watch?v=is9kF7eWkrQ
Learn more:
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:
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: