Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

ServiceControl integration

Component: ServiceControl

ServiceControl is the backend service for ServicePulse, ServiceInsight, and third-party integration. It collects and stores information from monitored NServiceBus endpoints and exposes this information for consumption by various clients via a HTTP API.

When ServiceControl is introduced into an existing environment the standard behavior of error and audit queues changes. Before ServiceControl is introduced, failed messages remain in the configured error queue and audit messages remain in the configured audit queue. After ServiceControl is introduced, messages in both queues are consumed by ServiceControl.

ServiceControl provides the monitoring capability by analyzing the configured error and audit queues. It can extract information like endpoint name, queue name and, in case of error messages, the exception stack trace, etc. This information is stored in an internal database.

Configuring an endpoint to be monitored by ServiceControl

To allow ServiceControl to monitor endpoints:

  1. ServiceControl must be installed and at least one instance must be configured to use the same transport as the endpoints.

  2. Every endpoint must be configured for auditing with the same audit queue as ServiceControl.

    graph LR EndpointA --> AuditQ EndpointB --> AuditQ EndpointC --> AuditQ AuditQ[audit] --> ServiceControl ServiceControl .-> AuditLog[audit.log]
  3. Every endpoint must be configured for recoverability with the same error queue as ServiceControl.

    graph LR EndpointA --> ErrorQ EndpointB --> ErrorQ EndpointC --> ErrorQ ErrorQ[error] --> ServiceControl ServiceControl .-> ErrorLog[error.log]

Configuring other monitoring and debugging capabilities

In addition to ingesting audit and error information, ServiceControl can process other types of information generated by monitoring and debugging components:

Endpoints must be configured appropriately to allow ServiceControl to gather this information:

All endpoints in a given environment must be configured to forward to the same audit, error, and ServiceControl plugin queues.

Event notifications

ServiceControl detects important system events and publishes them as integration events to subscribed endpoints.

Transport Adapter

The ServiceControl Transport Adapter decouples ServiceControl from the specifics of endpoint transport configuration to support scenarios where endpoints use physical routing features not compatible with ServiceControl or where endpoints use mixed transports or multiple instances of a message broker.


Last modified