Aggiornamento software

SKOOR 9.0: Poiché SKOOR 9.0 aggiorna PostgreSQL dalla versione 13 alla 17, sono necessari alcuni passaggi aggiuntivi, come descritto qui.

SKOOR 8.1: È necessario verificare i processi Selenium con Python. Per evitare una perdita di risorse, l'operazione driver.quit() viene eseguita in ogni caso come descritto qui

Si prega di seguire tutte le istruzioni fornite dal supporto SKOOR prima di eseguire un aggiornamento. Potrebbero esserci passaggi preparatori obbligatori che, se ignorati, potrebbero causare errori

In generale, l’aggiornamento dei pacchetti SKOOR Engine e/o Collector già installati dal repository è molto semplice:

Aggiornamento del repository SKOOR

Questo passaggio è necessario per ottenere le configurazioni più recenti del repository.

dnf clean all
dnf update skoor-repo
dnf clean all

Aggiornamento di tutti i componenti SKOOR

Se si desidera aggiornare solo all’ultima versione patch di una specifica versione Major (ad es. 8), utilizzare

dnf update "eranger-*-8.*"

Altrimenti utilizzare

dnf update "eranger-*"

Procedura consigliata

La procedura seguente può essere utilizzata come lista di controllo per un aggiornamento standard del software:

  1. Verificare i repository rpm necessari e gli abbonamenti Red Hat

  2. Verificare se sono disponibili backup completi e di configurazione. Tuttavia, è sempre consigliabile eseguire un backup completo prima di un aggiornamento

  3. Prendere nota dello stato generale del sistema o acquisire uno screenshot della barra di stato nella parte inferiore dell’interfaccia utente di SKOOR Engine

  4. Impostare la manutenzione generale su tutti i collettori relativi all’aggiornamento (i collettori esterni possono essere lasciati invariati o aggiornati in un secondo momento)

  5. Sui sistemi replicati (primario/di riserva):

    1. Verifica lo stato della replica e intervieni se lo stato non è OK

    2. Interrompi la replica

    3. Eseguire l'aggiornamento del server di standby

  6. Eseguire l'aggiornamento del server (primario)

  7. Avviare la replica se non è in esecuzione

  8. Aggiornare i collettori esterni, se configurati

  9. Aggiornare Dashboard Viewer, se configurato

  10. Verificare la presenza di nuovi file di configurazione con estensione .rpmnew e, se necessario
    , unire il contenuto ai file originali. È possibile farlo utilizzando:
    rpmconf -a

  11. Verifica

    1. Lo stato generale del sistema è lo stesso di prima oppure le differenze possono essere spiegate

    2. La replica funziona come in precedenza

    3. È possibile accedere ai dashboard e a Dashboard Viewer

    4. Gli allarmi vengono inviati (e-mail, SMS, ecc.)

  12. Conclusione della manutenzione

  13. Creare un nuovo backup completo

Precauzioni

Le seguenti informazioni si applicano a un'installazione standard di SKOOR. È necessario tenere conto delle configurazioni personalizzate

Percorso predefinito dei backup:

/opt/eranger/server/backups

Eseguire il backup completo:

cd /var/lib/pgsql
sudo -u postgres /opt/eranger/bin/eranger-server-backup.sh full

Impostare la manutenzione generale su tutti i collettori relativi all'aggiornamento in /root/Collectors

Verificare lo stato della replica e arrestare lo standby:

/opt/eranger/bin/eranger-server-replication.pl status
<standby-ip>
<standby-ip> checking ssh for user reranger
<primary-ip> is running
Last read on master(<primary-ip>) 0 seconds ago
/opt/eranger/bin/eranger-server-replication.pl stopstandby

Impronte digitali GPG:

RPM-GPG-KEY-SKOOR:

0C18 95B8 11D4 71E5 D043 EFA3 69E1 147C 2CB4 0F3A

RPM-GPG-KEY-PGDG:

68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8

RPM-GPG-KEY-TIMESCALEDB:

1005 fb68 604c e9b8 f687 9cf7 59f1 8edf 47f2 4417

Aggiornamento a SKOOR 9.0

Assicurarsi che non vi siano collegamenti all'interno di /var/lib/pgsql/13/data verso posizioni esterne a /var/lib/pgsql, poiché ciò potrebbe causare problemi durante l'aggiornamento. Assicurarsi inoltre che non vi siano punti di montaggio verso altri dispositivi all'interno di /var/lib/pgsql.

  • È necessaria una versione aggiornata di skoor-repo (9.0).
    Installarla utilizzando:

    dnf clean all
    dnf update skoor-repo
  • Se è attiva la replica, è necessario interromperla prima di eseguire l’aggiornamento

    /opt/eranger/bin/eranger-server-replication.pl stopstandby

Eseguire prima l'aggiornamento dello standby (senza eseguire lo script update-postgresql), quindi aggiornare il primario ed eseguire un createstandby.

  • L'aggiornamento deve essere eseguito tramite un aggiornamento completo, non solo con `dnf update “eranger-*”` o simili.

    dnf clean all
    dnf update
  • Dopo l’esecuzione di `dnf update`, eseguire `/opt/eranger/database-utils/bin/upgrade-postgresql`.

    /opt/eranger/database-utils/bin/upgrade-postgresql

In questo modo il cluster PostgreSQL 13 verrà aggiornato a un cluster PostgreSQL 17.

  • Dopo l'esecuzione di `/opt/eranger/database-utils/bin/upgrade-postgresql`, il nuovo cluster deve essere analizzato utilizzando

    su postgres -c "/usr/pgsql-17/bin/vacuumdb --all --analyze-in-stages"

Questo passaggio è molto importante. Non saltarlo. Il sistema è già utilizzabile durante l’esecuzione.

  • Se tutto funziona come previsto, il vecchio cluster può essere rimosso utilizzando

     /var/lib/pgsql/delete_old_cluster.sh

Aggiornamento a SKOOR 8.1

I Selenium Jobs devono essere adattati quando si utilizzano script Python. È importante che l’operazione driver.quit() venga eseguita in ogni caso. In caso contrario si verificherà una perdita di risorse!

Con questa versione viene fornito un nuovo pacchetto RPM, eranger-python, destinato principalmente agli script in SKOOR Studio. Si raccomanda di utilizzare questo ambiente Python anche per gli script di importazione legacy.

Aggiornamento a SKOOR 7.2

Ogni SKOOR Collector utilizza almeno una directory per memorizzare i file di misurazione temporanei. Con SKOOR 7.2, tutte le directory temporanee dei Collector verranno ripulite regolarmente:

  • I file più vecchi di 72 ore vengono eliminati

  • Le directory vuote più vecchie di 24 ore vengono eliminate

Poiché il collettore invia tutti i dati di misurazione al server dopo l’esecuzione di ogni processo, non vi è motivo di conservare questi file più a lungo nella directory dei file temporanei. Tuttavia, se in una di queste directory sono stati creati file quali script o altri dati persistenti, è necessario spostarli in una posizione diversa prima di effettuare l’aggiornamento alla versione 7.2.

Utilizzare il seguente comando per ottenere un elenco delle directory temporanee dei collettori (da eseguire sia sul collettore locale che su tutti i collettori esterni):

grep -oP "server\\d+_fetch_parse_dir\\s*=\\s*/var/opt/run/eranger/collector/.+" /etc/opt/eranger/eranger-collector.cfg | perl -pe 's/server\d+_fetch_parse_dir\s*=\s*//g'

Assicurarsi che tutti i file presenti in queste directory possano essere eliminati in tutta sicurezza.

Aggiornamento a SKOOR 7.0

Il pacchetto RPM sdaas-webservice è stato sostituito dal nuovo pacchetto eranger-etl, disponibile anche nel repository RPM di SKOOR.

Si prega di installare eranger-etl dopo l’aggiornamento alla versione 7.0 (è necessario consentire la rimozione di sdaas-webservice per evitare conflitti):

yum remove sdaas-webservice && yum install eranger-etl