3.4. Hub Messaging Queue Configuration

3.4.1. Selecting Messaging Queue

The messaging between workers and Ngenea Hub is configurable between two different supported brokers. This is controlled with variables in /etc/sysconfig/ngeneahub along with additional configuration files.

The following are all broker related configuration values:

Setting

Default

Description

CELERY_BROKER

redis

This controls the messaging queue redis|rabbitmq

RABBITMQ_USER

ngeneahub

User for the rabbitmq user for use with Ngenea Hub

RABBITMQ_PASSWORD

Randomly generated password

Password used for the rabbitmq user for use with Ngenea Hub

RABBITMQ_VHOST

nghub

The virtual host used within the rabbitmq instance within Ngenea Hub

REDIS_HOST

redis

Address of the Redis queue results store. Defaults to the container service address.

REDIS_HEALTH_CHECK_INTERVAL

60

The Redis backend supports health checks. This value must be set as an integer whose value is the number of seconds between health checks.

REDIS_TCP_BACKLOG

511

In high requests-per-second environments you need a high backlog in order to avoid slow client connections issues to redis.

REDIS_SOCKET_TIMEOUT

60

When there are network issues redis backend connection sockets can become stale, this timeout setting will reset the socket connection after this value in seconds after becoming idle and resume operation.

For more details on general configuration see Hub Configuration for more details.

3.4.2. Redis Setting Files

All Ngenea Hub installs come packaged with a default configuration file for redis within /etc/ngenea/redis/redis.conf, any edits made to this file will persist with software upgrades. This file can be configured using any values supported by the Redis configuration page.

Any changes to configuration files for Redis will need a restart of the service.

3.4.3. RabbitMQ Setting Files

If Ngenea Hub is configured to use RabbitMQ, the service can have additional configuration files provided within /etc/ngenea/rabitmq/conf.d. This can be populated with custom configuration files for the wider RabbitMQ configuration.

The provided default configuration files that are within the /etc/ngenea/rabitmq/conf.d are defined and updated in /usr/share/ngeneahub/rabbitmq. These will be replaced on upgrade so any changes to the configuration should be done within a custom configuration file.

Any changes to configuration files or additional configuration files for RabbitMQ will need a restart of the service.

3.4.4. Admin Interface

By default, using rabbitmq as your messaging queue does not provide any usable management tools, there is however an admin panel that can be enabled by running the following command in the Ngenea Hub host's command line:

This will allow navigation to port 15672 on the Ngenea Hub instance which uses the login details within /etc/sysconfig/ngeneahub being RABBITMQ_USER and RABBITMQ_PASSWORD. This interface allows users to manage, view and remove any queues or messages.

3.4.5. Limitations

Currently there is no support for RabbitMQ within the in built grafana support for the hub at /hubmetrics. This means that to see the state of the queues, workers and throughput, the RabbitMQ admin panel