Utiliser un serveur redis externe

Cette page décrit comment configurer Cyberwatch pour utiliser un serveur Redis externe à la place du serveur Redis déployé en tant que conteneur de l’instance Cyberwatch.

Prérequis

  • Avoir un serveur Redis accessible depuis le nœud maître et tous les nœuds satellites
  • Utiliser le socle en version 5.13 minimum

Configuration

Création d’un utilisateur

Dans le cas d’une utilisation d’un serveur Redis dédié, il est nécessaire d’avoir un utilisateur avec tous les privilèges sur le serveur. Par défaut, Cyberwatch utilise un utilisateur nommé default.

Ces opérations peuvent être réalisées par l’exécution des commandes suivantes depuis le serveur Redis :

ACL SETUSER default >password ~* &* +@all

Configuration du socle Cyberwatch

Adapter la configuration de Cyberwatch à la base externe

Il convient de remplacer le mot de passe REDIS_PASSWORD par celui de l’utilisateur dédié depuis le fichier /etc/cyberwatch/secret.env.

Par ailleurs, l’ensemble des informations de connexion au serveur Redis sont éditables depuis le fichier /etc/cyberwatch/containers.env, où il est nécessaire de modifier :

  • la valeur du champ REDIS_HOST par l’adresse du serveur Redis à contacter
  • la valeur du champ REDIS_USER par le nom de l’utilisateur dédié créé précédemment
  • la valeur du champ REDIS_PORT par le numéro de port sur lequel est joignable le serveur Redis

Reconfigurer le socle pour ne plus utiliser de serveur Redis local

sudo cyberwatch configure --no-redis

Utiliser également les options adéquates de votre instance. Par exemple, si votre instance est constituée de plusieurs nœuds avec base de données externe, alors utiliser la commande sudo cyberwatch configure --no-redis --master --no-db

La configuration avec le nouveau serveur Redis est considérée opérationnelle lorsque le retour de la commande sudo cyberwatch logs sidekiq retourne :

Start healthcheck server...
Watch Redis
Testing redis uri 10.10.16.63:6379
Trying to connect to redis://10.10.16.63:6379/0
Redis is up !
Watch Migration
All migration are done
Healthcheck completed reporting a successful start
Checking if Redis supports TLS
TLS not available
Using Redis URL: redis://10.10.16.63:6379/0
2023-12-08T10:05:55.352Z pid=1 tid=53x INFO: Booted Rails 7.0.8 application in production environment

Retour en haut