Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Monitoring

The endpoints of an NServiceBus system collect different types of information about their operation. This information can be collected and aggregated into a monitoring solution for the whole system.

Endpoint performance

Endpoints collect performance metrics about their own operation. This data can be sent to a ServiceControl monitoring instance for visualization in ServicePulse.

Alternatively, by consuming the raw data, endpoint performance metrics can be sent to any metrics database.

Use this data to understand which message handlers need to be optimized, which endpoints need to be scaled out, and where there are recoverable errors slowing the system down.

Endpoint health

A ServiceControl instance can track which endpoint instances are running by listening to a continual stream of heartbeat messages. Endpoints that fail to send heartbeats within a defined period are considered to be inactive. When an inactive endpoint starts sending heartbeats again, it becomes active.

Beyond heartbeats, an endpoint can include custom code to check anything and report status. These checks can be run on a regular schedule and can be used to ensure that third-party web services and applications are running as expected.

ServicePulse can be used to track which endpoints are active and inactive as well as monitor the status of custom checks.

When an endpoint becomes active or inactive an event is raised enabling integration with any other dashboard or tool. Events are also raised when custom checks change status.

  • Custom Checks
    Enable endpoint health monitoring by running custom code using the Custom Checks plugin and ServiceControl.
  • Heartbeats
    Use the Heartbeat plugin to monitor the health of the endpoints.
  • Metrics
    Collect metric data about endpoint performance using the Metrics plugin.
  • Upgrade Guides
    Upgrade guides for the monitoring component of ServicePulse.