![]() |
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. Checkmk in un Docker container
Nella nostra guida all'installazione di Checkmk in Docker ti abbiamo già mostrato come configurare Checkmk in un container Docker. In questo articolo vedremo più da vicino i dettagli.
2. Parametri opzionali durante la configurazione
Tutti i seguenti parametri vengono specificati in aggiunta quando si configura un'istanza Checkmk come container e non sono quindi disponibili separatamente.
2.1. Utilizzo di HTTPS
Se Checkmk è l'unico server web sul tuo nodo Docker, puoi anche legare la porta alla porta HTTP standard (80
). Tuttavia, se hai più server web su un nodo Docker, probabilmente utilizzerai un reverse-proxy come Nginx, che indirizza le richieste al container corretto. Con questa tecnologia puoi anche utilizzare l'HTTPS (eventualmente già esistente). Il reverse proxy verrà indirizzato tramite HTTPS, mentre la comunicazione con il container continuerà tramite HTTP.
2.2. Impostazione della password iniziale
Nell'istanza Checkmk, quando si crea un sito viene creata una password casuale per l'utente predefinito cmkadmin
. Quando crei un container Checkmk puoi anche assegnare una password manualmente: basta aggiungere l'opzione -e CMK_PASSWORD='mypassword'
durante il processo di creazione.
2.3. Impostazione dell'ID del sito
Con il comando predefinito per la creazione di un container Docker, l'ID del sito creato nel container sarà cmk
. Questo è importante per poter accedere al sito tramite HTTP(S) e deve quindi essere esplicito. Se hai più istanze Checkmk sullo stesso nodo Docker, dovrai impostare manualmente l'ID per garantire l'unicità. Puoi farlo includendo l'opzione -e CMK_SITE_ID=mysite
. Il comando completo potrebbe essere simile a questo:
root@linux# docker container run -e CMK_SITE_ID="mysite" -dit -p 8080:5000 -p 8000:8000 --tmpfs /opt/omd/sites/mysite/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.1.0-latest
Fai attenzione a indicare anche l'ID del tuo sito nel percorso dell'opzione --tmpfs
(in questo esempio mysite
).
2.4. Invio di notifiche
Una caratteristica importante di Checkmk è l'invio dinotifiche via e-mail. Checkmk utilizza Postfix come MTA (Mail Transfer Agent) per le email in uscita. Questa istanza di Postfix è configurata in modo da non consegnare le e-mail direttamente al destinatario, ma cerca di inoltrarle a un server di posta aggiuntivo (SMTP Relay Server, smarthost) che devi fornire all'esterno del container. Un server relay di questo tipo è disponibile in quasi tutte le organizzazioni.
Al momento dell'implementazione, specifica il server di posta che inoltrerà le notifiche. Nell'opzione -e
, usa la variabile MAIL_RELAY_HOST
- es. -e MAIL_RELAY_HOST='mailrelay.mydomain.com'
. Se il server di posta si aspetta un nome host specifico, aggiungi la seguente opzione: --hostname 'mymonitoring.mydomain.com'
.
Attualmente i container Docker non supportano la configurazione dei dati di accesso per uno smart host. Se ne hai bisogno, puoi collegare una configurazione di Postfix o una cartella di configurazione dal nodo Docker.
Se utilizzi una delle edizioni commerciali, puoi bypassare completamente postfix in modo che Checkmk inoltri le notifiche direttamente a uno smarthost. Questo avviene tramite l'SMTP sincrono, descritto in dettaglio nell'articolo sulle notifiche. In questo caso è possibile anche l'autenticazione tramite SMTP.
2.5. Accesso a Livestatus via TCP
Se colleghi più istanze Checkmk in un ambiente distribuito, avrai bisogno di una porta TCP speciale per l'interfaccia Livestatus. Questa interfaccia permette la comunicazione tra i siti. Lega questa porta - allo stesso modo della porta HTTP - a uno dei nodi Docker e abilita questa porta TCP nel sito Livestatus: -e
CMK_LIVESTATUS_TCP=on -p 6557:6557
.
2.6. Accesso tramite linea di comando
In alcuni casi vorrai eseguire i comandi alla riga di comando. Poiché i comandi per un sito vengono sempre eseguiti tramite un utente speciale, dovrai specificarlo al momento del log-in. In Checkmk l'utente ha sempre lo stesso nome dell'istanza Checkmk che gestisce. Specifica l'utente cmk
con l'opzione -u cmk
:
root@linux# docker container exec -it -u cmk monitoring bash
Potrai così passare i tuoi comandi al sito.
2.7. Utilizzare la Console degli Eventi
Checkmk è in grado di ricevere SNMP trap e messaggi syslog. Per poter utilizzare questa funzione in un container Checkmk, è necessario fornire al container Checkmk le porte standardizzate con le seguenti opzioni: -p
162:162/udp -p 514:514/udp -p 514:514/tcp
. Affinché anche il sito stesso rispetti queste porte, attiva i componenti aggiuntivi appropriati nel sito con omd config
. Puoi trovarli nel sottomenu Addons
:
root@linux# docker container exec -it -u cmk monitoring bash
OMD[mysite]:~$ omd config
3. Comandi utili
Comando | Funzione |
---|---|
|
Con questo comando puoi ottenere ogni tipo di informazione su un container in esecuzione con il nome |