Proxmox è una piattaforma open-source basata su Linux per la visualizzazione totale dei server. Il software fonde due tecnologie di virtualizzazione per il funzionamento di macchine virtuali (VM) e container.

Questo articolo illustra le tecnologie che guidano Proxmox, i suoi usi, il motivo per cui è necessario monitorarlo e come impostare il suo monitoraggio con Checkmk.

Tecnologie coinvolte

Proxmox utilizza le tecnologie KVM (Kernel-based Virtual Machine) e LXC (Linux containers).

  • Kernel-based Virtual Machine: una tecnologia di virtualizzazione open-source che converte Linux in un hypervisor, consentendo a una macchina host di eseguire più guest o VM.
  • Container Linux: Questa tecnologia si riferisce a un insieme di uno o più processi eseguiti da file forniti da un'immagine distinta, rendendola portatile.

Cosa fa Proxmox Virtual Environment (PVE)

Proxmox VE dispone di un'interfaccia di configurazione che consente una facile gestione di container, macchine virtuali, reti virtuali e storage sui sistemi host. In genere, la piattaforma funziona come molti server Proxmox in un cluster, ma può anche funzionare come un singolo nodo.

È necessario includere i nodi e i cluster Proxmox nel monitoraggio dell'infrastruttura IT per garantire il funzionamento continuo delle macchine virtuali e dei container gestiti da Proxmox.

A tal fine, è necessario tenere traccia delle metriche significative del PVE per garantire l'identificazione e la risoluzione tempestiva e accurata dei problemi rilevanti. Checkmk ha questa capacità.

Perché monitorare Proxmox

Il monitoraggio di Proxmox è essenziale per garantire un'analisi in tempo reale delle macchine virtuali e dell'infrastruttura IT. Grazie a questa analisi, è possibile ottenere informazioni precise e puntuali sullo stato del proprio ambiente virtuale.

È possibile monitorare i server virtuali e scoprire in che modo la configurazione di Proxmox influisce sugli utenti finali. È possibile individuare immediatamente i casi in cui un'applicazione pone un problema all'utente finale, consentendo di identificare rapidamente la causa.

La rapida identificazione dei problemi consente ai team tecnici di risolverli prima che si aggravino, creando un ambiente collaborativo e proattivo.

I risultati di un Proxmox ben monitorato serviranno anche come fonte di dati per valutare le tendenze delle prestazioni dell'infrastruttura. A loro volta, queste tendenze creano una base per modellare le prestazioni ottimali e prevedere l'impatto dei cambiamenti nelle caratteristiche delle applicazioni installate.

Lavoro preliminare per il monitoraggio con Checkmk

Il primo passo è assicurarsi di aver completato l'interfaccia di configurazione di Proxmox VE e l'impostazione dell'accesso API.

Configurazione di PVE

Andare alla scheda "Permessi" per creare l'utente 'checkmk' e il realm 'pve' per il cluster. Proxmox autentica l'utente; Debian non lo fa.

Aggiunta dell'utente Checkmk al cluster Proxmox tramite la GUI

Quindi, assegnare l'utente creato al gruppo 'Sola lettura'.

Configurazione delle impostazioni del gruppo tramite l'interfaccia grafica di Proxmox

Selezionate "Permessi", sempre a livello di cluster. Specificate il percorso previsto per il gruppo "Solo lettura", determinando il punto di origine dell'API; nel nostro esempio si tratta di /, ossia la directory principale.

Il ruolo del gruppo è definito come "PVEAuditor" e, in combinazione con il percorso della radice, l'utente può già vedere tutto sul nodo. Tuttavia, non avrebbe altri diritti.

Impostazione dei permessi sul cluster Proxmox

Installazione dell'agente di monitoraggio Checkmk Linux

Una volta terminata la configurazione, è necessario installare l'agente di monitoraggio Checkmk Linux sui nodi Proxmox.

Seguire le istruzioni su come installare l'agente Linux. Quindi, interrogare i dati di monitoraggio tramite la porta 6556 nella rete locale. Se non è presente nella rete locale, è possibile eseguire la query in forma criptata tramite Secure Shell (SSH) utilizzando l'indirizzo IP pubblico.

Oltre all'agente, configurare e utilizzare l'agente speciale Proxmox VE in Checkmk.
Suggeriamo di ottimizzare il monitoraggio della rete con Checkmk. Questo ti permetterà di monitorare le tue interfacce in modo semplice ed efficiente.

Consultate l'articolo del nostro blog "Three Rules to Rule The All" per trovare una guida dettagliata sull'impostazione di un monitoraggio sistematico della rete in Checkmk con solo tre regole.

Come monitorare i nodi Proxmox

Dopo aver completato la configurazione, è possibile iniziare ad aggiungere i nodi Proxmox al monitoraggio di Checkmk.

Come aggiungere i nodi Proxmox VE al monitoraggio Checkmk

Quando si aggiunge l'host, scegliere Integrazioni API configurate e agente Checkmk nella sezione denominata "Agenti di monitoraggio".

Aggiunta del nodo Proxmox al monitoraggio di Checkmk

Quindi, configurare l'agente speciale, l'integrazione API attraverso i seguenti passaggi:

  1. Cercare 'Proxmox' nel menu Setup.
  2. Selezionare la regola Proxmox VE in Agenti ➳ VM, Cloud, Container.
  3. Inserire il nome utente creato in Proxmox inserendo [nome]@pve nel campo Nome utente.
  4. Passare a "Host espliciti" e inserire i nodi del cluster Proxmox che Checkmk deve monitorare tramite l'integrazione API.
  5. Salvare la regola e attivare le modifiche.

Checkmk dovrebbe essere in grado di vedere tutti i servizi e le varie interfacce sugli host Proxmox.

Nota: L'agente speciale genera principalmente dati di piggyback. Pertanto, è necessario selezionare l'opzione Usa e aspetta sempre dati piggyback nel campo Agenti di monitoraggio delle impostazioni dell'host ricevente (si tratta di una macchina virtuale, non dell'host Proxmox stesso). In questo modo il servizio Check_MK emette un avviso se i dati di piggyback sono mancanti o non aggiornati. Per saperne di più sul principio del piggyback.

Se si seguono le tre regole del blog di cui sopra, si avranno nomi di interfaccia simili a quelli del kernel Linux, ad esempio "Interfaccia ens16". Le interfacce con nomi che iniziano con "bond" o "eno" sono con il nodo locale e sono state create dalla virtualizzazione per le macchine virtuali. Le interfacce delle macchine virtuali iniziano con 'fw' e 'tap', a seconda della configurazione.

Come monitorare un cluster Proxmox

Abbiamo già stabilito che i server Proxmox funzionano come cluster, ma possono anche funzionare come nodi singoli. Tracciate il cluster Proxmox nel tuo monitoraggio per evitare che le interfacce delle macchine virtuali di cui sopra vadano alla deriva tra i nodi quando sposti un container o una macchina virtuale da un nodo all'altro.

Impostazione del cluster nel monitoraggio con Checkmk

Trovate Hosts nel menu Setup e, nella scheda Host, fate clic su create new cluster. Date un nome al cluster in Hostname prima di aggiungere tutti i server Proxmox che desiderate designare al cluster in Nodes.

In corrispondenza della famiglia di indirizzi IP, viene visualizzato un menu a discesa. Scegliere No IP dal menu. Nonostante ogni nodo Proxmox abbia un proprio IP, il cluster Proxmox non ne ha alcuno, quindi è impossibile eseguire un ping o un'interrogazione del cluster.

Andare in Monitoraggio agenti. Impostare l'opzione agente Checkmk/integrazioni API sulla stessa impostazione dei singoli nodi: Integrazioni API configurate e agente Checkmk.

Se il cluster e i nodi hanno un'origine dati diversa, si verrà avvisati da un messaggio di errore. Salvare il cluster dopo una configurazione riuscita.

Creare un cluster Proxmox in Checkmk

Come assegnare servizi a un cluster Proxmox

Digitare 'clustered' nel campo di ricerca nel menu Setup. Andare su Regole di monitoraggio dei servizi e scegliere Servizi in cluster, per essere reindirizzati a un altro menu. Da qui, attivare la casella di controllo Host espliciti.

Inserire i nodi Proxmox nella riga visualizzata. A titolo di esempio, fare riferimento alla schermata. I nodi sono "pve-xyx-001.checkmk.com", "pve-xyz-002.checkmk.com" e "pve-xyz-003.checkmk.com".

Quindi, attivare la casella di controllo Servizi e digitare Interfaccia fw e Interfaccia tap nei campi di ricerca. Poiché Checkmk impegna la regola solo sui nodi, ora assegnerà al cluster queste interfacce viste sui nodi.

Configurazione della regola Servizi in cluster in Checkmk

Le assegnazioni di queste interfacce al cluster supportano lo spostamento dei servizi da un nodo all'altro. Checkmk non li etichetterà come servizi scomparsi sul nodo precedente né li considererà come nuovi servizi sul nodo attuale.

Continuano a far parte del cluster, quindi non è necessario rimuovere i servizi di interfaccia su un nodo e aggiungerli su un altro. Salvare la regola e attivare le modifiche per consentire a Service Discovery di riconoscere queste interfacce sull'host del cluster.

Punti chiave per l'assegnazione dei servizi a un cluster

Tuttavia, è necessario ricordare che l'assegnazione delle interfacce a livello di cluster è vantaggiosa solo se si seguono le tre regole del blog citato in precedenza. L'osservanza di queste regole consentirà di perfezionare efficacemente le interfacce in Checkmk, perché ciò significa che le interfacce sono state sottoposte alla denominazione richiesta.

Data questa configurazione, Checkmk offre il vantaggio di consentire un monitoraggio meticoloso dell'ambiente Proxmox.

Quando si va su Service nella vista host del cluster, si vedrà, per esempio, l'interfaccia 'fwbr' con un suffisso numerico che rappresenta l'ID della macchina virtuale.

Quando si controlla il riepilogo, si vedrà anche in quale nodo si trova l'interfaccia. Nel nostro esempio, l'ID VM 100 si trova sul nodo 'pve-xyz-002.checkmk.com'.

Le interfacce del cluster Proxmox in Checkmk

Gestire le macchine virtuali volatili

Supponiamo che il tuo ambiente Proxmox contenga macchine virtuali instabili, ad esempio macchine virtuali di prova che non intendi monitorare. In questo caso, è possibile creare un container o una macchina virtuale in Proxmox utilizzando un ID VM personalizzato al di fuori dell'intervallo numerico standard, per esempio 600-699.

Utilizzando questo ID come esempio, Checkmk mostrerà queste macchine virtuali come "Interfaccia tap666io". Nel menu Configurazione, attivare la regola Servizi disabilitati. La regola consentirà di usare le regex 'Interfaccia fw6\d' e 'Interfaccia tap6\d' che corrispondono a queste interfacce, cancellandole dai servizi da monitorare.

Altri vantaggi del monitoraggio di Proxmox con Checkmk

Checkmk può recuperare i dati dalla macchina virtuale. La fonte dei dati può essere la memoria o lo spazio di archiviazione della macchina virtuale. Può farlo attraverso il meccanismo di piggyback dell'integrazione API. È possibile ottenere informazioni sullo stato di backup del container e sulla dimensione della memoria allocata che è stata utilizzata.

Anche se non è possibile installare un agente in una macchina virtuale, Checkmk è in grado di fornire i dati più importanti e rilevanti sulla macchina virtuale e un riepilogo dello stato attuale del backup.

Se decidi di utilizzare lo storage Ceph per il tuo server Proxmox, integratelo con il plug-in per le statistiche Ceph di Chechmk Exchange. Il plug-in consente di accedere ai dati Ceph, ai pool, alle visualizzazioni su schermo e allo stato generale.

Inoltre, Checkmk dispone di diversi plug-in ufficiali per il monitoraggio di Proxmox. Nel menu delle azioni del servizio corrispondente, fare clic su Parametri per questo servizio. L'azione dovrebbe consentire di personalizzare la soglia predefinita dei servizi Proxmox.

In sintesi

Proxmox è una soluzione pratica per i professionisti IT. Abbinalo a Checkmk e assicurati che le tue macchine virtuali funzionino senza problemi.

FAQ

Come si installa PVE?

Rispetto ad altre soluzioni di virtualizzazione, Proxmox VE è relativamente facile da installare, tanto che anche un nuovo utente può farlo in pochi minuti. Poiché gira su Debian, l'esperienza è quella che si avrebbe con Linux.

Il suo codice sorgente è libero di essere scaricato, condiviso e utilizzato sotto la licenza di software libero GNU Affero General Public License (AGPL), v3.

Scaricate il programma di installazione ISO di Proxmox VE. In alternativa, è possibile controllare il codice nel repository pubblico del codice (git).

Abilitare l'avvio da USB o CD/DVD (o un altro supporto di installazione) nelle impostazioni del firmware dei server. Collegare lo strumento di installazione e copiare l'immagine ISO utilizzando la riga di comando specificata.

Seguire le istruzioni del processo di installazione prima di procedere alla configurazione tramite interfaccia grafica (GUI).

Esistono abbonamenti PVE?

È possibile scegliere tra quattro piani per soddisfare le proprie esigenze aziendali. Questi piani si basano sul numero di socket della CPU e di server fisici.