Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Modernization
Samples

Usage Report Requirements

The Particular Service Platform is licensed based on the number of NServiceBus endpoints and the message throughput of those endpoints. In order to determine these values, a monitor needs to be run over the transport broker for a representative period of time (24 hours) and a report generated from this data to be sent to Particular.

The minimal installation required to generate the usage report is:

  • ServiceControl. Only a single error instance is required, as this is the primary service that contains the monitoring logic.
  • ServicePulse. This is the UI that interfaces with the ServiceControl service to allow users to specify which endpoints are NServiceBus related and generate the usage report to send to Particular.

The following methods can be used to install these requirements:

Windows Installation

ServiceControl

ServiceControl is installed as a Windows service, and starts automatically. It includes an embedded RavenDB instance that stores all the data required for generating usage reports (and any other functions of ServiceControl that you may use).

ServiceControl Management Utility (SCMU)

  • Download the latest SCMU
  • Run the executable. This will require Admin priveleges
  • Add a new ServiceControl and Audit instance Add new ServiceControl and Audit Instance
  • Uncheck the ServiceControl Audit node, since this isn't required for usage reports Uncheck Audit Instance
  • Choose your transport and supply the connection string Choose transport
  • Click 'Add'

Powershell

ServicePulse

Follow the installation instructions and ensure ServicePulse is configured to point to the port of the ServiceControl instance installed above.

Container Installation

When installing ServiceControl directly, through one of the above solutions, it includes an embedded RavenDB instance that stores all the data required for generating usage reports (and any other functions of ServiceControl that you may use). When using containers, a separate RavenDB database is required. This can also be containerized, allowing for a single docker compose to install all dependencies. An example of this can be found in the Platform Container Examples repository.

The containers required for generating a usage report are:

Cloud

When hosting containers in the cloud, it is suggested to use RavenDB Cloud to host the database. This is because the storage requirements of RavenDB generally cannot be met on most cloud offerings.

Related Articles