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 will change. When ServiceControl is not monitoring the environment failed messages will remain in the configured error queue and audit messages in the configured audit queue, as soon as ServiceControl is installed and configured messages, in both queues, will be imported 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 a built-in internal database.

Configuring an endpoint to be monitored by ServiceControl

To allow ServiceControl to monitor endpoints:

  1. ServiceControl should be installed and at least one instance should be configured using the same transport as that of the endpoints that are being monitored.
  2. For every endpoint that is being monitored by ServiceControl, configure the endpoint for auditing, and make sure that the audit queue is the same as the audit queue that ServiceControl is configured with.
graph LR EndpointA --> AuditQ EndpointB --> AuditQ EndpointC --> AuditQ AuditQ[audit] --> ServiceControl ServiceControl .-> AuditLog[audit.log]
  1. For every endpoint that is being monitored by ServiceControl, configure recoverability, and make sure that the error queue is the same as the error queue that ServiceControl is configured with.
graph LR EndpointA --> ErrorQ EndpointB --> ErrorQ EndpointC --> ErrorQ ErrorQ[error] --> ServiceControl ServiceControl .-> ErrorLog[error.log]

Configuring other monitoring and debugging capabilities

Besides being able to ingest audit and error information, ServiceControl can process other types of information generated by monitoring and debugging components

To enable ServiceControl to gather this information, configure the solution appropriately:

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

Event notifications

ServiceControl will detect important system occurrances and raise integration events to notify subscribing endpoints about them.

Transport Adapter

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


Last modified