Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
Monitoring
Samples

ServiceControl Queues

Component: ServiceControl

ServiceControl relies on a number of queues to function. The simplest way to configure these queues is to use ServiceControl Management or Powershell to install each ServiceControl instance.

These queues can be manually created before deploying a ServiceControl instance. The technique used will differ depending on the transport in use:

Error instance

These queues are required by ServiceControl Error instances.

Failed messages queue

If an NServiceBus endpoint is unable to process a message, after the configured number of retries, it will forward a copy of the message to this queue. The ServiceControl error instance will read these messages and add them to its database.

  • Default name: error
ComponentAccess
requirements
Configuration
NServiceBus endpointsWriteFailed message configuration
ServiceControl Error instanceReadServiceBus/ErrorQueue
ServiceControl Audit instance-
ServiceControl Monitoring instance-

Input queue

Each ServiceControl Error instance has an input queue which accepts control messages from NServiceBus endpoints, and from ServiceControl instances.

If the heartbeats or custom checks plugins are in use, they should be configured to send messages to this queue.

  • Template: <instance name>
  • Default name: Particular.ServiceControl
ComponentAccess
requirements
Configuration
NServiceBus endpointsWriteHeartbeats plugin and Custom checks plugin
ServiceControl Error instanceRead/WriteServiceControl/InstanceName
ServiceControl Audit instanceWriteServiceControl.Audit/ServiceControlQueueAddress
ServiceControl Monitoring instance-

Error queue

If the ServiceControl Error instance cannot process a message, a copy is forwarded to this error queue.

  • Template: <instance name>.Error
  • Default name: Particular.ServiceControl.Error
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instanceRead/WriteBased off of instance name
ServiceControl Audit instance-
ServiceControl Monitoring instance-

Staging queue

This queue is used by ServiceControl Error instances during the retry process.

  • Template: <instance name>.staging
  • Default name: Particular.ServiceControl.staging
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instanceRead/WriteBased off of instance name
ServiceControl Audit instance-
ServiceControl Monitoring instance-

Failed messages forwarding queue

If configured to do so, the ServiceControl Error instance will forward a copy of every message it processes from the Failed messages queue.

  • Template: <failed messages queue>.log
  • Default name: error.log
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instanceWriteServiceBus/ErrorLogQueue
ServiceControl Audit instance-
ServiceControl Monitoring instance-

Endpoint instance input queues

During retry operations, the ServiceControl Error instance will forward messages back to the input queue of the endpoint that failed to process it.

ComponentAccess
requirements
Configuration
NServiceBus endpointsReadEndpoint name
ServiceControl Error instanceWriteConfigured via the NServiceBus.FailedQ header on failed messages
ServiceControl Audit instance-
ServiceControl Monitoring instance-

Audit instance

These queues are required by ServiceControl Audit instances.

Audit queue

If configured to do so, NServiceBus endpoints send a copy of every message processed to the audit queue and a ServiceControl Audit instance reads them.

If the Saga Audit plugin is used, it should be configured to send messages to the audit queue as well.

  • Default name: audit
ComponentAccess
requirements
Configuration
NServiceBus endpointsWriteAudit configuration and Saga Audit plugin
ServiceControl Error instance-
ServiceControl Audit instanceReadServiceBus/AuditQueue
ServiceControl Monitoring instance-

Input queue

Each ServiceControl Audit instance includes an input queue. This is currently not used but is required for the ServiceControl Audit instance to run.

  • Template: <instance name>
  • Default value: Particular.ServiceControl.Audit
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instance-
ServiceControl Audit instanceReadServiceControl.Audit/InstanceName
ServiceControl Monitoring instance-

Error queue

If a ServiceControl Audit instance is unable to process a message, it will forward it to the configured error queue.

  • Template: <instance name>.Error
  • Default name: Particular.ServiceControl.Audit.Error
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instance-
ServiceControl Audit instanceWriteBased off of instance name
ServiceControl Monitoring instance-

Audit forwarding queue

If Audit Forwarding is enabled, after the ServiceControl Audit instance processes a message from the audit queue, it will forward a copy to this queue.

  • Template: <audit queue name>.log
  • Default name: audit.log
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instance-
ServiceControl Audit instanceWriteServiceBus/AuditLogQueue
ServiceControl Monitoring instance-

Monitoring instance

These queues are required by ServiceControl Monitoring instances.

Input queue

Endpoints send monitoring information to the monitoring queue and the monitoring instance reads them.

  • Template: <instance name>
  • Default value: Particular.Monitoring
ComponentAccess
requirements
Configuration
NServiceBus endpointsWriteMonitoring plugin
ServiceControl Error instance-
ServiceControl Audit instance-
ServiceControl Monitoring instanceReadMonitoring/InstanceName

Error queue

When the ServiceControl Monitoring instance cannot process a message it is forwarded to this queue.

  • Default name: error
  • Configure via:
ComponentAccess
requirements
Configuration
NServiceBus endpoints-
ServiceControl Error instance-
ServiceControl Audit instance-
ServiceControl Monitoring instanceWriteMonitoring/ErrorQueue