Monitorare i servizi di Azure in Grafana
È possibile monitorare i servizi e le applicazioni di Azure usando Grafana e il plug-in dell'origine dati di Monitoraggio di Azure incluso. Il plug-in recupera i dati da questi servizi di Azure:
- Metriche di Monitoraggio di Azure. per i dati numerici delle serie temporali provenienti dalle risorse di Azure.
- Log di Monitoraggio di Azure: per i dati dei log e delle prestazioni provenienti dalle risorse di Azure che consentono di eseguire query usando il potente linguaggio di query Kusto (KQL). È possibile usare le query di log di Application Insights per recuperare le metriche basate su log di Application Insights
- Metriche basate sui log di Application Insights per consentire l’analisi dell'integrità delle app monitorate. È possibile usare le query di log di Application Insights in Grafana per usare i dati delle metriche dei log di Application Insights.
- Azure Resource Graph per eseguire rapidamente query e identificare le risorse di Azure tra le sottoscrizioni.
È quindi possibile visualizzare questi dati sulle prestazioni e sulla disponibilità nel dashboard di Grafana.
Usare la procedura seguente per configurare un server Grafana e creare dashboard per le metriche e i log da Monitoraggio di Azure.
Configurare Grafana
Seguire questa procedura per configurare Grafana.
Configurare Grafana con gestione Azure
Grafana con gestione Azure è ottimizzato per l'ambiente Azure e funziona perfettamente con Monitoraggio di Azure. È possibile:
- Gestire l’autenticazione degli utenti e il controllo degli accessi tramite le identità di Microsoft Entra.
- Aggiungere grafici dal portale di Azure direttamente ai dashboard di Grafana con gestione Azure.
Usare questa guida introduttiva per creare un'area di lavoro Grafana con gestione Azure tramite il portale di Azure.
Configurare Grafana in locale
Per configurare un server Grafana locale, scaricare e installare Grafana nell'ambiente locale.
Accedere a Grafana
Importante
Internet Explorer e i browser Microsoft Edge meno recenti non sono compatibili con Grafana. È necessario usare un browser basato su Chromium, incluso Microsoft Edge. Per altre informazioni, vedere Web browser supportati per Grafana.
Accedere a Grafana usando l'URL dell'endpoint dell'area di lavoro Grafana con gestione Azure o l'indirizzo IP del server.
Configurare un plug-in dell'origine dati di Monitoraggio di Azure
Grafana con gestione Azure include un plug-in dell’origine dati di Monitoraggio di Azure. Per impostazione predefinita, il plug-in è preconfigurato con un'identità gestita in grado di eseguire query e visualizzare i dati di monitoraggio da tutte le risorse nella sottoscrizione in cui è stata distribuita l'area di lavoro Grafana. Passare alla sezione "Creare un dashboard di Grafana".
È possibile espandere le risorse che possono essere visualizzate dall'area di lavoro Grafana con gestione Azure configurando autorizzazioni aggiuntive per assegnare l'identità gestita inclusa nel ruolo con autorizzazioni di lettura dei dati di monitoraggio ad altre sottoscrizioni o risorse.
Se si usa un'istanza diversa da Grafana con gestione Azure, è necessario configurare un'origine dati di Monitoraggio di Azure.
Selezionare Aggiungi origine dati, filtrare in base al nome Azuree selezionare l'origine dati Monitoraggio di Azure.
Selezionare un nome per l'origine dati e scegliere tra l'identità gestita o la registrazione dell'app per l'autenticazione.
Se si ospita Grafana nelle proprie macchine virtuali di Azure o nell'istanza di Servizio app di Azure con l'identità gestita abilitata, è possibile usare questo approccio per l'autenticazione. Tuttavia, se l'istanza di Grafana non è ospitata in Azure o l'identità gestita non è abilitata, è necessario usare la registrazione dell'app con un'entità servizio di Azure per configurare l'autenticazione.
Usare l'identità gestita
Abilitare l'identità gestita nella macchina virtuale o nell'istanza di Servizio app e modificare l'impostazione di supporto dell'identità gestita del server Grafana su true.
- All'identità gestita della macchina virtuale di hosting o all'istanza di Servizio app deve essere stato assegnato il ruolo con autorizzazioni di lettura dei dati di monitoraggio per la sottoscrizione, il gruppo di risorse o le risorse di interesse.
- Sarà anche necessario aggiornare l'impostazione
managed_identity_enabled = true
nella configurazione del server Grafana. Per altre informazioni, vedere Configurazione di Grafana. Al termine di entrambi i passaggi, è quindi possibile salvare e testare l'accesso.
Selezionare Salva ed esegui test per permettere a Grafana di verificare le credenziali. Verrà visualizzato un messaggio simile al seguente.
Usare la registrazione di un’app
Creare un'entità servizio. Grafana usa un'entità servizio Microsoft Entra per connettersi alle API di Monitoraggio di Azure e raccogliere dati. È necessario creare un'entità servizio o usarne una esistente per gestire l'accesso alle risorse di Azure:
- Per creare un'entità servizio, vedere Creare un'app Microsoft Entra e un'entità servizio nel portale. Copiare e salvare l'ID tenant (ID directory), l'ID client (ID applicazione) e il segreto client (valore della chiave dell'applicazione).
- Vedere Assegnare l'applicazione al ruolo per assegnare il ruolo con autorizzazioni di lettura dei dati di monitoraggio all’applicazione Microsoft Entra nella sottoscrizione, nel gruppo di risorse o nella risorsa da monitorare.
Specificare i dettagli della connessione da usare:
- Quando si configura il plug-in, è possibile indicare quale cloud di Azure deve essere monitorato dal plug-in: pubblico, Azure US Government, Azure Germania o Microsoft Azure gestito da 21Vianet.
Nota
Alcuni campi dell'origine dati sono denominati in modo diverso rispetto alle relative impostazioni di Azure correlate:
- L’ID tenant è l’ID directory di Azure.
- L'ID client è l’ID applicazione di Microsoft Entra.
- Il segreto client è il valore della chiave dell'applicazione Microsoft Entra.
- Quando si configura il plug-in, è possibile indicare quale cloud di Azure deve essere monitorato dal plug-in: pubblico, Azure US Government, Azure Germania o Microsoft Azure gestito da 21Vianet.
Selezionare Salva ed esegui test per permettere a Grafana di verificare le credenziali. Verrà visualizzato un messaggio simile al seguente.
Usare i dashboard predefiniti
Monitoraggio di Azure contiene dashboard predefiniti da usare con Grafana con gestione Azure e il plug-in di Monitoraggio di Azure.
Monitoraggio di Azure supporta anche i dashboard predefiniti per una perfetta integrazione con il servizio gestito di Monitoraggio di Azure per Prometheus. Questi dashboard vengono distribuiti automaticamente in Grafana con gestione Azure quando sono collegati al servizio gestito di Monitoraggio di Azure per Prometheus.
Creare un dashboard di Grafana
Passare alla home page di Grafana e selezionare Nuovo dashboard.
Nel nuovo dashboard selezionare Grafo. È possibile provare altre opzioni di creazione di grafici, ma in questo articolo viene usato Grafo come esempio.
Un grafico vuoto viene visualizzato nel dashboard. Fare clic sul titolo del pannello e selezionare Modifica per immettere i dettagli dei dati che si desidera tracciare nel grafico.
Selezionare l'origine dati di Monitoraggio di Azure configurata.
Visualizzazione delle metriche di Monitoraggio di Azure: selezionare Monitoraggio di Azure nell'elenco a discesa Servizio. Viene visualizzato un elenco di selettori che permettono di selezionare le risorse e la metrica da monitorare nel grafico. Per raccogliere le metriche da una macchina virtuale, usare lo spazio dei nomi
Microsoft.Compute/VirtualMachines
. Dopo la selezione delle macchine virtuali e le metriche, è possibile iniziare a visualizzare i dati nel dashboard.Visualizzazione dei dati di log di Monitoraggio di Azure: selezionare Azure Log Analytics nell'elenco a discesa Servizio. Selezionare l'area di lavoro di cui si vuole eseguire una query e impostare il testo della query. È possibile copiare qui una query di log esistente o crearne una nuova. Quando si immette la query, IntelliSense suggerisce opzioni di completamento automatico. Selezionare il tipo di visualizzazione, Time series (Serie temporali) >Table (Tabella) ed eseguire la query.
Nota
La query predefinita fornita con il plug-in usa due macro:
$__timeFilter()
e$__interval
. Queste macro consentono a Grafana di calcolare dinamicamente gli intervalli di tempo, quando si fa zoom avanti su parte di un grafico. È possibile rimuovere queste macro e usare un filtro temporale standard, ad esempioTimeGenerated > ago(1h)
, ma in tal caso il grafico non supporterà la funzionalità di zoom avanti.
Il dashboard seguente include due grafici. Quello a sinistra mostra la percentuale di CPU di due macchine virtuali. Il grafico a destra mostra le transazioni in un account Archiviazione di Azure ripartite per tipo di transazione API.
Aggiungere grafici dal portale di Azure a Grafana con gestione Azure
Oltre a creare i pannelli in Grafana, è anche possibile aggiungere rapidamente visualizzazioni di Monitoraggio di Azure dal portale di Azure ai dashboard di Grafana nuovi o esistenti aggiungendo pannelli al dashboard di Grafana direttamente da Monitoraggio di Azure. Passare a Metriche per la risorsa. Creare un grafico e selezionare Salva nel dashboard, quindi Aggiungi a Grafana. Scegliere l'area di lavoro e il dashboard e selezionare Aggiungi per completare l'operazione.
Funzionalità avanzate di Grafana
Grafana offre funzionalità avanzate.
Variabili
Alcuni valori della query possono essere selezionati tramite gli elenchi a discesa dell'interfaccia utente e aggiornati nella query. Considerare la query seguente come esempio:
Usage
| where $__timeFilter(TimeGenerated)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
È possibile configurare una variabile che elenchi tutti i valori disponibili di Soluzione e quindi aggiorni la query in modo che la usi. Per creare una nuova variabile, selezionare il pulsante Impostazioni nel dashboard nell'area in alto a destra, selezionare Variabili e quindi Nuova. Nella pagina delle variabili definire l'origine dati e la query da eseguire per ottenere l'elenco di valori.
Dopo aver creato la query, modificarla per usare i valori selezionati. I grafici rifletteranno tale modifica:
Usage
| where $__timeFilter(TimeGenerated) and Solution in ($Solutions)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
Creare playlist di dashboard
Una delle molte funzionalità utili di Grafana è la playlist di dashboard. È possibile creare più dashboard e aggiungerli a una playlist configurando un intervallo per ogni dashboard da visualizzare. Selezionare Play per vedere i dashboard scorrere in sequenza. È consigliabile visualizzare i grafici su un monitor a parete di grandi dimensioni per fornire un tabellone di stato per il gruppo.
Facoltativo: monitorare altre origini dati negli stessi dashboard di Grafana
Sono disponibili molti plug-in di origini dati che è possibile usare per riunire queste metriche in un dashboard.
Di seguito sono riportati articoli di riferimento validi su come usare Telegraf, InfluxDB, il servizio gestito di Monitoraggio di Azure per Prometheus e Docker:
- Come configurare le origini dati per Grafana con gestione Azure
- Usare il servizio gestito di Monitoraggio di Azure per Prometheus come origine dati per Grafana tramite l'identità del sistema gestita
- Come monitorare le metriche di sistema con lo stack TICK in Ubuntu 16.04
- Una soluzione di monitoraggio per host, contenitori e servizi in contenitori Docker
Di seguito è riportata un'immagine di un dashboard di Grafana completo che include metriche di Monitoraggio di Azure e Application Insights.
Pulire le risorse
Se è stato configurato un ambiente Grafana in Azure, è previsto un addebito quando le risorse sono in esecuzione indipendentemente dal fatto che le si usi o meno. Per evitare di dover sostenere costi aggiuntivi, eliminare il gruppo di risorse creato in questo articolo.
- Nel menu a sinistra nel portale di Azure selezionare Gruppi di risorse>Grafana.
- Nella pagina del gruppo di risorse selezionare Elimina, immettere Grafana nella casella di testo e quindi scegliere Elimina.