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
Che tu sia un utente di lunga data di Checkmk o che ci abbia scoperto solo di recente grazie alla disponibilità di immagini pronte all'uso nel Microsoft Azure Marketplace, in questo articolo troverai tutte le risorse necessarie per configurare l'immagine VM preparata in un sistema di monitoraggio adatto alle tue esigenze.
Se sei nuovo su Checkmk, ti consigliamo di leggere la nostra Guida per principianti come preparazione. Le immagini VM preconfigurate possono semplificare molte attività durante l'installazione, ma una certa conoscenza dei concetti fondamentali, come le istanze, ti aiuterà durante il processo di Setup.
1.1. Le basi
Se sei un utente Azure, hai sempre avuto la possibilità di aggiungere Checkmk a un'immagine Ubuntu esistente disponibile nel Marketplace, per configurare un "monitoraggio nel cloud". Ora facciamo un passo avanti e forniamo un'immagine preinstallata, basata su Ubuntu 22.04 (Jammy Jellyfish) con tutte le dipendenze necessarie già incluse. In questo scenario viene utilizzata solo la versione Checkmk Ultimate. Questa sarà in uno stato della licenza "Trial" di 30 giorni senza restrizioni quando viene configurato il primo sito. Alla scadenza del periodo di prova, Checkmk può continuare a essere utilizzato come istanza singola con un massimo di 750 servizi monitorati senza richiedere un abbonamento. Se è necessario monitorare più servizi o sono richiesti più siti, avrai bisogno di una chiave di licenza.
In generale, il Setup è un po' più complesso rispetto, ad esempio, all'immagine Docker, dopotutto l'immagine fornita deve coprire vari scenari di deployment:
Setup di una singola istanza su un server a varie scale
Istanza centrale in un monitoraggio distribuito
Istanza remota in un monitoraggio distribuito
Operazioni miste costituite da un sito di produzione e uno o più siti per l'esecuzione di test su un host
Per questo motivo, l'immagine Azure non include un'istanza pronta all'uso, un'e-mail o una configurazione del firewall.
In questo articolo ti guideremo attraverso il Setup completo. Laddove fossero utili ulteriori informazioni di base, ti rimandiamo ad articoli dettagliati nel nostro manuale.
2. Preparazione
Oltre al dimensionamento della RAM, del processore e dei dischi rigidi virtuali, dovresti anche pensare alla posizione in cui archiviare i backup.
Checkmk supporta nativamente gli object store di Azure, ma i backup possono anche essere archiviati in percorsi del file system, il che consente di eseguire backup su mount SMB o WebDAV o trasferimenti regolari tramite rsync.
2.1. Creazione delle chiavi SSH
Poiché Azure attualmente non supporta le chiavi ED25519 o ECDSA, dovrai creare una coppia di chiavi RSA per il primo login alla macchina virtuale (VM), la cui chiave pubblica dovrai caricare al momento della creazione della VM. In alternativa, puoi lasciare che sia Azure a creare la coppia di chiavi. In questo caso, non dimenticare l'scaricamento della chiave privata durante il processo di ordinazione.
2.2. Determinazione delle porte richieste
In una configurazione Checkmk con un unico sito, in cui gli host inviano dati al sito Checkmk in modalità push, devono essere accessibili le seguenti porte del server Checkmk:
Dagli host nel monitoraggio: Porta 80/443 (HTTP/HTTPS, durante la registrazione dell'agente) e Porta 8000 (l'Agent Receiver, in modo permanente).
Per la gestione tramite browser e l'API REST: porta 80/443 (HTTP/HTTPS)
La condivisione di queste porte è predefinita nel nostro file "Inbound port rules". Per la massima sicurezza possibile, dovresti limitare ulteriormente l'accesso nella scheda "Networking".
Consulta la nostra panoramica di tutte le porte utilizzate se desideri configurare un monitoraggio distribuito o, ad esempio, effettuare query di stato tramite l'interfaccia Livestatus.
2.3. Prenotazione di un'immagine nel Marketplace
Le seguenti istanze VM sono un consiglio per il dimensionamento del numero di servizi da effettuare nel processo di monitoraggio. Quando ordini l'istanza, disattiva l'opzione "burstable".
| Tipo | Core CPU | RAM (GB) | SSD (GB) | Servizi Checkmk |
|---|---|---|---|---|
|
4 |
16 |
32 |
12 000 |
|
8 |
32 |
64 |
30.000 |
|
12 |
48 |
96 |
60 000 |
La base per questi calcoli di dimensionamento è circa il 15% dei servizi forniti da special agents e active checks, oltre a 25 o più servizi per host regolare forniti tramite un agente in modalità push. In determinate circostanze, è possibile avere un numero significativamente maggiore di servizi in un synthetic monitoring (in cui i dati vengono forniti principalmente da special agents). Quando si utilizzano agenti in modalità pull, il numero specificato di servizi potrebbe essere raggiungibile solo attraverso un'ottimizzazione costante.
Il dimensionamento dello spazio su disco si basa sull'esperienza tipica degli ambienti server Windows e Linux. Se ci sono molti servizi che producono un grande volume di metriche, potrebbe essere necessaria una maggiore quantità di spazio di archiviazione.
2.4. Prenotazione dello spazio di backup di archiviazione
Visti i costi di traffico vantaggiosi, ti consigliamo di usare Azure Blob Storage. Per calcolare lo spazio di archiviazione necessario, leggi le note sul formato dei dati RRD. Come regola generale per calcolare un backup completo, i database Round Robin (RRD) raggiungeranno poco più di un terzo della loro capacità massima dopo 10 giorni. Questo significa che dopo questo periodo ha senso rivedere la dimensione dello spazio di archiviazione per il backup che hai prenotato.
3. Setup
3.1. Esecuzione del login per accedere alla macchina virtuale
Il login come 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 richiesta di password.
Se hai creato una coppia di chiavi separata per il login alla macchina virtuale, devi specificare il percorso della chiave privata con il parametro -i.
Ovviamente, l'indirizzo IP deve essere personalizzato con quello tramite cui è possibile accedere alla macchina virtuale (VM) da una postazione remota:
Ora ti troverai al prompt utente ubuntu.
Il prompt effettivo può contenere il nome host specificato al momento della creazione della VM o un indirizzo IP come nome host.
Useremo il nome host cloud per il resto di questo articolo:
ubuntu@cloud:~$3.2. Configurazione di un'istanza
Un'istanza Checkmk deve avere un nome univoco e dovrebbe anche essere facilmente identificabile.
Qui, come nella maggior parte degli altri punti di questo manuale, usiamo mysite come nome dell'istanza.
La password per l'amministratore dell'istanza cmkadmin è impostata su t0p53cr3t nell'esempio.
La creazione di un'istanza viene eseguita con lo strumento di amministrazione di Checkmk omd.
L'ultima versione di Checkmk è sempre preinstallata:
Ora avvia l'istanza appena creata con
L'URL nell'output del comando mostrato sopra (http://cloud/mysite) contiene il nome host utilizzato internamente dalla tua VM AWS o Azure.
Poiché solitamente non viene risolto esternamente, questo URL ha un'utilità limitata.
In genere, inizialmente vi accederai utilizzando l'indirizzo IP o un nome host memorizzato nel tuo server DNS.
3.3. Memorizzazione dei certificati
Affinché il sistema Apache di sistema possa effettivamente ascoltare sulla porta HTTPS 443, sono necessari certificati validi. I certificati self-signed Snakeoil Inc. vengono generati a questo scopo al primo avvio della macchina virtuale. Ti consigliamo vivamente di sostituirli il prima possibile con i tuoi certificati, che consentono di verificare facilmente l'intera catena di 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. Configurazione di un sistema di e-mail
Poiché i percorsi per le notifiche in Checkmk sono molti e possono variare, non è predefinito un sistema di e-mail predefinito.
Checkmk senza un sistema di e-mail
È anche possibile rinunciare completamente a un sistema di e-mail locale se vuoi solo abilitare la consegna tracciabile di e-mail HTML tramite SMTP o affidarti a plug-in di notifica per piattaforme come Microsoft Teams o Slack.
Tieni presente, tuttavia, che in questa configurazione non sono possibili le notifiche di massa.
MTA (Mail Transport Agent) solo relay o completo
Di norma, ti consigliamo di configurare un sistema di e-mail per la sua maggiore flessibilità. Per ambienti più piccoli, l'MTA solo relay Nullmailer ha dimostrato di funzionare bene.
Per installazioni più grandi, dove eventi imprevisti possono generare diverse centinaia di e-mail, ti consigliamo di installare un MTA completo come Postfix.
3.5. Aggiunta di host al monitoraggio
Localhost in modalità pull
Nella stragrande maggioranza dei casi, il server Checkmk stesso dovrebbe essere il primo host da aggiungere al monitoraggio.
Per farlo, devi prima installare l'agente Linux sul server Checkmk.
Questo agente comunica con il server in modalità pull.
Se trovi troppo complicato effettuare lo scaricamento dell'agente tramite l'interfaccia web e poi effettuare il trasferimento tramite scp, puoi installare l'agente nella sua configurazione predefinita ("Vanilla") direttamente dal file system:
Subito dopo l'installazione, l'agente Checkmk ascolta in modalità legacy pull non crittografata sulla porta 6556. Pertanto, esegui immediatamente una registrazione per impedire a terzi non autorizzati di accedere all'output dell'agente:
Host in modalità push
Se gli host da monitorare si trovano dietro un firewall e quindi non sono accessibili 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 comodità.
3.6. Aggiornamento di Checkmk
Controlla regolarmente la pagina di download per gli aggiornamenti e scarica il pacchetto aggiornato con il comando wget indicato lì.
L'installazione di un aggiornamento avviene in due passaggi, poiché omd può gestire più istanze, ciascuna con versioni diverse di Checkmk, sullo stesso server.
Installazione di una nuova versione di Checkmk e aggiornamento dell'istanza
Il primo passo è l'installazione del pacchetto, nell'esempio seguente la versione 2.4.0p24:
Il passo successivo è aggiornare le tue istanze:
Rimuovere i pacchetti che non servono più
Se gestisci più istanze sul server (ad esempio, una per la produzione e una per il test delle estensioni), assicurati che siano tutte aggiornate:
Tramite il gestore di pacchetti di Ubuntu puoi quindi eseguire la disinstallazione delle versioni di Checkmk che non vengono più utilizzate:
4. Post-elaborazione
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" aggiungi una posizione di archiviazione. Qui è consigliabile selezionare Azure Blob Storage come Destination per via del trasferimento dati veloce ed economico.
Oltre alle credenziali, devi specificare anche il percorso della cartella in cui l'archivio viene temporaneamente memorizzato prima di essere copiato nell'object store.
Questo può essere impostato in /tmp.
Se la tua VM Azure fornisce un'unità volatile (effimera) in /mnt, qui puoi anche creare una directory come cache:
Affinché l'utente dell’istanza possa scrivere in questa directory, devi trasferirgli i diritti:
Procedura per il ripristino
Il ripristino di un backup deve essere sempre 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), esegui sempre prima l'aggiornamento al livello di patch più recente disponibile di Checkmk prima del backup finale e della migrazione.
Per il ripristino di un backup valgono i seguenti punti:
Sul sistema di destinazione, effettua l'installazione della versione di Checkmk utilizzata per creare il backup.
Crea un'istanza di monitoraggio con
omd createche utilizzi lo stesso nome del sistema di origine.Specifica la destinazione del backup e carica la chiave di backup.
Esegui il ripristino vero e proprio.
5. Monitoraggio di Azure
Checkmk non solo offre disponibilità sotto forma di immagine Azure, ma anche un monitoraggio completo della tua infrastruttura Azure. Anche se Checkmk dovesse essere il tuo primo o unico progetto Azure, vale comunque la pena monitorare le prestazioni della macchina virtuale, lo stato dei vault di backup e il livello dei costi sostenuti.
