Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. OMD - Open Monitoring Distribution (OMD)

Il sistema di monitoraggio Checkmk utilizza l'Open Monitoring Distribution (OMD). Fondato da Mathias Kettner, OMD è un progetto open source che ruota attorno all'installazione flessibile e di facile utilizzo di una soluzione di monitoraggio composta da vari componenti. L'abbreviazione OMD potrebbe esserti già familiare come parte dell'installazione di un pacchetto RPM/DEB.

Un'installazione basata su OMD si distingue per una serie di caratteristiche:

  • La possibilità di gestire più siti di monitoraggio in parallelo

  • La possibilità di operare su siti con versioni diverse del software di monitoraggio.

  • Un meccanismo intelligente e conveniente per l'aggiornamento del software

  • Percorsi dei file uniformi, indipendentemente dalla piattaforma Linux installata

  • Una chiara separazione tra dati e software

  • Un'installazione molto semplice, senza dipendere da software di terzi

  • Una perfetta preconfigurazione di tutti i componenti

OMD viene gestito alla riga di comando, utilizzando il comando omd - più precisamente, una serie di comandi omd per le varie azioni utilizzate per la gestione dei siti di monitoraggio, ad esempio omd create per la creazione di un sito. I comandi omd più importanti sono presentati in questo articolo.

Il primo comando è omd help, che visualizza una panoramica dei comandi omd disponibili. Puoi ottenere aiuto per qualsiasi comando aggiungendo l'opzione --help dopo il comando, ad es. omd create --help. I due trattini prima di help sono importanti, perché senza di essi omd create help avrebbe già creato il tuo primo sito con il nome help.

2. Creare siti

L'aspetto forse più interessante di OMD è che può gestire un numero qualsiasi di siti di monitoraggio contemporaneamente su un unico server. Ogni sito è un sistema di monitoraggio autonomo che funziona indipendentemente dagli altri.

Un sito ha sempre un nome distintivo, specificato al momento della sua creazione. Questo nome è lo stesso dell'utente Linux che viene creato nello stesso momento. Il nome del sito si basa sulle convenzioni del nome dell'utente Linux. Il primo carattere del nome del sito deve essere una lettera, mentre tutti gli altri caratteri possono essere lettere, cifre e trattini bassi. La lunghezza massima è di 16 caratteri.

La creazione di un sito viene eseguita con il comando omd create, che deve essere eseguito come utente root:

root@linux# omd create mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type nagios)...
Precompiling host checks...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site mysite with version 2.1.0p17.cre.

  The site can be started with omd start mysite.
  The default web UI is available at http://linux/mysite/

  The admin user for the web applications is cmkadmin with password: YzxfoFZh
  For command line administration of the site, log in with 'omd su mysite'.
  After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.

Durante la creazione dell'utente cmkadmin verrà generata e rilasciata una password in modo casuale.

Cosa succede durante la creazione di un sito chiamato mysite?

  • Verranno creati un utente del sistema operativo mysite e un gruppo mysite.

  • Verrà creata e assegnata una nuova directory home /omd/sites/mysite. Questa directory viene anche chiamata directory del sito.

  • Questa directory home verrà popolata con file di configurazione e sottodirectory.

  • Verrà creata una configurazione di base per il nuovo sito.

Nota: non è possibile creare un nuovo sito con un nome già assegnato sul server come nome di un utente "normale".

2.1. ID utente e gruppo

In alcuni casi è opportuno specificare anche l'ID utente/gruppo del nuovo utente da creare. Questo si può fare con le opzioni -u e -g, ad es:

root@linux# omd create -u 6100 -g 180 mysite

Una panoramica delle altre opzioni può essere visualizzata con omd create --help. Le opzioni più importanti sono:

-u UID

Il nuovo utente verrà creato con l'ID utente UID.

-g GID

Il gruppo del nuovo utente viene creato con il Group-ID GID.

--admin-password mypassword

Il nuovo utente verrà creato con la password mypassword- invece di quella generata casualmente.

--reuse

OMD presume che il nuovo utente esista già e non lo crea. La directory home di questo utente deve trovarsi sotto /omd/sites/ e deve essere vuota.

-t SIZE

Il file system temporaneo del nuovo sito verrà creato con il valore SIZE. SIZE ha il suffisso M (megabyte), G (gigabyte) o % (percentuale di RAM). Esempio: -t 4G

2.2. Directory del sito esterno

Per impostazione predefinita, la directory home di un nuovo sito viene creata all'indirizzo /omd/sites/ e riempita con i file predefiniti. Tuttavia, puoi anche far creare una directory home vuota, ad esempio per montare un volume esterno in questa posizione. Questo viene fatto con l'opzione --no-init:

root@linux# omd create --no-init mysite

Questa opzione omette anche l'integrazione con l'Apache di sistema, lasciando vuota /omd/apache/mysite.conf. Potrai quindi montare qualsiasi directory o volume e continuare la configurazione:

root@linux# omd init mysite

omd init si aggiorna con i due passaggi omessi, quindi aggiunge i file predefiniti e crea la configurazione di Apache.

3. Utente dell'istanza

Puoi eseguire i comandi di omd come utente di root o come utente del sito. In root hai più possibilità. Ad esempio, solo root può creare un sito, il che è logico, perché ovviamente prima di creare un sito è necessario creare un utente dell'istanza. Dal momento che puoi eseguire un comando in root che si applica contemporaneamente a tutti i siti esistenti, devi includere il nome del sito particolare che ti interessa nel comando omd.

Una volta creato il nuovo sito, dovrai eseguire tutti gli altri comandi di omd solo come utente del sito. Come utente del sito potrai eseguire tutte le operazioni importanti che riguardano questo sito.

Lo switch dell'utente si effettua con il comando su:

root@linux# su - mysite

Nota che il segno meno che segue su è essenziale: assicura che lo switch dell'istanza dell'utente processi tutte le operazioni che avvengono durante un normale login. In particolare, tutte le variabili d'ambiente saranno impostate correttamente e la tua sessione inizierà come mysite nella directory del sito /omd/sites/mysite:

OMD[mysite]:~$

Una volta che hai effettuato l'accesso come utente dell'istanza, di solito non è necessario includere il nome del sito nei comandi di omd, poiché tale comando viene applicato solo al sito in cui sei loggato.

Se sul tuo server Checkmk sono installate più versioni di Checkmk, con ognuna di esse viene installata anche la versione di OMD corrispondente. Questo può comportare un lungo elenco di versioni di software nel corso del tempo. Poiché anche i comandi di omd possono differire da una versione all'altra, a volte è interessante sapere con quale versione di OMD stai lavorando.

  • In qualità di utente dell'istanza Checkmk, utilizzerai sempre i comandi omd per la versione di Checkmk attualmente installata nel sito, che potrai visualizzare con omd version.

  • Come utente dell'istanza root, esegui i comandi per la versione predefinita che viene utilizzata anche al momento della creazione di un sito: di solito si tratta dell'ultima versione installata sul server. Puoi visualizzare la versione predefinita con omd version e cambiarla con omd setversion.

4. Avviare e fermare i siti

Il tuo sito è ora pronto per essere avviato, cosa che può essere fatta come root con omd start mysite. Tuttavia, è fondamentalmente meglio lavorare con il sito come utente dell'istanza:

OMD[mysite]:~$ omd start
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Starting agent-receiver...OK
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Starting redis...OK
Initializing Crontab...OK

Non sorprende che l'arresto avvenga con omd stop:

OMD[mysite]:~$ omd stop
Removing Crontab...OK
Stopping redis...killing 484382...OK
Stopping apache...killing 484371...OK
Stopping nagios...OK
Stopping npcd...OK
Stopping rrdcached...waiting for termination...OK
Stopping mkeventd...killing 484279...OK
Stopping agent-receiver...killing 484267...OK
Stopping 1 remaining site processes...OK

L'avvio e l'arresto di un sito non è altro che l'avvio o l'arresto di una raccolta di servizi, che possono essere gestiti singolarmente specificando, ad esempio, il nome del servizio:

OMD[mysite]:~$ omd start apache
Temporary filesystem already mounted
Starting apache...OK

I nomi dei vari servizi si trovano nella directory ~/etc/init.d. Nota la tilde (~) che precede il nome del percorso: rappresenta la directory home dell'utente dell'istanza (la directory del sito).~/etc/init.d e /etc/init.d sono directory diverse.

Oltre a start e stop, ci sono anche i comandi omd, restart, reload e status. Ricaricare Apache è sempre necessario, ad esempio, dopo una modifica manuale della configurazione di Apache:

OMD[mysite]:~$ omd reload apache
Reloading apache

Nota che questo non si applica al processo Apache del server Linux globale, ma piuttosto al processo Apache dedicato al sito.

Per avere una panoramica dello stato del sito dopo tutti gli avvii e le interruzioni, è sufficiente utilizzare omd status:

OMD[mysite]:~$ omd status
agent-receiver: stopped
mkeventd:       stopped
rrdcached:      stopped
npcd:           stopped
nagios:         stopped
apache:         running
redis:          stopped
crontab:        stopped
-----------------------
Overall state:  partially running

5. Configurazione dei componenti

Come già accennato, OMD integra diversi componenti software in un sistema di monitoraggio. Così facendo, alcuni componenti sono opzionali e per altri esistono alternative o impostazioni operative diverse. Tutto questo può essere comodamente configurato con il comando omd config. Esistono anche modalità interattive e di script.

5.1. Configurazione interattiva

Come utente dell'istanza puoi semplicemente chiamare la modalità interattiva con:

OMD[mysite]:~$ omd config
Main menu of `omd config`.
Nel menu di omd config navighi con il cursore e i tasti di invio.

Quando modifichi un'impostazione mentre il sito è in funzione, OMD ti informa che il sito deve essere prima fermato e lo fa in base alle necessità:

Hint when changing a setting while the site is running.
La configurazione può essere modificata solo quando il sito non è in funzione.

Non dimenticare di riavviare il sito al termine del lavoro.omd config non lo farà automaticamente.

5.2. Configurazione in modalità script

Chi non ama la modalità interattiva o preferisce lavorare con gli script, può impostare le singole impostazioni come variabili tramite la linea di comando. Per questo esiste il comando omd config set. L'esempio seguente imposta la variabile AUTOSTART a off:

OMD[mysite]:~$ omd config set AUTOSTART off

Questa operazione può essere eseguita anche come root se il nome del sito viene aggiunto come argomento:

root@linux# omd config mysite set AUTOSTART off

L'assegnazione attuale di tutte le variabili mostra come root il comando omd config mysite show e come utente dell'istanza omd config show:

OMD[mysite]:~$ omd config show
ADMIN_MAIL:
AGENT_RECEIVER: on
AGENT_RECEIVER_PORT: 8005
APACHE_MODE: own
APACHE_TCP_ADDR: 127.0.0.1
APACHE_TCP_PORT: 5008
AUTOSTART: off
[...]

L'output del comando è abbreviato per chiarezza e mostra solo le prime voci.

5.3. Impostazioni comunemente utilizzate

Ci sono numerose impostazioni in omd config. Le più importanti sono:

Variabile Predefinita Significato

AUTOSTART

on

Imposta questo valore su off se vuoi impedire l'avvio automatico del sito all'avvio del computer. Questo è interessante soprattutto per le installazioni di prova che normalmente non si avviano da sole.

CORE

nagios (Checkmk Raw),
cmc (edizioni commerciali)

Selezione del nucleo di monitoraggio. Nelle edizioni commerciali è possibile selezionare il core Nagios invece del Checkmk Micro Core (CMC). Checkmk Raw ha solo nagios come nucleo di monitoraggio.

MKEVENTD

on

Attiva la Console degli Eventi con la quale è possibile processare i messaggi syslog, le trap SNMP e altri eventi.

LIVESTATUS_TCP

off

Consente l'accesso esterno ai dati di stato di questo sito. Questo può essere utilizzato per impostare un monitoraggio distribuito. Lo stato di questo sito (remoto) può essere incorporato nel sito centrale. Attiva questa impostazione solo in una rete sicura.

Nota: puoi vedere queste variabili con gli stessi nomi anche nella modalità interattiva.

6. Copiare e rinominare i siti

6.1. Copiare i siti

A volte è utile creare una copia di un sito a scopo di test o per preparare un aggiornamento. Naturalmente si potrebbe semplicemente copiare la directory /omd/sites/mysite_old in /omd/sites/mysite_new. Questo però non funzionerà come desiderato, perché:

  • molti file di configurazione includono il nome del sito,

  • in molti punti compaiono anche percorsi assoluti che iniziano con /omd/sites/mysite_old,

  • e, non da ultimo, a livello di sistema operativo deve esistere un utente dell'istanza, compreso il gruppo associato, che possiede il sito e che per impostazione predefinita ha lo stesso nome del sito.

Per semplificare la copia di un sito, esiste il comando omd cp che tiene conto di tutto questo. Esegui il comando come root e inserisci semplicemente il nome del sito esistente seguito dal nome del nuovo sito. Ad esempio:

root@linux# omd cp mysite_old mysite_new

La copia può funzionare solo se

  • il sito è fermo e

  • non sono in esecuzione processi appartenenti all'utente dell'istanza.

Entrambe le condizioni garantiscono che il sito sia in uno stato coerente al momento della copia e che non cambi durante l'operazione.

6.2. Migrazione della configurazione

In origine, OMD poteva gestire solo i file creati durante la creazione del sito con omd create e che contenevano anche l'ID del sito ($OMD_SITE). Questi file possono essere trovati nella directory del sito ~/etc con questo comando:

OMD[mysite]:~$ grep -r $OMD_SITE etc

In precedenza, OMD non poteva fare nulla con i file di configurazione creati successivamente attraverso il lavoro con l'istanza Checkmk (le configurazioni degli host aggiunti in un secondo momento, ad esempio). Da un punto di vista puramente tecnico, questo comportamento corrisponde esattamente allo scopo di OMD. Tuttavia, l'aspettativa della maggior parte degli utenti dell'istanza è che omd cp crei un sito completamente nuovo che possa continuare ad essere utilizzato in modo produttivo, compresa la sua configurazione di monitoraggio.

A partire dalla versione di Checkmk 2.1.0 OMD può ora personalizzare gli elementi più importanti della configurazione di Checkmk. A proposito, non devi fare nulla: l'intera migrazione descritta di seguito avviene automaticamente.

Un esempio tipico: nelle proprietà di un host puoi utilizzare l'attributo Monitored on site per specificare manualmente su quale sito questo host deve essere monitorato, ad esempio mysite_old. Dopo un omd cp mysite_old mysite_new il valore cambierà di conseguenza in mysite_new. (In precedenza questa procedura avrebbe portato alla voce Unknown site (mysite_old)).

L'implementazione tecnica di questa migrazione è la seguente: OMD rileva le modifiche all'ID del sito ed esegue il comando post-rename-site -v -o mysite_new. Le singole fasi della migrazione vengono poi processate in modo completamente automatico tramite i cosiddetti plugin per le azioni di rinomina, che puoi trovare all'indirizzo cmk/post_rename_site/plugins/actions nel repository Git.

La migrazione comprende anche l'informazione su tutto ciò che non può essere migrato automaticamente.

Ecco un esempio concreto: stai utilizzando il monitoraggio distribuito e rinomini sia il sito centrale che un sito remoto.

Sito centrale: Il plug-in sites.py rileva che si tratta di un sito centrale e aggiorna, tra le altre cose, il valore URL prefix, che si trova nelle impostazioni di connessione del sito locale sotto Setup > General > Distributed Monitoring.

Sito remoto: Il plug-in warn_remote_site.py riconosce che si tratta di un sito remoto e di conseguenza indica che il sito centrale deve essere controllato e, se necessario, personalizzato manualmente. Questo significa che nelle impostazioni del monitoraggio distribuito sul sito centrale, il nuovo nome del sito remoto deve essere inserito nelle impostazioni di connessione al sito remoto rinominato - OMD ovviamente non può farlo da un computer remoto.

OMD stesso ti informa dettagliatamente sull'intera procedura nel terminale. Qui puoi vedere un esempio di messaggi di migrazione dall'output di omd cp quando si rinomina un sito centrale - separati in messaggi di successo e messaggi di avvertimento. I processi di rename action plugins sono numerati singolarmente. Prima l'output delle attività di migrazione eseguite automaticamente (qui abbreviato):

...
Executing post-cp script "01_cmk-post-rename-site"...
-|  1/6 Distributed monitoring configuration...
-|  2/6 Hosts and folders...
-|  3/6 Update core config...
...

La seconda parte dell'output contiene ora suggerimenti sulle impostazioni che potresti dover configurare manualmente (qui molto abbreviati):

...
-|  4/6 Warn about renamed remote site...
-|  5/6 Warn about new network ports...
-|  6/6 Warn about configurations to review...
...

L'elemento Warn about configurations to review…​ include note generali su singoli aspetti che in genere devono essere rivisti manualmente durante una migrazione, come ad esempio i filtri codificati per le visualizzazioni:

...
-| Parts of the site configuration cannot be migrated automatically. The following
-| parts of the configuration may have to be reviewed and adjusted manually:
-|
-| - Custom bookmarks (in users bookmark lists)
-| - Hard coded site filters in custom dashboards, views, reports
-| - Path in rrdcached journal files
-| - NagVis maps or custom NagVis backend settings
-| - Notification rule "site" conditions
-| - Event Console rule "site" conditions
-| - "site" field in "Agent updater (Linux, Windows, Solaris)" rules (CEE/CME only)
-| - Alert handler rule "site" conditions (CEE/CME only)
-|
-| Done

Ecco una panoramica dei sei plug-in attualmente attivi: l'ordine corrisponde alla numerazione dell'output di cui sopra:

Plug-in Funzione

sites.py

Modifica l'ID del sito in vari file di configurazione.

hosts_and_folders.py

Modifica l'attributo del sito nelle proprietà di host e cartelle.

update_core_config.py

Aggiorna la configurazione del core (cmk -U).

warn_remote_site.py

WARN segnala la rinominazione di un sito remoto.

warn_changed_ports.py

Avverte di problemi con porte multiple.

warn_about_not_migrated_configs.py

Suggerimenti generali per gli elementi che devono essere controllati manualmente.

6.3. Limitare il volume dei dati

Se stai monitorando un gran numero di host con il sito, il volume di dati da copiare può essere piuttosto consistente. La maggior parte di questi è prodotta dai valori misurati archiviati nei Round Robin Database (RRD), ma anche i file di log contenenti gli eventi storici possono produrre volumi di dati più grandi.

Se lo storico non è necessario (ad esempio, perché vuoi testare rapidamente qualcosa), è possibile ometterlo dalla copia. In questi casi, le seguenti opzioni possono essere aggiunte a omd cp:

--no-rrds

Copia il sito senza gli RRD.

--no-logs

Copia il sito senza i file di log e altri dati storici.

-N

Entrambe le cose: -N è un'abbreviazione di --no-rrds --nologs.

L'ordine delle opzioni è importante:

root@linux# omd cp --no-rrds mysite_old mysite_new

6.4. Rinominare i siti

La ridenominazione di un sito si esegue con il comando omd mv. Questa operazione è simile alla copia di un sito, ha gli stessi prerequisiti e comprende anche la migrazione della configurazione. Le opzioni per limitare il volume dei dati non sono disponibili poiché i dati vengono solo spostati in un'altra directory e non vengono duplicati.

Esempio:

root@linux# omd mv mysite_old mysite_new

Quando si rinomina un sito con omd mv, il nome del sito viene modificato, ma alcuni attributi del sito non vengono modificati, tra cui l'ID del sito. Questo comando non è quindi adatto per operare su un sito che è stato duplicato, ad esempio da un backup, contemporaneamente alla sua versione originale in un monitoraggio distribuito, anche se i siti coinvolti hanno nomi diversi dopo l'esecuzione di omd mv.

6.5. Altre opzioni

Come per la creazione di un sito, la copia e la ridenominazione creano un nuovo utente Linux. Per questo motivo omd cp e omd mv hanno anche alcune delle stesse opzioni di omd create, ad es. per specificare gli ID degli utenti e dei gruppi. Per informazioni più dettagliate, usa i comandi omd cp --help e omd mv --help.

7. Mostrare le modifiche ai file di configurazione

Quando si crea un sito, il comando omd create riempie la directory ~/etc con numerosi file di configurazione predefiniti. Verranno inoltre create diverse directory sotto ~/var e ~/local.

Quando dopo un certo periodo di tempo vorrai determinare quali file non sono più nelle condizioni originarie del provider, il comando omd diff ti fornirà la risposta. Tra l'altro, questo è utile prima di un aggiornamento di Checkmk, poiché le tue modifiche potrebbero entrare in conflitto con quelle dei file predefiniti.

Quando viene richiamato senza ulteriori argomenti, verranno elencati tutti i file modificati al di sotto della directory corrente:

OMD[mysite]:~$ omd diff
 * Changed content var/check_mk/wato/auth/auth.php
 ! Changed permissions var/check_mk/wato/auth/auth.php
 * Changed content etc/htpasswd
 * Changed content etc/diskspace.conf
 ! Changed permissions etc/diskspace.conf
 * Changed content etc/auth.secret
 * Changed content etc/mk-livestatus/xinetd.conf
 * Changed content etc/omd/allocated_ports
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf

Puoi anche inserire una query per una directory specifica:

OMD[mysite]:~$ omd diff etc/apache
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf

Se vuoi vedere le modifiche in dettaglio, inserisci semplicemente il percorso del file:

OMD[mysite]:~$ omd diff etc/apache/apache.conf
74,75c74,75
< ServerLimit 64
< MaxClients 64
---
> ServerLimit 128
> MaxClients 128

8. Aggiornare i siti

Il comando omd update viene utilizzato per aggiornare il software di monitoraggio installato sul sito a una versione successiva. Questa procedura è presentata in dettaglio nell'articolo Aggiornamento di Checkmk. Altri utili comandi omd relativi agli aggiornamenti del software sono mostrati come esempi:

  • omd versions per elencare tutte le versioni di software installate,

  • omd sites per elencare tutti i siti esistenti con le versioni installate,

  • omd version visualizzare la versione predefinita utilizzata al momento della creazione di un sito,

  • omd setversion impostare una versione predefinita diversa.

Inoltre, omd update viene utilizzato anche per passare a un'altra edizione, ad es. da Checkmk Raw a Checkmk Enterprise.

9. Backup e ripristino dei siti

9.1. Creare un backup

La gestione dei siti in Checkmk dispone di un meccanismo integrato per il backup e il ripristino dei siti Checkmk. I comandi omd backup e omd restore sono le basi per impacchettare tutti i dati del sito in un archivio tar e, rispettivamente, per estrarre tali dati per un ripristino.

Nota: Checkmk offre anche la possibilità di eseguire backup e ripristini senza utilizzare la riga di comando, tramite la GUI all'indirizzo Setup > Maintenance > Backups. Qui puoi anche creare backup criptati e richieste di backup programmate. Consulta l'articolo sui backup per sapere come fare.

Il backup di un sito con omd backup non richiede i permessi di root. Un utente dell'istanza può eseguirlo. Basta inserire come argomento il nome del file di backup da creare:

OMD[mysite]:~$ omd backup /tmp/mysite.tar.gz

Nota che:

  • Il tipo di file creato è un archivio tar compresso in gzip. Pertanto, utilizza .tar.gz o .tgz come estensione del file.

  • Non archiviare il backup nella directory del sito, poiché questa sarà ovviamente sottoposta a backup completo: ogni backup successivo conterrà quindi una copia di tutti i precedenti.

  • Se crei il backup come utente del sito, solo l'utente dell'istanza e il suo gruppo avranno accesso in lettura e scrittura all'archivio tar.

Se la directory di destinazione del backup non è scrivibile per un utente dell'istanza, puoi eseguire il backup anche come root. In questo caso è necessario un argomento aggiuntivo, come sempre, che specifichi il nome del sito di cui eseguire il backup:

root@linux# omd backup mysite /var/backups/mysite.tar.gz

Il backup contiene tutti i dati del sito, ad eccezione dei dati volatili che si trovano in ~/tmp/. Con il comando tar tzf si può facilmente dare un'occhiata al contenuto del file:

OMD[mysite]:~$ tar tvzf /tmp/mysite.tar.gz  | less
lrwxrwxrwx mysite/mysite     0 2022-07-25 11:59 mysite/version -> ../../versions/2.1.0p8.cre
drwxr-xr-x mysite/mysite     0 2022-07-25 17:25 mysite/
-rw------- mysite/mysite   370 2022-07-26 17:09 mysite/.bash_history
-rw-r--r-- mysite/mysite  1091 2022-07-25 11:59 mysite/.bashrc
-rw-r--r-- mysite/mysite    63 2022-07-25 11:59 mysite/.modulebuildrc
-rw-r--r-- mysite/mysite  2066 2022-07-25 11:59 mysite/.profile
drwxr-xr-x mysite/mysite     0 2022-07-25 11:59 mysite/.version_meta/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/
-rw-r--r-- mysite/mysite  1091 2022-06-26 02:03 mysite/.version_meta/skel/.bashrc
-rw-r--r-- mysite/mysite    52 2022-07-20 09:02 mysite/.version_meta/skel/.modulebuildrc
-rw-r--r-- mysite/mysite  2055 2022-06-26 02:03 mysite/.version_meta/skel/.profile
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/apache/
-rw-r--r-- mysite/mysite  1524 2022-06-26 02:03 mysite/.version_meta/skel/etc/apache/apache-own.conf

9.2. Backup senza cronologia

La maggior parte dei dati da spostare durante il backup di un sito sono i valori misurati e i file di log con i dati storici. Questo vale sia per il backup che per la copia di un sito. Se non hai assolutamente bisogno di questi dati, puoi ometterli e rendere così il backup molto più veloce e il file di output risultante molto più piccolo.

omd backup offre le stesse opzioni per omettere questi dati che omd cp offre per la copia. Nell'esempio seguente, il backup viene creato senza i dati di misurazione e senza la cronologia archiviata nei file di log:

OMD[mysite]:~$ omd backup -N /tmp/mysite.tar.gz

9.3. Backup di un sito in esecuzione

Per garantire uno stato coerente dei Database Round Robin (RRD) utilizzati per registrare i dati di misurazione, il comando omd backup modifica automaticamente la cache Round Robin in una modalità in cui gli aggiornamenti in corso vengono scritti solo nel diario e non più negli RRD. I file del diario sono gli ultimi a essere sottoposti a backup: in questo modo si può ottenere che la maggior parte possibile dei dati di misurazione generati durante il backup sia inclusa nel backup.

9.4. Ripristino

Il ripristino di un backup è semplice come la creazione di un backup. Il comando omd restore ripristina un sito da un backup - nella versione di Checkmk utilizzata per il backup del sito. Pertanto, affinché il ripristino funzioni, questa stessa versione deve essere installata sul server Checkmk.

Il sito viene completamente svuotato e riempito. Prima di omd restore il sito deve essere fermato e successivamente deve essere riavviato:

OMD[mysite]:~$ omd stop
OMD[mysite]:~$ omd restore /tmp/mysite.tar.gz
OMD[mysite]:~$ omd start

Il ripristino può essere eseguito anche da un utente di root. A differenza di quando viene chiamato dall'utente dell'istanza, il sito verrà ricreato con il backup.

Quindi, se esiste ancora un sito con lo stesso nome, dovrai eliminarlo prima del ripristino. Questo può essere eseguito con un comando omd rm, oppure semplicemente includendo l'opzione --reuse con il comando omd restore. Un comando --kill assicura inoltre che il sito già esistente venga fermato prima di procedere al ripristino. Non è necessario specificare il nome del sito nel comando, perché è contenuto nel backup:

root@linux# omd restore --reuse --kill /var/backup/mysite.tar.gz
root@linux# omd start mysite

Come root, puoi anche ripristinare un sito con un nome diverso da quello del backup: per farlo, specifica il nome desiderato come argomento dopo la parola restore:

root@linux# omd restore mysite2 /var/backup/mysite.tar.gz
Restoring site mysite2 from /tmp/mysite.tar.gz...
 * Converted ./.modulebuildrc
 * Converted ./.profile
 * Converted etc/xinetd.conf
 * Converted etc/logrotate.conf

Il lungo elenco di conversioni che avvengono in questo caso ha la stessa funzione della copia e della ridenominazione dei siti descritta in precedenza. Il nome del sito è incluso in numerosi file di configurazione e con questa procedura tutte le occorrenze saranno sostituite automaticamente dal nuovo nome.

9.5. Backup e ripristino in tempo reale su un altro server

I comandi omd backup e omd restore, come da tradizione Unix, possono funzionare anche tramite input/output standard invece che tramite file. Al posto del percorso del file tar, è sufficiente inserire un trattino (-).

In questo modo è possibile creare una pipe e trasmettere i dati direttamente a un altro computer senza bisogno di file intermedi. Quanto più grande è il backup, tanto più vantaggioso sarà questo metodo, poiché non sarà necessario spazio temporaneo nel file system del server sottoposto a backup.

Il seguente comando esegue il backup di un sito su un altro computer utilizzando SSH:

root@linux# omd backup mysite - | ssh user@otherserver "cat > /var/backup/mysite.tar.gz"

Se vuoi annullare l'accesso SSH, cioè preferire la connessione dal server Checkmk al sito, questo è possibile, come mostra l'esempio seguente. A tal fine, è necessario prima consentire un login SSH come utente dell'istanza Checkmk.

root@otherserver# ssh mysite@checkmkserver "omd backup -" > /var/backup/mysite.tar.gz

Se sei intelligente e combini quanto sopra con un omd restore che legge i dati dallo standard input, puoi copiare un sito completo e funzionante da un file server all'altro, senza bisogno di spazio aggiuntivo per un file di backup:

root@otherserver# ssh mysite@checkmkserver "omd backup -" | omd restore -

E ora di nuovo il tutto con un accesso SSH annullato, questa volta dal sistema di origine a quello di destinazione:

root@linux# omd backup mysite - | ssh user@otherserver "omd restore -"

10. Disabilitare i siti

OMD può disabilitare i siti. Con il comando omd disable --kill mysite, eseguito come root, succede quanto segue:

  1. Il sito mysite viene interrotto.

  2. I processi che accedono al sito tmpfs vengono fermati.

  3. Il sito tmpfs viene smontato.

  4. Il file /omd/apache/mysite.conf viene svuotato.

  5. Apache viene riavviato.

In questo stato, la directory home del sito, in questo caso /omd/sites/mysite, non è più referenziata da nessun processo. Questo è particolarmente pratico in un cluster, poiché la directory home può essere spostata su un altro nodo.

11. Eliminare i siti

Eliminare un sito è facile come crearne uno: con il comando omd rm come root. Il sito verrà prima fermato automaticamente.

root@linux# omd rm mysite
PLEASE NOTE: This action removes all configuration files
             and variable data of the site.

In detail the following steps will be done:
- Stop all processes of the site
- Unmount tmpfs of the site
- Remove tmpfs of the site from fstab
- Remove the system user <SITENAME>
- Remove the system group <SITENAME>
- Remove the site home directory
- Restart the system wide apache daemon
 (yes/NO): yes

Attenzione: È ovvio che questa azione cancella anche tutti i dati del sito!

Se non ami le finestre di dialogo di conferma o desideri eseguire la cancellazione come parte di uno script, puoi forzare la cancellazione con l'opzione -f.

Attenzione: In questo caso, -f deve essere posizionato prima di rm:

root@linux# omd -f rm mysite

12. Disinstallazione delle versioni non utilizzate

Poiché Checkmk può essere installato in più versioni contemporaneamente, può accadere che non tutte le versioni siano effettivamente utilizzate da un'istanza. OMD può disinstallare le versioni non utilizzate con il comando cleanup:

root@linux# omd cleanup
1.6.0p28.cee         In use (by mysite_old). Keeping this version.
2.1.0p15.cee         Uninstalling
2.1.0p15.cme         Uninstalling
2.1.0p15.cre         In use (by mysite_raw). Keeping this version.
2.1.0p19.cme         Keeping this version, since it is the default.
2022.12.14.cee       In use (by mysite). Keeping this version.

OMD mantiene la configurazione predefinita in aggiunta alle versioni utilizzate; a meno che non sia configurata manualmente in modo diverso, l'ultima versione di Checkmk installata, qui 2.1.0p19.cme.

13. File e directory

Percorso Descrizione

/omd/sites/mysite

Directory del sito mysite.

~/etc/

I file di configurazione del sito sono memorizzati in questa directory.

In questa pagina