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. Benvenuto a Checkmk come AMI

Sia che tu sia un utente di lunga data di Checkmk o che ci abbia scoperto solo di recente grazie alla disponibilità di immagini già pronte nel Marketplace di Amazon Web Services (AWS), in questo articolo troverai tutte le risorse necessarie per configurare l'Amazon Machine Image (AMI) preparata in un monitoraggio adatto alle tue esigenze.

Se sei alle prime armi con Checkmk, ti consigliamo di leggere la nostra Guida per principianti. Le immagini VM preconfigurate possono ridurre molti compiti durante l'installazione, ma una certa conoscenza dei concetti fondamentali, come i siti, ti aiuterà durante il processo di configurazione.

1.1. Le basi

Se sei un utente AWS, hai sempre avuto la possibilità di aggiungere Checkmk a un'immagine Ubuntu esistente disponibile sul Marketplace, per impostare un "monitoraggio nel cloud". Checkmk 2.2.0 fa un ulteriore passo avanti e fornisce un'immagine preinstallata basata su Ubuntu 22.04 (Jammy Jellyfish) con tutte le dipendenze necessarie già incluse. In questo caso viene utilizzato solo Checkmk Cloud, che al momento della configurazione del primo sito sarà in uno stato della licenza "Prova" di 30 giorni senza restrizioni. Dopo la scadenza del periodo di prova, Checkmk può continuare a essere utilizzato come sito singolo con un massimo di 750 servizi monitorati senza richiedere un abbonamento. Se è necessario monitorare un numero maggiore di servizi o se sono richiesti più siti, è necessaria una license key.

In generale, la configurazione è un po' più complessa rispetto, ad esempio, all'immagine Docker: l'immagine fornita deve coprire diversi scenari di deployment:

  • Configurazione di un singolo sito su un server di varie dimensioni

  • Sito centrale in un monitoraggio distribuito

  • Sito remoto in un monitoraggio distribuito

  • Operazioni miste che consistono in un sito di produzione e in uno o più siti per l'esecuzione di test su un host.

Per questo motivo, l'immagine AM non include un sito pronto per l'esecuzione, un'e-mail o una configurazione del firewall.

In questo articolo ti guideremo attraverso la configurazione completa. Quando sono utili ulteriori informazioni di base, rimandiamo agli articoli dettagliati del nostro Manuale dell'utente.

2. Preparazione

Oltre al dimensionamento della RAM, del processore e dei dischi rigidi virtuali, devi pensare anche al luogo in cui archiviare i backup. Checkmk supporta in modo nativo gli object store di Amazon, ma i backup possono essere archiviati anche in percorsi del file system, il che consente di eseguire backup su supporti SMB o WebDAV o trasferimenti regolari tramite rsync.

2.1. Creare chiavi SSH

Attualmente AWS supporta le chiavi nei formati ED25519 e RSA. Puoi creare una coppia di chiavi ED25519 per il primo login alla macchina virtuale, di cui caricherai la chiave pubblica al momento della creazione della macchina virtuale (VM). In alternativa, puoi lasciare che sia AWS a creare la coppia di chiavi. In questo caso, non dimenticare di salvare la chiave privata subito dopo la creazione, perché verrà poi eliminata automaticamente per motivi di sicurezza.

2.2. Determinare le porte necessarie

In una configurazione Checkmk con un sito singolo, in cui gli host inviano dati all'istanza Checkmk in modalità push, le seguenti porte del server Checkmk devono essere accessibili:

  • Dagli host in monitoraggio: Porta 80/443 (HTTP/HTTPS, durante la registrazione dell'agente) e Porta 8000 (Agent Receiver, in modo permanente).

  • Per la gestione tramite browser e API REST: Porta 80/443 (HTTP/HTTPS).

La condivisione di queste porte è predefinita nel nostro sito Standard Security Groups. Per una sicurezza ottimale, dovresti limitare l'accesso agli indirizzi IP di cui hai effettivamente bisogno.

Consulta la nostra panoramica di tutte le porte utilizzate se vuoi impostare un monitoraggio distribuito o, ad esempio, effettuare interrogazioni di stato tramite l'interfaccia di Livestatus.

2.3. Prenotare un'immagine nel Marketplace

Le seguenti istanze VM rappresentano una raccomandazione per il dimensionamento del numero di servizi da monitorare.

Tipo Core della CPU RAM (GB) Servizi Checkmk

c6a.xlarge

4

8

12 000

c6a.2xlarge

8

16

30 000

c6a.4xlarge

16

32

60 000

La base per questi calcoli di dimensionamento è rappresentata da circa il 15% dei servizi forniti dagli agenti speciali e dai check attivi, oltre a 25 o più servizi per host regolare erogati tramite un agente in modalità push. In alcune circostanze, è possibile ottenere un numero di servizi significativamente maggiore in un monitoraggio puramente sintetico (in cui i dati sono forniti principalmente dagli agenti speciali). Quando si utilizzano gli agenti in modalità pull, il numero di servizi specificato può essere raggiunto solo attraverso un'ottimizzazione coerente.

Il dimensionamento dello spazio sul disco rigido si basa sull'esperienza di ambienti server Windows e Linux tipici. Se ci sono molti servizi che producono un grande volume di metriche, potrebbe essere necessaria una quantità maggiore di spazio di archiviazione.

2.4. Prenotazione dello spazio di backup

A causa dei costi di traffico vantaggiosi, consigliamo l'uso di un bucket AWS S3. Per il calcolo dello spazio di archiviazione necessario, leggi le note sul formato dei dati RRD. Come regola generale per il calcolo di un backup completo, i Database Round Robin (RR D ) raggiungeranno poco più di un terzo della loro capacità massima dopo 10 giorni. Ciò significa che dopo questo periodo di tempo è opportuno rivedere le dimensioni dello spazio di archiviazione di backup che è stato prenotato.

3. Configurazione

3.1. Login alla macchina virtuale

Il login di root è disabilitato sulle immagini AWS/Azure. Al suo posto viene utilizzato l'utente ubuntu, che ha il permesso di eseguire sudo con comandi arbitrari senza la richiesta di una password. Se hai creato una coppia di chiavi separata per il login alla macchina virtuale, devi specificare il percorso della sua componente privata con il parametro -i. Naturalmente, l'indirizzo IP deve essere personalizzato in modo da poter accedere alla macchina virtuale da una posizione remota:

user@host:~$ ssh -i /path/to/id_file.priv ubuntu@192.0.2.123

Ora ti troverai al prompt dell'utente ubuntu. Il prompt attuale può contenere il nome host specificato al momento della creazione della macchina virtuale oppure un indirizzo IP come nome host. Nel resto dell'articolo utilizzeremo il nome host cloud:

ubuntu@cloud:~$

3.2. Impostazione di un sito

Un sito di Checkmk deve avere un nome univoco e deve essere facilmente identificabile. Qui, come in molti altri punti di questo manuale, useremo mysite come nome del sito.

La creazione di un sito si effettua con lo strumento di amministrazione Checkmk. omdL'ultima versione di Checkmk è sempre preinstallata:

ubuntu@cloud:~$ sudo 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 cmc)...

Starting full compilation for all hosts Creating global helper config...OK
 Creating cmc protobuf configuration...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site mysite with version 2.2.0p1.cce.

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

  The admin user for the web applications is cmkadmin with password: UbWeec9QuazIf
  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'.

Ora avvia il sito appena creato con

ubuntu@cloud:~$ sudo omd start mysite

L'URL nell'output del comando mostrato sopra (http://cloud/mysite) contiene il nome host utilizzato internamente dalla tua VM AWS o Azure. Poiché di solito non viene risolto all'esterno, questo URL ha un'utilità limitata. In genere, inizialmente accederai utilizzando l'indirizzo IP o un nome host memorizzato nel tuo server DNS.

3.3. Memorizzazione dei certificati

Affinché Apache di sistema sia in grado di ascoltare la porta HTTPS 443, ha bisogno di certificati validi. I certificati self-signed di Snakeoil Inc. vengono generati a questo scopo al primo avvio della macchina virtuale. Consigliamo vivamente di sostituirli al più presto con certificati propri che consentano di verificare facilmente la catena completa dei certificati.

In questo modo, la configurazione di Apache segue da vicino gli standard di Ubuntu e i percorsi dei certificati modificati devono essere inseriti nel file /etc/apache2/sites-enabled/000-default.conf.

3.4. Impostazione del sistema di e-mail

Poiché i percorsi per le notifiche in Checkmk sono molti e possono variare, non è stato predefinito un sistema di e-mail predefinito.

Checkmk senza un sistema di e-mail

È anche possibile fare a meno di un sistema di posta elettronica locale se vuoi attivare solo la consegna tracciabile di e-mail HTML via SMTP o affidarti a plug-in di notifica per piattaforme come Microsoft Teams o Slack.

Si noti, tuttavia, che in questa configurazione non è possibile effettuare notifiche di massa.

Agente per il trasporto della posta (MTA) solo relè o completo

Di regola, vorrai configurare un sistema di e-mail per la sua maggiore flessibilità. Per gli ambienti più piccoli, l'MTA Nullmailer con solo relay ha dimostrato di funzionare bene.

Per le installazioni più grandi, dove eventi imprevisti possono causare diverse centinaia di e-mail, ti consigliamo di installare un MTA completo come Postfix.

3.5. Aggiunta di host a un monitoraggio

Localhost in modalità pull

Nella stragrande maggioranza dei casi, il server Checkmk stesso dovrebbe essere il primo host che aggiungi al monitoraggio. Per farlo, devi prima installare l'agente Checkmk Linux sul server Checkmk. Questo agente comunica con il server in modalità pull. Se il download del pacchetto dell'agente tramite l'interfaccia web seguito da un trasferimento tramite scp ti sembra troppo macchinoso, puoi installare l'agente nella sua configurazione predefinita ("Vanilla") direttamente dal file system:

ubuntu@cloud:~$ sudo apt install $(sudo find /opt/omd/versions/ -name 'check-mk-agent_*.deb' | tail -n1)

Subito dopo l'installazione, l'agente Checkmk ascolta in modalità legacy pull non crittografata sulla porta 6556. Pertanto, è necessario eseguire immediatamente una registrazione per evitare che terzi non autorizzati accedano all'output dell'agente:

ubuntu@cloud:~$ sudo cmk-agent-ctl register --hostname localhost --server localhost --site mysite --user cmkadmin

Host in modalità push

Se gli host da monitorare sono dietro un firewall e quindi non possono essere raggiunti direttamente dal server Checkmk, la modalità push è spesso il percorso di comunicazione preferito. Puoi selezionare la modalità push con l'opzione Checkmk agent connection mode nelle proprietà dell'host nella sezione Agenti di monitoraggio. In alternativa, puoi combinare la modalità push con pacchetti di agenti preconfigurati per la registrazione automatica per aumentare ulteriormente la convenienza.

3.6. Aggiornare Checkmk

Controlla regolarmente la pagina di download per verificare la presenza di aggiornamenti e scarica il pacchetto aggiornato con il comando wget indicato.

L'installazione di un aggiornamento avviene in due fasi, questo perché omd può gestire più istanze Checkmk, ciascuna con una versione diversa, sullo stesso server.

Installazione di una nuova versione di Checkmk e aggiornamento del sito

Il primo passo consiste nell'installazione del pacchetto, nell'esempio seguente la versione 2.2.0p2:

ubuntu@cloud:~$ sudo apt install ./check-mk-cloud-2.2.0p2_0.jammy_amd64.deb

Il passo successivo consiste nell'aggiornare il sito (o i siti):

ubuntu@cloud:~$ sudo omd stop mysite
ubuntu@cloud:~$ sudo omd update mysite
ubuntu@cloud:~$ sudo omd start mysite

Rimuovere i pacchetti non più necessari

Se sul server sono presenti più siti (ad esempio uno per la produzione e uno per il test delle estensioni), assicurati che tutti siano aggiornati:

ubuntu@cloud:~$ omd sites
SITE         VERSION       COMMENTS
mysite       2.2.0p2.cce   default version
mytestsite   2.2.0p2.cce   default version

Tramite la gestione dei pacchetti di Ubuntu puoi quindi disinstallare le versioni di Checkmk che non vengono più utilizzate:

ubuntu@cloud:~$ sudo apt purge check-mk-cloud-2.2.0p1

4. Post-processo

4.1. Configurazione dei backup

Checkmk offre una comoda funzione di backup, che si configura in Setup > Maintenance > Backups > Backup targets. Con Add backup target si aggiunge un percorso di archiviazione. In questo caso è consigliabile selezionare AWS S3 bucket come Destination per via del trasferimento veloce ed economico dei dati.

Oltre alle credenziali, devi anche specificare il percorso di una cartella in cui l'archivio viene temporaneamente memorizzato prima di essere copiato nell'archivio oggetti. Questo può trovarsi sotto /tmp. Se la tua istanza AWS dispone di un'unità volatile (effimera), puoi montarla e usarla come cache.

Procedura per il ripristino

Il ripristino di un backup deve sempre essere effettuato esattamente con la stessa versione di Checkmk utilizzata per crearlo. Se un backup deve essere utilizzato per passare a un altro tipo di macchina virtuale, a un altro provider cloud o da un'installazione on-premises al cloud (o viceversa), aggiorna sempre prima il livello di patch più alto disponibile di Checkmk prima del backup finale e della migrazione.

I seguenti punti si applicano al ripristino di un backup:

  1. Sul sistema di destinazione, installa esattamente la versione di Checkmk utilizzata per creare il backup.

  2. Crea un sito di monitoraggio con omd create che utilizzi lo stesso nome del sito del sistema di origine.

  3. Specifica la destinazione del backup e carica la chiave di backup.

  4. Esegui il ripristino vero e proprio.

5. Monitoraggio di AWS

Checkmk non offre solo la disponibilità come AMI, ma anche un monitoraggio completo della tua infrastruttura AWS. Anche se Checkmk dovesse essere il tuo primo o unico progetto AWS, vale già la pena monitorare le prestazioni del sito, lo stato di monitoraggio dei bucket di backup e il livello dei costi sostenuti.

In questa pagina