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 |
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