Utilizzare un server Redis esterno

Questa pagina descrive come configurare Cyberwatch per utilizzare un server Redis esterno al posto del server Redis distribuito come container dell’istanza Cyberwatch.

Prerequisiti

  • Disporre di un server Redis accessibile dal nodo master e da tutti i nodi satellite
  • Utilizzare la piattaforma di base in versione 5.13 o successiva

Configurazione

Creazione di un utente

Nel caso in cui si utilizzi un server Redis dedicato, è necessario disporre di un utente con tutti i privilegi sul server. Per impostazione predefinita, Cyberwatch utilizza un utente denominato default.

Queste operazioni possono essere eseguite lanciando i comandi seguenti dal server Redis:

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

Configurazione della piattaforma di base Cyberwatch

Adattare la configurazione di Cyberwatch al database esterno

Occorre sostituire la password REDIS_PASSWORD con quella dell’utente dedicato nel file /etc/cyberwatch/secret.env.

Inoltre, tutte le informazioni di connessione al server Redis possono essere modificate nel file /etc/cyberwatch/containers.env, in cui è necessario modificare:

  • il valore del campo REDIS_HOST con l’indirizzo del server Redis da contattare
  • il valore del campo REDIS_USER con il nome dell’utente dedicato creato in precedenza
  • il valore del campo REDIS_PORT con il numero della porta su cui è raggiungibile il server Redis

Riconfigurare la piattaforma di base per non utilizzare più un server Redis locale

sudo cyberwatch configure --no-redis

Utilizzare anche le opzioni appropriate per l’istanza. Ad esempio, se l’istanza è composta da più nodi con database esterno, utilizzare il comando sudo cyberwatch configure --no-redis --master --no-db

La configurazione con il nuovo server Redis è considerata operativa quando l’output del comando sudo cyberwatch logs sidekiq restituisce:

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