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 in Checkmk per Azure

Sia che tu sia un utente di Checkmk da molto tempo, sia che ci abbia scoperto solo di recente grazie alla disponibilità di immagini già pronte nel Marketplace di Microsoft Azure, in questo articolo troverai tutte le risorse necessarie per configurare l'immagine VM 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 molte operazioni 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 di Azure, hai sempre avuto la possibilità di aggiungere Checkmk a un'immagine Ubuntu esistente disponibile nel 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 scenario 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 di Azure 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 Azure, 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

Poiché Azure non supporta attualmente le chiavi ED25519 o ECDSA, per il primo login alla macchina virtuale dovrai creare una coppia di chiavi RSA, la cui chiave pubblica verrà caricata al momento della creazione della macchina virtuale. In alternativa, puoi lasciare che Azure crei la coppia di chiavi. In questo caso, non dimenticare di scaricare la chiave privata durante il processo di ordinazione.

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 Inbound port rules. Per una sicurezza ottimale, devi limitare ulteriormente l'accesso nella scheda Networking.

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

2.3. Prenotare un'immagine nel Marketplace

Le seguenti istanze VM sono consigliate per dimensionare il numero di servizi da monitorare. Quando ordini l'istanza, disattiva l'opzione burstable.

Tipo Core della CPU RAM (GB) SSD (GB) Servizi Checkmk

B4MS

4

16

32

12 000

B8MS

8

32

64

30 000

B12MS

12

48

96

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 agenti in modalità pull, il numero di servizi specificato può essere raggiunto solo attraverso un'ottimizzazione coerente.

Il dimensionamento dello spazio su 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 Azure Blob Storage. 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 ) avranno raggiunto 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 si trovano 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. Aggiornamento di 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 dispone di 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 Azure Blob Storage 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, che può trovarsi in /tmp. Se la tua macchina virtuale Azure mette a disposizione un'unità volatile (effimera) in /mnt, qui puoi anche creare una directory come cache:

ubuntu@cloud:~$ sudo mkdir -p /mnt/backup/mysite

Affinché l'utente dell'istanza possa scrivere in questa directory, dovrai trasferirgliela:

ubuntu@cloud:~$ sudo chown mysite:mysite /mnt/backup/mysite

Procedura per il ripristino

Il ripristino di un backup deve sempre essere eseguito esattamente sulla 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 Azure

Checkmk non offre solo la disponibilità come immagine Azure, ma anche un monitoraggio completo della tua infrastruttura Azure. Anche se Checkmk dovesse essere il tuo primo o unico progetto Azure, vale già la pena di monitorare le prestazioni della macchina virtuale, lo stato di monitoraggio delle casseforti e il livello dei costi sostenuti.

In questa pagina