1. Introduzione

Checkmk include un modulo completo per il monitoraggio di Microsoft Azure, composto da un connettore per Azure e da una raccolta completa di plug-in di controllo che recuperano e valutano varie metriche e stati per te.
Oltre alle informazioni generali sui costi sostenuti dal tuo ambiente Azure e sullo stato attuale dei servizi Azure nella tua regione, con tutte le edizioni di Checkmk puoi monitorare i seguenti prodotti Azure:
Con Checkmk Cloud puoi includere nel tuo sistema di monitoraggio anche i seguenti prodotti:
Un elenco completo di tutti i plug-in di controllo disponibili per il monitoraggio di Microsoft Azure è disponibile nel nostro Catalogo dei plug-in di controllo e descriviamo come includere i tuoi cluster AKS (Azure Kubernetes Service) in Checkmk nell'articolo Monitoraggio di Kubernetes.
![]() |
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. |
2. Preparare Azure per Checkmk
2.1. Creare l'applicazione
Per monitorare Azure con Checkmk, avrai bisogno del tuo ID abbonamento e del tuo ID tenant (noto anche come "Directory ID").
Per prima cosa, registra il monitoraggio di Checkmk come app in modo da poter lavorare con l'API di Azure. L'opzione per farlo si trova nel portale di Azure all'indirizzo Microsoft Entra ID > Manage > App registrations > New registration:

Assegna un nome a tua scelta. Nell'esempio usiamo my-check-mk-app
. Questo nome è solo a titolo informativo. Il riferimento all'app stessa avviene tramite un UUID che vedrai in un passaggio successivo. Non è necessario modificare nulla nella sezione Supported account types. L'impostazione di Redirect URI è facoltativa.
Dopo la creazione, seleziona la nuova app dall'elenco delle applicazioni. Se non compare nell'elenco, interroga Seleziona My apps su All apps. Nei dettagli dell'app troverai anche Application (client) ID che ti servirà in seguito. Object-ID non è necessario.

2.2. Assegnare i permessi all'app
Affinché la tua nuova app abbia i diritti di accesso ai dati di monitoraggio, devi assegnarli qui. A sinistra della pagina principale di navigazione seleziona l'elemento All resources e poi Subscriptions:

Nella navigazione di questa pagina vai su Access Control (IAM) e seleziona Add e Add role assignment:

Ora, alla voce ruolo inserisci Reader, alla voce Assign access to seleziona il valore Azure AD user, group, or service principal e inserisci il nome della tua nuova applicazione nell'opzione Select:

2.3. Creare una chiave per l'applicazione
Ora hai bisogno di una chiave (un segreto) con cui Checkmk possa loggarsi all'API. Puoi creare una chiave nelle impostazioni dell'app alla voce Certificates & secrets. Basta cliccare su New client secret nella sezione Client secrets.

Nella finestra che segue, Microsoft vuole che tu inserisca un nome a tua scelta nel campo Description. Noi abbiamo scelto my-check-mk-key
. Non dimenticare di selezionare il periodo di tempo corretto per le tue esigenze nell'opzione Expires.

La configurazione di Azure è ora completa e dovresti disporre delle seguenti quattro informazioni:
L'ID dell'abbonamento
L'ID del tenant (noto anche come "Directory ID").
L'ID dell'applicazione (ID client) per l'app my-check-mk-app.
Il segreto della chiave my-check-mk-key per questa applicazione.
Se non hai a portata di mano il tuo ID tenant, trovalo passando il mouse sul tuo nome di login nel tooltip sotto Directory:

Puoi vedere l'ID dell'abbonamento, ad esempio su Cost Management + Billing sotto My subscriptions.Nota: oggi Microsoft non visualizza questo ID come un hash, ma come un nome leggibile dall'uomo. Puoi usare questo nuovo nome nel modo consueto.
3. Impostazione del monitoraggio di base in Checkmk
3.1. Creare un host per Azure
Anche se non hai a che fare con un host fisico in Azure, crea un host per la tua directory Azure in Checkmk. Il nome host può essere definito a piacere.Importante: poiché Azure è un servizio e quindi non ha un indirizzo IP o un nome DNS (è l'agente speciale che si occupa dell'accesso), devi impostare IP address family su No IP.

A questo punto è meglio salvare con Save & Finish, perché ovviamente la scoperta del servizio non può ancora funzionare.
3.2. Configurazione dell'agente Azure
Poiché Azure non può essere interrogato tramite il normale agente Checkmk, ora devi configurare l'agente specialeAzure, noto anche come programma sorgente di dati. In questo caso Checkmk non contatta l'host di destinazione tramite la porta TCP 6556 come di consueto, ma chiama un'utility che comunica con il sistema di destinazione tramite l'API specifica di Azure.
Per fare ciò, alla voce Setup > Agents > VM, Cloud, Container > Microsoft Azure crea una regola le cui condizioni si applicano esclusivamente all'host Azure appena creato. Qui troverai i campi di input per gli ID e il segreto:

Qui puoi anche selezionare i gruppi di risorse o le risorse che vuoi monitorare. Se non hai selezionato explicitly specified groups, tutti i gruppi di risorse vengono monitorati automaticamente.
3.3. Test
Se ora esegui una scoperta del servizio sull'host Azure, dovrebbe essere rilevato un solo servizio chiamato Azure Agent Info:

Se l'accesso all'API non funziona (ad esempio a causa di un ID sbagliato o di permessi non validi), nel testo di stato di Azure Agent Info viene visualizzato un messaggio di errore dell'API di Azure:

3.4. Rendere disponibili i gruppi di risorse come host
Per chiarezza, il monitoraggio di Azure in Checkmk è stato progettato in modo che ogni gruppo di risorse Azure sia rappresentato da un host logico (per così dire) in Checkmk. Ciò avviene con l'aiuto di una procedura di piggyback, che prende i dati dall'host Azure utilizzando agenti speciali e li reindirizza all'interno di Checkmk a questi host del gruppo di risorse.
Gli host dei gruppi di risorse non appaiono automaticamente in Checkmk. Inserisci questi host manualmente o, facoltativamente, con il demone di configurazione dinamica (DCD). Importante: in questo caso i nomi degli host devono corrispondere esattamente ai nomi dei gruppi di risorse - e questo è anche sensibile alle maiuscole e minuscole! Se non sei sicuro della corrispondenza esatta dei nomi dei gruppi, puoi farlo direttamente dal servizio Azure Agent Info sull'host Azure.
A proposito: con lo script ausiliario find_piggy_orphans
della directory dei tesori troverai tutti gli host piggyback per i quali esistono dati, ma che non sono ancora stati creati come host in Checkmk:
OMD[mysite]:~$ share/doc/check_mk/treasures/find_piggy_orphans
Glastonbury
Woodstock
Configura gli host del gruppo di risorse senza indirizzo IP (analogamente all'host Azure) e seleziona No API integrations, no Checkmk agent come agente e Always use and expect piggyback data come piggyback.

Se ora esegui una scoperta del servizio su uno di questi host del gruppo di risorse, scoprirai che ci sono altri servizi che riguardano specificamente questo gruppo di risorse:

![]() |
Se vuoi scegliere liberamente i nomi host del gruppo di risorse, con la regola Setup > Agents > Access to Agents > Hostname translation for piggybacked hosts puoi definire una conversione dei gruppi di risorse in host. |
4. Configurazione avanzata
4.1. Macchine virtuali (VM)
Quando utilizzi Azure per monitorare le macchine virtuali che contemporaneamente fungono da host normali in Checkmk, puoi assegnare i servizi Azure associati a queste macchine virtuali direttamente agli host della VM in Checkmk invece che agli host del gruppo di servizi.
Per fare ciò, nella regola di Azure, sotto l'opzione Map data relating to VMs, seleziona l'impostazione Map data to the VM itself. Affinché questo funzioni, il nome host della VM in Checkmk nel monitoraggio deve avere esattamente lo stesso nome della VM corrispondente in Azure.
4.2. Costi di monitoraggio
La regola Microsoft Azure è preimpostata in modo che Checkmk monitori anche tutti i costi sostenuti nel tuo ambiente Azure. In particolare, i servizi visualizzano i costi sostenuti nel giorno precedente. In questo modo puoi determinare rapidamente se ci sono stati cambiamenti.
Sono stati creati diversi servizi per avere una panoramica più precisa dei costi sostenuti e per poter impostare delle soglie specifiche. I costi totali a livello di directory Azure vengono visualizzati per l'host Azure che hai creato per primo. Inoltre, vengono creati dei servizi per ogni host che rappresenta un gruppo di risorse. A entrambi i livelli, Checkmk genera un servizio per i costi per ogni cosiddetto "provider di risorse" (es. microsoft.compute
e microsoft.network
). Il servizio Costs Summary mostra quindi la somma totale per il gruppo di servizi o per l'intera directory Azure.
Puoi utilizzare la regola Azure Usage Details (Costs) per definire delle soglie individuali per tutti questi servizi.
Se non desideri monitorare i costi, dovrai disattivare l'opzione Usage Details nella regola Microsoft Azure.
4.3. Limite di velocità per le query API
Attualmente le query API di cui Checkmk ha bisogno per monitorare Azure (rispetto ad AWS) sono gratuite, tuttavia esiste un limite al numero di query consentite per periodo di tempo (il "Limite di velocità"). Per ID applicazione il limite è di 12.000 richieste di lettura all'ora.
A causa della struttura dell'API, Checkmk richiede almeno una o più query per ogni risorsa richiesta. Pertanto il numero totale di query cresce linearmente con il numero di risorse da monitorare. Se il limite di query viene raggiunto o superato, la query fallisce con un codice HTTP 429 (troppe richieste) e il servizio Check_MK per l'host Azure viene contrassegnato come CRIT.
Questo limite di velocità deriva dal cosiddetto algoritmo "token bucket" di Azure. Tutto inizia con un "credito" di 12.000 query rimanenti - ogni query ne consuma una. Contemporaneamente vengono aggiunte al credito 3,33 query al secondo. L'output del servizio Azure Agent Info ti permette di vedere quante query sono attualmente rimaste.
In particolare, questo significa che:
Se la velocità di interrogazione è sufficientemente bassa, le query disponibili sono sempre poco meno di 12.000.
Se il tasso di interrogazione è troppo alto, il credito scenderà lentamente a 0 e si verificheranno sporadicamente errori nelle query.
In questo caso puoi ridurre il tasso di polling interrogando meno gruppi di risorse o risorse di polling o riducendo l'intervallo di controllo per il check attivo di Check_MK sull'host Azure. Questo è possibile con la regola Normal check interval for service checks.
Per permetterti di reagire in tempo, il servizio Azure Agent Info monitora il numero di query rimanenti e ti avvisa in anticipo. Per impostazione predefinita, la soglia di avviso per le query rimanenti è del 50% e la soglia critica è del 25%.
5. Le dashboard
Per iniziare comodamente il monitoraggio di Azure, Checkmk Cloud include due dashboard integrate, Azure VM instances e Azure storage accounts. Entrambe si trovano come voci di menu nel monitoraggio alla voce Monitor > Cloud.
Per dare un'impressione più chiara, ecco due esempi di come sono strutturate le dashboard. Innanzitutto, la dashboard delle istanze VM, in cui puoi confrontare lo stato attuale sul lato sinistro e la cronologia delle metriche più importanti sul lato destro:

La dashboard degli account di archiviazione è strutturata in modo molto simile: sul lato sinistro troverai i dati attuali dei rispettivi bucket, mentre a destra le metriche più importanti sono visualizzate in ordine cronologico:
