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. Open Monitoring Distribution (OMD)

Il sistema di monitoraggio Checkmk utilizza l'Open Monitoring Distribution (OMD). Fondato da Mathias Kettner, OMD è un progetto open source incentrato sull'installazione intuitiva e flessibile di una soluzione di monitoraggio composta da vari componenti. L'abbreviazione OMD potrebbe già esserti familiare come parte dell'installazione dei pacchetti RPM/DEB.

Caratteristiche di un'installazione basata su OMD

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

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

  • La possibilità di gestire istanze con versioni diverse del software di monitoraggio

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

  • Percorsi dei file uniformi, indipendentemente dalla piattaforma Linux installata

  • Una chiara separazione tra dati e software

  • Un'installazione semplicissima — senza dipendere da software di terze parti

  • Una perfetta preconfigurazione di tutti i componenti

OMD si gestisce dalla riga di comando, utilizzando il comando omd — più precisamente, una serie di comandi omd per le varie azioni utilizzate per la gestione delle istanze di monitoraggio, ad esempio omd create per creare un'istanza. I comandi omd più importanti sono presentati in questo articolo.

Il primo comando è omd help, che mostra una panoramica dei comandi omd disponibili. Puoi ottenere aiuto per qualsiasi di questi comandi aggiungendo l'opzione --help dopo il comando, ad esempio omd create --help. I due trattini prima di help sono importanti in questo caso, perché senza di essi omd create help avrebbe già creato la tua prima istanza con il nome help.

2. Creazione delle istanze

Forse la cosa migliore di OMD è che può gestire contemporaneamente un numero illimitato di istanze di monitoraggio su un unico server. Ogni istanza è un sistema di monitoraggio autonomo che funziona indipendentemente dagli altri.

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

Al momento della creazione dell’istanza, viene creato automaticamente l’utente predefinito cmkadmin. Devi fornire una password per questo utente quando crei l’istanza. La password può essere modificata in qualsiasi momento in seguito.

La creazione viene eseguita con il comando omd create. Questo comando deve essere eseguito come utente root. Aggiungi a questo comando l'opzione --admin-password mypassword e il nome del sito. Per evitare che la password dell'amministratore dell'istanza appaia in chiaro nella cronologia della riga di comando, puoi anteporre uno spazio al comando.

L'esempio seguente mostra la creazione di un'istanza denominata mysite con la password t0p53cr3t per l'amministratore dell'istanza:

root@linux# omd create --admin-password t0p53cr3t 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
Executing post-create script "02_cmk-compute-api-spec"...OK
Executing post-create script "03_message-broker-certs"...OK
Restarting Apache...OK
Created new site mysite with version 2.4.0p24.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: t0p53cr3t
  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'.
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Cosa succede durante la creazione di un'istanza chiamata 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 è anche denominata directory dell'istanza.

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

  • Verrà creata una configurazione di base per l'istanza nuova.

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

2.1. ID utente e gruppo

In alcuni casi è anche utile specificare l'ID utente/gruppo del nuovo utente da creare. Questo si fa con le opzioni -u e -g, ad esempio:

root@linux# omd create -u 6100 -g 180 --admin-password t0p53cr3t mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Puoi visualizzare una panoramica delle altre opzioni 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 verrà creato con l'ID gruppo GID.

--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 dell'istanza nuova verrà creato con il valore SIZE. SIZE ha il suffisso M (megabyte), G (gigabyte) o % (percentuale di RAM). Esempio: -t 4G

2.2. Directory dell'istanza esterna

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

root@linux# omd create --no-init --admin-password t0p53cr3t mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

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

root@linux# omd init mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

omd init poi recupera i due passaggi omessi, quindi aggiunge i file predefiniti e crea la configurazione di Apache.

3. Utente dell’istanza

Puoi eseguire i comandi omd sia come utente roote che come utente dell’istanza. Come utente root hai più possibilità. Ad esempio, solo root può creare un’istanza, il che è logico, perché ovviamente bisogna prima creare un’istanza prima di poter creare un utente per essa. Dato che su root puoi eseguire un comando che si applica contemporaneamente a tutte le istanze esistenti, devi includere il nome dell’istanza specifica che ti interessa nel comando omd.

Una volta creato il nuovo sito, dovresti eseguire qualsiasi altro comando omd solo come utente dell’istanza. Come utente dell’istanza puoi eseguire tutte le operazioni importanti che riguardano questa istanza.

Il switch dell'utente si effettua con su:

root@linux# su - mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Tieni presente che il segno meno che segue il comando `su` è essenziale. Assicura che il processo di cambio di utente elabori 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 dell'istanza `/omd/sites/mysite`:

OMD[mysite]:~$

Una volta effettuato l'accesso come utente dell’istanza, di solito non è necessario includere il nome dell’istanza nei comandi omd, poiché tali comandi vengono applicati solo all’istanza a cui hai effettuato l'accesso.

Se sul tuo server Checkmk sono installate più versioni di Checkmk, anche la versione OMD corrispondente viene installata con ciascuna di queste versioni. Con il passare del tempo, questo può portare a un lungo elenco di versioni del software. Poiché i comandi omd possono variare da una versione all'altra, a volte è utile sapere con quale versione di OMD stai lavorando al momento.

  • Come utente dell’istanza, utilizzi sempre i comandi omd relativi alla versione di Checkmk attualmente installata sull’istanza, che puoi visualizzare con omd version.

  • Come utente di root, esegui i comandi per la versione predefinita che viene utilizzata anche durante la creazione di un sito — di solito è l'ultima versione installata sul server. Puoi visualizzare la versione predefinita con omd version e modificarla con omd setversion.

4. Avvio e arresto delle istanze

Il tuo sito è ora pronto per essere avviato — puoi farlo come root con omd start mysite. È tuttavia decisamente meglio lavorare con l’istanza 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Come prevedibile, l'arresto si effettua con l'omd stope:

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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Avviare e arrestare un'istanza non è altro che avviare o arrestare una raccolta di servizi. Questi possono anche essere gestiti singolarmente specificando il nome del servizio, ad esempio:

OMD[mysite]:~$ omd start apache
Temporary filesystem already mounted
Starting apache...OK
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

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 dell'istanza). ~/etc/init.de /etc/init.d sono directory diverse.

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

OMD[mysite]:~$ omd reload apache
Reloading apache
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

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

Per poter mantenere una panoramica dello stato dell'istanza dopo tutti gli avvii e gli arresti, basta usare 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

5. Configurazione dei componenti

Come già accennato, OMD integra diversi componenti software in un unico sistema di monitoraggio. In questo contesto, alcuni componenti sono opzionali, mentre per altri esistono alternative o diverse impostazioni operative. Tutto questo può essere comodamente configurato con il comando omd config. Sono disponibili anche le modalità interattiva e di scripting.

5.1. Configurazione interattiva

Come utente dell’istanza puoi semplicemente richiamare la modalità interattiva con:

OMD[mysite]:~$ omd config
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!
Main menu of `omd config`.
Nel menu "omd config" puoi navigare con i tasti freccia e "Enter"

Non appena modifichi un'impostazione mentre l'istanza è in esecuzione, OMD ti informerà che devi prima arrestare l'istanza e lo farà se necessario:

Hint when changing a setting while the site is running.
La configurazione può essere modificata solo quando l'istanza non è in esecuzione

Non dimenticare di riavviare l'istanza al termine del lavoro. omd confignon lo farà automaticamente per te.

5.2. Configurazione tramite modalità script

Chi non ama la modalità interattiva o preferisce lavorare con gli script può impostare le singole impostazioni come variabili tramite la riga di comando. A questo scopo è disponibile il comando omd config set. L'esempio seguente imposta la variabile AUTOSTART su off:

OMD[mysite]:~$ omd config set AUTOSTART off
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Questo può essere eseguito anche come root se il nome dell'istanza viene aggiunto come argomento:

root@linux# omd config mysite set AUTOSTART off
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

L'assegnazione attuale di tutte le variabili viene visualizzata 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
[...]
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

L'output sopra riportato è stato abbreviato per chiarezza e mostra solo le prime voci.

5.3. Impostazioni di uso comune

omd config offre numerose impostazioni. Le più importanti sono:

Variabile Impostazione predefinita Significato

AUTOSTART

on

Imposta questa opzione su "off" se vuoi impedire l'avvio automatico dell'istanza all'accensione del computer. Questo è particolarmente utile per le installazioni di prova che normalmente non dovrebbero avviarsi da sole.

CORE

nagios (Comunità Checkmk),
cmc (edizioni commerciali)

Selezione del nucleo di monitoraggio. Nelle edizioni commerciali è possibile selezionare il nucleo Nagios al posto del Checkmk Micro Core (CMC). CRE Comunità Checkmk ha solo nagios come nucleo di monitoraggio.

MKEVENTD

on

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

LIVESTATUS_TCP

off

Consente l'accesso esterno ai dati di stato di questa istanza. Questa opzione può essere utilizzata per configurare un monitoraggio distribuito. Lo stato di questa istanza (remota) può essere integrato nell'istanza centrale. Abilita questa impostazione solo in una rete sicura.

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

6. Copiare e rinominare le istanze

6.1. Copiare le istanze

A volte è utile creare una copia di un'istanza per fare dei test o quando ti prepari per un aggiornamento. Ovviamente potresti semplicemente copiare la directory /omd/sites/mysite_old in /omd/sites/mysite_new. Questo però non funzionerà come vorresti, perché:

  • molti file di configurazione includono il nome dell'istanza,

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

  • e, non da ultimo, a livello di sistema operativo deve esserci un utente, compreso il gruppo associato, che sia proprietario dell’istanza e che per impostazione predefinita abbia lo stesso nome dell’istanza.

Per semplificare la copia di un'istanza, c'è invece il comando omd cp, che tiene conto di tutto questo. Esegui il comando come root e inserisci semplicemente il nome dell'istanza esistente seguito dal nome di quella nuova. Ad esempio:

root@linux# omd cp mysite_old mysite_new
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

La copia funziona solo se:

  • l'istanza è arrestata e

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

Entrambe queste condizioni assicurano che l'istanza sia in uno stato coerente al momento della copia e non cambi durante l'operazione.

6.2. Migrazione della configurazione

Inizialmente, OMD poteva handle solo i file creati effettivamente durante la creazione dell'istanza con omd create e che contenevano anche l'ID dell'istanza ($OMD_SITE). Questi file si trovano nella directory dell'istanza ~/etc con questo comando:

OMD[mysite]:~$ grep -r $OMD_SITE etc
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

In precedenza, OMD non poteva fare nulla con i file di configurazione creati successivamente tramite il lavoro con il sito Checkmk (ad esempio, le configurazioni degli host aggiunti in un secondo momento). Da un punto di vista puramente tecnico, questo comportamento corrisponde esattamente all’ambito di OMD. Tuttavia, la maggior parte degli utenti si aspetta che un’omd cpe crei un’istanza completamente nuova che possa continuare a essere utilizzata in modo produttivo, inclusa la propria configurazione di monitoraggio.

A partire dalla versione 2.1.0 di Checkmk, OMD può ora personalizzare anche 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 usare l'attributo Monitored on site per specificare manualmente su quale istanza questo host debba essere sottoposto a monitoraggio, 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'effettiva implementazione tecnica di questa migrazione è la seguente: OMD rileva le modifiche all'ID dell'istanza e quindi esegue il comando post-rename-site -v -o mysite_new. I singoli passaggi della migrazione vengono successivamente elaborati in modo completamente automatico tramite i cosiddetti plugin delle azioni di rinominazione, che puoi trovare su cmk/post_rename_site/plugins/actions nel repository Git.

La migrazione include anche l'invio di notifiche su tutto ciò che non può essere migrato automaticamente.

Ecco un esempio concreto: stai utilizzando il monitoraggio distribuito e rinomini sia l’istanza centrale che un’istanza remota.

Istanza centrale: il plug-in sites.py rileva che si tratta di un'istanza centrale e aggiorna, tra le altre cose, il valore URL prefix, che si trova nelle impostazioni di connessione dell'istanza locale alla voce Setup > General > Distributed Monitoring.

Istanza remota: il plug-in warn_remote_site.py riconosce che si tratta di un’istanza remota e indica di conseguenza che l’istanza centrale deve essere controllata e, se necessario, personalizzata manualmente. Ciò significa a sua volta che nelle impostazioni di monitoraggio distribuito sull’istanza centrale, il nuovo nome dell’istanza remota deve essere inserito nelle impostazioni di connessione all’istanza remota rinominata — ovviamente OMD non può farlo da un computer remoto.

OMD stesso ti informa in dettaglio sull'intera procedura nel terminale. Qui puoi vedere un esempio dei messaggi di migrazione dall'output di omd cp durante la ridenominazione di un'istanza centrale — suddivisi in messaggi di successo e di avviso. Gli rename action pluginsi elaborati 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 relativi alle impostazioni che potrebbe essere necessario configurare manualmente (qui fortemente 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 controllati manualmente durante una migrazione, come i filtri hardcoded 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
-| - Alert handler rule "site" conditions
-|
-| Done

Ecco una panoramica dei sei plug-in attualmente attivi — l'ordine qui corrisponde alla numerazione nell'output sopra riportato:

Plug-in Funzione

sites.py

Modifica l'ID dell'istanza in vari file di configurazione.

hosts_and_folders.py

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

update_core_config.py

Aggiorna la configurazione core (cmk -U).

warn_remote_site.py

Avvisa quando si rinomina un'istanza remota.

warn_changed_ports.py

Avvisi relativi a problemi con più porte.

warn_about_not_migrated_configs.py

Suggerimenti generali sugli elementi da controllare manualmente.

6.3. Limitare il volume dei dati

Se stai monitorando un gran numero di host con l'istanza, il volume dei dati da copiare può essere piuttosto consistente. La maggior parte di questi dati è costituita dai valori misurati memorizzati nei Database Round Robin (RRD). Ma anche i file di log contenenti gli eventi storici possono generare volumi di dati più grandi.

Se la cronologia non è necessaria (ad esempio, perché vuoi solo testare rapidamente qualcosa), questi possono essere omessi dalla copia. In questi casi è possibile aggiungere le seguenti opzioni a omd cp:

--no-rrds

Copia l'istanza senza gli RRD.

--no-logs

Copia l'istanza senza i file di log e altri dati storici.

-N

Fa entrambe le cose: -N è l'abbreviazione di "--no-rrds --nologs".

L'ordine delle opzioni è importante:

root@linux# omd cp --no-rrds mysite_old mysite_new
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

6.4. Rinominare le istanze

La ridenominazione di un'istanza viene eseguita con il comando omd mv. L'operazione è simile alla copia di un'istanza, ha gli stessi prerequisiti e viene eseguita includendo 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Quando si rinomina un sito con omd mv, il nome dell'istanza verrà modificato, ma alcuni attributi dell'istanza rimarranno invariati, incluso l'ID dell'istanza. Questo comando non è quindi adatto per gestire un'istanza che è stata duplicata, ad esempio tramite un backup, contemporaneamente alla sua versione originale in un monitoraggio distribuito — anche se le istanze coinvolte hanno nomi diversi dopo l'esecuzione di un omd mv.

6.5. Altre opzioni

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

7. Visualizzazione delle modifiche nei file di configurazione

Quando crei un'istanza, il comando omd create riempie la directory ~/etc con numerosi file di configurazione predefiniti. Verranno inoltre create diverse directory all'interno di ~/var e ~/local.

Probabilmente, con il passare del tempo, alcuni di questi file saranno stati personalizzati. Se dopo un po' di tempo desideri determinare quali file non sono più nelle condizioni in cui erano stati forniti originariamente, il comando omd diff può fornirti la risposta. Tra le altre cose, questo è utile prima di un aggiornamento di Checkmk, poiché le tue modifiche potrebbero entrare in conflitto con quelle apportate ai file predefiniti.

Se richiamato senza ulteriori argomenti, verrà creato un elenco di tutti i file modificati nella 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se vuoi vedere le modifiche in dettaglio, basta inserire il percorso del file:

OMD[mysite]:~$ omd diff etc/apache/apache.conf
74,75c74,75
< ServerLimit 64
< MaxClients 64
---
> ServerLimit 128
> MaxClients 128
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

8. Aggiornamento delle istanze

Il comando `omd update` serve per aggiornare il software di monitoraggio installato sull'istanza a una versione più recente. Questo argomento è spiegato in dettaglio nell'articolo Aggiornamento di Checkmk. Lì trovi anche altri comandi utili di `omd` relativi agli aggiornamenti software, riportati come esempi:

  • omd versions per fornire un elenco di tutte le versioni del software installate,

  • omd sites per creare un elenco di tutte le istanze esistenti con le versioni installate su di esse,

  • omd version per visualizzare la versione predefinita utilizzata durante la creazione di un'istanza,

  • omd setversion per impostare una versione predefinita diversa.

A proposito, il comando `omd update` viene utilizzato anche per passare a un'altra edizione, ad esempio dalla Comunità Checkmk a Checkmk Pro.

9. Backup e ripristino delle istanze

9.1. Creazione di un backup

La gestione delle istanze in Checkmk dispone di un meccanismo integrato per il backup e il ripristino delle istanze Checkmk. I comandi omd backup e omd restore sono fondamentali per comprimere tutti i dati dell’istanza in un archivio tar e, rispettivamente, per estrarre tali dati in vista di un ripristino.

Nota: Checkmk offre anche la possibilità di eseguire backup e ripristini senza usare la riga di comando, tramite la GUI in Setup > Maintenance > Backups. Lì puoi anche creare backup crittografati e pianificare richieste di backup. Consulta l'articolo Backup per imparare come farlo.

Il backup di un sito con omd backup non richiede permessi droot. Può essere eseguito da un utente dell’istanza. Basta inserire come argomento il nome del file di backup da creare:

OMD[mysite]:~$ omd backup /tmp/mysite.tar.gz
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Nota che:

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

  • Non salvare il backup nella directory dell'istanza, poiché questa verrà ovviamente inclusa nel backup completo – quindi ogni backup successivo conterrà una copia di tutti quelli precedenti.

  • Se crei il backup come utente dell’istanza, 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 anche eseguire il backup come root. In questo caso è richiesto un argomento aggiuntivo, come sempre, che specifichi il nome dell’istanza di cui eseguire il backup:

root@linux# omd backup mysite /var/backups/mysite.tar.gz
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Il backup contiene tutti i dati dell’istanza, con l’eccezione dei dati volatili presenti in ~/tmp/. Con il comando tar tzf è possibile visualizzare facilmente il 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.4.0p24.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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

9.2. Esclusione dei dati dal backup

La maggior parte dei dati da spostare durante un backup dell'istanza sono i valori misurati memorizzati nei database Round Robin (RRD) e i file di log con gli eventi storici. Un'altra parte significativa dei dati da spostare durante un backup dell'istanza sono i pacchetti degli agenti, che vengono memorizzati da agent bakery nella directory ~/var/check_mk/agents, ma questi possono essere facilmente ricreati se necessario.

omd backup offre le stesse opzioni di omd cp quando si copia per escludere questi dati. Nell'esempio seguente, il backup viene creato completamente senza questi dati:

OMD[mysite]:~$ omd backup -N /tmp/mysite.tar.gz
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Durante il backup, puoi anche specificare quali dei dati sopra indicati desideri escludere. Usa omd backup --help per visualizzare le opzioni disponibili.

9.3. Eseguire il backup di un'istanza in esecuzione

È possibile creare un backup anche da un'istanza in esecuzione. Per garantire uno stato coerente degli RRD utilizzati per la registrazione dei 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 journal e non più negli RRD. I file del journal sono gli ultimi ad essere sottoposti a backup: in questo modo è possibile includere nel backup il maggior numero possibile di dati di misurazione generati durante il backup stesso.

9.4. Ripristino

Ripristinare un backup è semplice quanto crearne uno. Il comando omd restore effettua il ripristino di un'istanza da un backup — nella versione di Checkmk utilizzata per eseguire il backup dell'istanza. Pertanto, affinché il ripristino funzioni, questa stessa versione deve essere installata sul server.

L'istanza viene completamente svuotata e riempita nuovamente. Prima di eseguire il comando omd restore, l'istanza deve essere arrestata e successivamente riavviata:

OMD[mysite]:~$ omd stop
OMD[mysite]:~$ omd restore /tmp/mysite.tar.gz
OMD[mysite]:~$ omd start
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Un ripristino può essere eseguito anche da un utente root. A differenza di quando viene richiamato dall'utente dell’istanza, l’istanza verrà ricreata con il backup.

Quindi, se esiste già una istanza con lo stesso nome, dovrai eliminarla prima del ripristino. Questo può essere eseguito sia con un omd rm, sia semplicemente includendo l'opzione --reuse nel comando omd restore. Un --kill garantisce inoltre che l'istanza già esistente venga arrestata prima che il ripristino proceda. Non è necessario specificare il nome dell'istanza nel comando, poiché è contenuto nel backup:

root@linux# omd restore --reuse --kill /var/backup/mysite.tar.gz
root@linux# omd start mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Come root , puoi anche effettuare il ripristino di un'istanza con un nome diverso da quello presente nel 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

L'elenco lungo delle conversioni che avvengono qui ha la stessa funzione descritta in precedenza per la copia e la rinominazione delle istanze. Il nome dell'istanza è presente in numerosi file di configurazione e, con questa procedura, tutte le occorrenze verranno sostituite automaticamente con il nuovo nome.

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

I comandi omd backup e omd restore possono — nella buona vecchia tradizione Unix — funzionare anche tramite input/output standard invece che tramite file. Invece del percorso del file tar, inserisci semplicemente un trattino (-).

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

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

root@linux# omd backup mysite - | ssh user@otherserver "cat > /var/backup/mysite.tar.gz"
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se vuoi invertire l'accesso SSH, cioè preferisci effettuare la connessione dal server di backup all'istanza Checkmk, anche questo è possibile, come mostra l'esempio seguente. Per farlo, devi prima autorizzare un login SSH come utente dell’istanza.

root@otherserver# ssh mysite@checkmkserver "omd backup -" > /var/backup/mysite.tar.gz
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se sei furbo e combini quanto sopra con un omd restore che legge i dati dall'input standard, puoi copiare un'istanza completa e funzionante da un server all'altro — senza bisogno di spazio aggiuntivo per un file di backup:

root@otherserver# ssh mysite@checkmkserver "omd backup -" | omd restore -
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

E ora di nuovo l'intera procedura con accesso SSH inverso — questa volta dal sistema di origine a quello di destinazione:

root@linux# omd backup mysite - | ssh user@otherserver "omd restore -"
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

10. Disabilitazione delle istanze

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

  1. L'istanza mysite viene arrestata.

  2. I processi che accedono a tmpfs vengono arrestati.

  3. 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 alcun processo. Ciò è particolarmente utile in un cluster, poiché la directory home può ora essere spostata su un altro nodo.

11. Eliminazione delle istanze

Eliminare un'istanza è facile quanto crearne una: basta usare il comando omd rm come root. L'istanza verrà prima arrestata 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Attenzione: è ovvio che questa azione cancella anche tutti i dati dell’istanza!

Se non ti piacciono i dialoghi di conferma o desideri eseguire l'eliminazione come parte di uno script, puoi forzare l'eliminazione con l'opzione -f.

Attenzione: in questo caso l'-fe deve essere inserita prima dell'rme:

root@linux# omd -f rm mysite
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

12. Esegui la disinstallazione delle versioni inutilizzate

Dato che Checkmk può essere installato in più versioni contemporaneamente, può capitare che non tutte le versioni siano effettivamente utilizzate da un'istanza. OMD può effettuare la disinstallazione delle versioni inutilizzate con il comando cleanup:

root@linux# omd cleanup
2.3.0p45.cee         Uninstalling
2.3.0p45.cre         In use (by mysite_tmp). Keeping this version.
2.3.0p45.cme         Keeping this version, since it is the default.
2.4.0p24.cee   In use (by mysite). Keeping this version.
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

OMD mantiene la versione predefinita oltre alle versioni utilizzate; a meno che non sia stato configurato manualmente diversamente, l'ultima versione installata di Checkmk, in questo caso 2.3.0p45.cme.

13. File e directory

Percorso Descrizione

/omd/sites/mysite

Directory dell'istanza mysite.

~/etc/

I file di configurazione dell'istanza sono memorizzati in questa directory.


Last modified: Mon, 12 Jan 2026 17:10:23 GMT via commit 040b05dc2
In questa pagina