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