Utilitzar un servidor Redis extern

Aquesta pàgina descriu com configurar Cyberwatch perquè utilitzi un servidor Redis extern en lloc del servidor Redis desplegat com a contenidor de la instància de Cyberwatch.

Requisits previs

  • Un servidor Redis accessible des del node mestre i des de tots els nodes satèl·lit
  • La versió 5.13 o posterior de la plataforma base

Configuració

Creació d’un usuari

Si utilitzeu un servidor Redis dedicat, cal disposar d’un usuari amb tots els privilegis al servidor. Per defecte, Cyberwatch utilitza un usuari anomenat default.

Aquestes operacions es poden fer executant les ordres següents des del servidor Redis:

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

Configuració de la plataforma base de Cyberwatch

Adaptar la configuració de Cyberwatch a la base de dades externa

Cal substituir la contrasenya REDIS_PASSWORD per la de l’usuari dedicat al fitxer /etc/cyberwatch/secret.env.

D’altra banda, tota la informació de connexió al servidor Redis es pot editar des del fitxer /etc/cyberwatch/containers.env, on cal modificar:

  • el valor del camp REDIS_HOST per l’adreça del servidor Redis al qual cal connectar-se
  • el valor del camp REDIS_USER pel nom de l’usuari dedicat creat anteriorment
  • el valor del camp REDIS_PORT pel número de port en què és accessible el servidor Redis

Tornar a configurar la plataforma base perquè no utilitzi cap servidor Redis local

sudo cyberwatch configure --no-redis

Utilitzeu també les opcions adequades per a la vostra instància. Per exemple, si la vostra instància consta de diversos nodes amb una base de dades externa, utilitzeu l’ordre sudo cyberwatch configure --no-redis --master --no-db

La configuració amb el servidor Redis nou es considera operativa quan la sortida de l’ordre sudo cyberwatch logs sidekiq és:

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