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 process needs to be run that queries the transport broker for up to 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 broker querying 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.

Installation options

The following methods can be used to install these requirements:

Container Installation

When installing ServiceControl directly, through one of the Windows installation options below, 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 that can also be containerized. An example of this can be found in the Platform Container Examples repository.

The containers required for generating a usage report are:

Cloud environments

When hosting containers in Kubernetes in any of the major Cloud providers, it is possible to host RavenDB in Kubernetes using the recommended storage providers by the Cloud infrastructure, see these example manifests for deployments in AKS or EKS. In other hosting environments where the RavenDB storage requirements cannot be met, it is suggested to use RavenDB Cloud to host the database.

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 privileges
  • Add a new ServiceControl instance Add new ServiceControl 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

ServicePulse can be installed separately as a Windows service, or it can run in an integrated mode from within the ServiceControl Management Utility (SCMU).

Integrated into ServiceControl Management Utility (SCMU)

This is the easiest and recommended way to run ServicePulse for usage report purposes.

New installations

When installing a new instance of ServiceControl via SCMU, once the service is installed and running, a link to launch an integrated version of ServicePulse will be visible in SCMU. ServicePulse link

Upgrades

When upgrading from an older version of ServiceControl via SCMU, ensure you click the Enable Integrated ServicePulse option. Enable integrated ServicePulse

Stand alone

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

Related Articles

  • License file information
    Learn how NServiceBus licensing works, including configuration, license types, usage reporting, and expiration.
  • Measuring system usage
    Use ServicePulse to track NServiceBus endpoints, throughput, and queues, creating usage reports for licensing.
  • Usage Reporting Setup
    Viewing endpoint usage summary and generating a usage report.