PreEmptive Analytics Data Hub User Guide

RabbitMQ Connections

The Data Hub uses the third-party RabbitMQ messaging system to store messages before they are dispatched. The default configuration, where an instance of RabbitMQ is installed on the same machine as the Data Hub, should typically not need to be changed. However, if you need to change e.g. the host or port that they use to communicate, instructions for doing so have been provided here and in the subsections below.

WARNING: Changes to the connection settings must be coordinated across three locations: RabbitMQ, the Endpoint Web Service, and the Dispatch Service. It is easiest and safest to stop all three services (RabbitMQ last), make the changes, and start them again (RabbitMQ first) - see the subsections of Restarting the Entire Data Hub. This will cause a temporary outage at the Endpoint.

Data Hub Parameters

The Data Hub has separate configuration files for the Dispatch Service and for the Endpoint. Each component has the same settings, described below, located in the <appsettings> section of their respective file.

The Endpoint Web Service settings are in [Application folder]\Web\Web.config.

The Dispatch Service settings are in [Application folder]\DispatchService\HubDispatchService.exe.config.

The settings are as follows:

  • RabbitServerAddress
    • The IP or hostname of the RabbitMQ instance.
    • Default: 127.0.0.1
  • RabbitServerPort
    • The port on which AMQP (data transfer) connections are made.
    • Default: 5672 (the AMQP default)
  • RabbitServerPortalPort
    • The port on which RabbitMQ management plugin connections are made.
    • Default: 15672
  • RabbitServerVirtualHost
    • The virtual host on the RabbitMQ server to use.
    • Default: /
  • RabbitServerUsername
    • The username which is used for connections to RabbitMQ.
    • This user must be an administrator user.
    • Default: guest
  • RabbitServerPassword
    • The password which is used for the above user.
    • This user must have a password.
    • Default: guest
  • QueueCountMonitoringIntervalSeconds
    • The frequency, in whole seconds, at which the Data Hub will query RabbitMQ to measure queue sizes for reporting as WMI counters.
    • Default: 1

RabbitMQ Parameters

The Data Hub-provided installation of RabbitMQ has been pre-configured to work with the Data Hub. The relevant connection settings are in the RabbitMQ configuration file, which is in the non-standard location of [RabbitMQ data folder]\rabbitmq.config.

Details about the RabbitMQ configuration settings can be found in the online documentation for the RabbitMQ configuration file.

These settings can be changed using JSON syntax.

Parameters include:

  • rabbit.tcp_listeners
    • An array of interfaces RabbitMQ will listen on for AMQP connections, each expressed in the form {hostname, port}.
    • Pre-configured setting: {"127.0.0.1", 5672}.
  • rabbit.collect_statistics_interval
    • The time, in milliseconds, between RabbitMQ updating its statistical tracking (e.g. the size of queues).
    • Pre-configured setting: 1000.
  • rabbitmq_management.listener.ip
    • The IP for the RabbitMQ management plugin to listen on.
    • Pre-configured setting: 127.0.0.1.
  • rabbitmq_management.listener.port
    • The port for the RabbitMQ management plugin to listen on.
    • Pre-configured setting: 15672.

Data Hub User Guide Version 1.2.0. Copyright © 2013 PreEmptive Solutions, LLC