Condividi tramite


Monitoraggio di Azure e Prometheus

Prometheus è una soluzione comune di monitoraggio e avvisi open source ampiamente usata nell'ecosistema nativo del cloud. Le organizzazioni usano Prometheus per monitorare e avvisare le prestazioni dell'infrastruttura e dei carichi di lavoro. Viene spesso usato negli ambienti Kubernetes.

È possibile usare Prometheus come servizio gestito da Azure o come servizio autogestito per raccogliere le metriche. Le metriche prometheus possono essere raccolte dai cluster servizio Azure Kubernetes (AKS), dai cluster Kubernetes abilitati per Azure Arc, dalle macchine virtuali e dai set di scalabilità di macchine virtuali.

Le metriche prometheus vengono archiviate in un'area di lavoro di Monitoraggio di Azure. È possibile analizzare e visualizzare i dati in un'area di lavoro usando Esplora metriche con Prometheus Query Language (PromQL) e Grafana gestito di Azure.

Importante

L'uso di Monitoraggio di Azure per gestire e ospitare Prometheus è destinato all'archiviazione di informazioni sull'integrità dei servizi di computer e applicazioni dei clienti. Non è destinato all'archiviazione di dati personali. È consigliabile non inviare informazioni riservate ,ad esempio nomi utente e numeri di carta di credito, in campi Prometheus ospitati in Monitoraggio di Azure, ad esempio nomi delle metriche, nomi di etichetta o valori di etichetta.

Servizio gestito per Prometheus di Monitoraggio di Azure

Il servizio gestito di Monitoraggio di Azure per Prometheus è un componente delle metriche di Monitoraggio di Azure che fornisce un ambiente completamente gestito e scalabile per l'esecuzione di Prometheus. Semplifica la distribuzione, la gestione e il ridimensionamento di Prometheus nel servizio Azure Kubernetes, in modo da potersi concentrare sul monitoraggio delle applicazioni e dell'infrastruttura.

Come servizio completamente gestito, il servizio gestito di Monitoraggio di Azure per Prometheus distribuisce automaticamente Prometheus nel servizio Azure Kubernetes o in Kubernetes abilitato per Azure Arc. Il servizio fornisce garanzie di disponibilità elevata, contratto di servizio e aggiornamenti software automatici. Fornisce un archivio metriche altamente scalabile che conserva i dati per un massimo di 18 mesi.

Il servizio gestito di Monitoraggio di Azure per Prometheus fornisce avvisi, regole e dashboard preconfigurati. Con i dashboard consigliati della community di Prometheus e l'integrazione nativa di Grafana, è possibile ottenere immediatamente un monitoraggio completo. Il servizio gestito di Monitoraggio di Azure per Prometheus si integra con Grafana gestito di Azure e funziona anche con Grafana autogestito.

I prezzi si basano sull'inserimento e sulla query senza costi di archiviazione aggiuntivi. Per altre informazioni, vedere la scheda Metriche in Prezzi di Monitoraggio di Azure.

Abilitare il servizio gestito di Monitoraggio di Azure per Prometheus

Il servizio gestito di Monitoraggio di Azure per Prometheus raccoglie i dati dal servizio Azure Kubernetes e da Kubernetes abilitato per Azure Arc.

Per abilitare il servizio gestito di Monitoraggio di Azure per Prometheus, è necessario creare un'area di lavoro di Monitoraggio di Azure per archiviare le metriche. È quindi possibile eseguire l'onboarding dei servizi che raccolgono le metriche di Prometheus:

Per abilitare Prometheus gestito per cloud con estensione air-gapped di Microsoft Azure, contattare il supporto tecnico.

Prometheus self-managed ospitato in Azure

Oltre al servizio gestito per Prometheus, è possibile installare e gestire la propria istanza di Prometheus e usare la scrittura remota per archiviare le metriche in un'area di lavoro di Monitoraggio di Azure.

Usando la scrittura remota, è possibile raccogliere dati dai server Prometheus autogestito in esecuzione negli ambienti seguenti:

  • Macchine virtuali di Azure
  • Set di scalabilità di macchine virtuali di Azure
  • Server con abilitazione di Azure Arc
  • Cluster Kubernetes self-manged ospitati in Azure o abilitati per Azure Arc

Servizi Kubernetes autogestiti

Inviare metriche da Prometheus autogestito nei cluster Kubernetes. Per altre informazioni sulla scrittura remota nelle aree di lavoro di Monitoraggio di Azure per i servizi Kubernetes, vedere gli articoli seguenti:

Macchine virtuali e set di scalabilità di macchine virtuali

Inviare dati da Prometheus autogestito a macchine virtuali e set di scalabilità di macchine virtuali. Le macchine virtuali possono trovarsi in un ambiente gestito da Azure o in locale. Per maggiori informazioni, vedere Inviare metriche Prometheus da macchine virtuali, set di scalabilità o cluster Kubernetes a un'area di lavoro di Monitoraggio di Azure.

Archiviazione di dati

Le metriche prometheus vengono archiviate in un'area di lavoro di Monitoraggio di Azure. I dati vengono archiviati in un database time series su cui è possibile eseguire query tramite PromQL. È possibile archiviare i dati da diverse origini dati Prometheus in una singola area di lavoro di Monitoraggio di Azure. Per altre informazioni, vedere Architettura dell'area di lavoro di Monitoraggio di Azure.

Le aree di lavoro di Monitoraggio di Azure conservano i dati per 18 mesi.

Esecuzione di query e analisi delle metriche di Prometheus

I dati di Prometheus vengono recuperati tramite PromQL. È possibile scrivere query personalizzate, usare query dalla community open source e usare dashboard Grafana che includono query PromQL. Per altre informazioni, vedere Querying Prometheus (Esecuzione di query su Prometheus ) nel sito Web Prometheus.

I servizi di Azure seguenti supportano l'esecuzione di query sulle metriche di Prometheus da un'area di lavoro di Monitoraggio di Azure:

Esplora metriche di Monitoraggio di Azure con PromQL

Usare Esplora metriche con PromQL (anteprima) per analizzare e visualizzare le metriche di piattaforma e Prometheus. Esplora metriche con PromQL è disponibile nel riquadro Metriche nell'area di lavoro monitoraggio di Azure in cui vengono archiviate le metriche di Prometheus. Per altre informazioni, vedere Esplora metriche di Monitoraggio di Azure con PromQL.

Screenshot di una query PromQL in Esplora metriche di Monitoraggio di Azure.

Cartelle di lavoro di Azure

Creare grafici e dashboard basati sul servizio gestito di Monitoraggio di Azure per Prometheus usando cartelle di lavoro di Azure e query PromQL. Per altre informazioni, vedere Eseguire query sulle metriche di Prometheus usando le cartelle di lavoro di Azure.

Integrazione di Grafana

Visualizzare le metriche di Prometheus usando Grafana gestito di Azure. Connettere l'area di lavoro di Monitoraggio di Azure a un'area di lavoro Grafana in modo che sia possibile usarla come origine dati in un dashboard di Grafana. È quindi possibile accedere a più dashboard predefiniti che usano le metriche Prometheus. È anche possibile creare un numero qualsiasi di dashboard personalizzati. Per altre informazioni, vedere Collegare un'area di lavoro di Grafana.

Prometheus query API

Usare PromQL tramite l'API REST per eseguire query sulle metriche di Prometheus archiviate in un'area di lavoro di Monitoraggio di Azure. Per altre informazioni, vedere Eseguire query sulle metriche di Prometheus usando l'API e PromQL.

Regole e avvisi

Prometheus supporta regole di registrazione e regole di avviso usando query PromQL. Il servizio gestito di Monitoraggio di Azure per Prometheus distribuisce automaticamente regole e avvisi. Le metriche che registrano il record delle regole vengono archiviate nell'area di lavoro monitoraggio di Azure. I dashboard o altre regole possono quindi eseguire query sulle metriche.

È possibile creare e gestire regole di avviso e regole di registrazione usando il servizio gestito di Monitoraggio di Azure per i gruppi di regole Prometheus. Per il cluster del servizio Azure Kubernetes, un set di regole di avviso e regole di registrazione prometheus predefinite consente di iniziare rapidamente.

Gli avvisi attivati dalle regole di avviso possono attivare azioni o notifiche, come definito nei gruppi di azioni configurati per la regola di avviso. È anche possibile visualizzare gli avvisi prometheus attivati e risolti nella portale di Azure, insieme ad altri tipi di avviso.

Limiti e quote di servizio

Il servizio gestito di Monitoraggio di Azure per Prometheus ha limiti e quote predefiniti per l'inserimento. Quando si raggiungono i limiti di inserimento, la limitazione può verificarsi. È possibile richiedere un aumento di questi limiti. Per altre informazioni, vedere Limiti del servizio Monitoraggio di Azure.

Per monitorare e avvisare le metriche di inserimento, vedere Monitorare l'inserimento delle metriche dell'area di lavoro di Monitoraggio di Azure.

Limiti

Le limitazioni seguenti si applicano al servizio gestito di Monitoraggio di Azure per Prometheus:

  • La frequenza minima per lo scarto e l'archiviazione delle metriche è di 1 secondo.
  • Durante gli aggiornamenti dei nodi, potrebbero verificarsi lacune che durano da 1 a 2 minuti in alcune raccolte di metriche dall'agente di raccolta a livello di cluster. Questa lacuna è dovuta a un'azione regolare del servizio Azure Kubernetes per aggiornare i nodi nel cluster. Questo comportamento non influisce sulle regole di avviso consigliate.
  • Prometheus gestito per i nodi Windows non è abilitato automaticamente. Per abilitare il monitoraggio per nodi e pod Windows nei cluster, vedere Abilitare la raccolta di metriche di Windows (anteprima).

Distinzione tra maiuscole e minuscole

Il servizio gestito di Monitoraggio di Azure per Prometheus è un sistema senza distinzione tra maiuscole e minuscole. Considera stringhe (ad esempio nomi di metriche, nomi di etichetta o valori di etichetta) come la stessa serie temporale se differiscono da un'altra serie temporale solo in base alla distinzione tra maiuscole e minuscole della stringa.

Nota

Questo comportamento è diverso da Prometheus open source nativo, ovvero un sistema con distinzione tra maiuscole e minuscole. Le istanze di Prometheus autogestito in esecuzione in macchine virtuali di Azure, set di scalabilità di macchine virtuali o servizio Azure Kubernetes cluster fanno distinzione tra maiuscole e minuscole.

Nel servizio gestito per Prometheus, la serie temporale seguente viene considerata la stessa:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Gli esempi precedenti sono una singola serie temporale in un database time series. Si applicano le considerazioni seguenti:

  • Tutti i campioni inseriti su di essi vengono archiviati come se fossero raschiati o inseriti in base a una singola serie temporale.
  • Se gli esempi precedenti vengono inseriti con lo stesso timestamp, uno di essi viene eliminato in modo casuale.
  • La combinazione di maiuscole e minuscole archiviata nel database di serie temporali e restituita da una query è imprevedibile. La stessa serie temporale può restituire maiuscole e minuscole diverse in momenti diversi.
  • Qualsiasi nome di metrica o matcher nome/valore dell'etichetta presente nella query viene recuperato dal database time series tramite un confronto senza distinzione tra maiuscole e minuscole. Se in una query è presente un matcher con distinzione tra maiuscole e minuscole, viene considerato automaticamente come matcher senza distinzione tra maiuscole e minuscole nei confronti di stringhe.

È consigliabile usare un singolo case coerente per produrre o raschiare una serie temporale.

Prometheus open source considera gli esempi precedenti come due serie temporali diverse. Tutti i campioni raschiati o inseriti su di essi vengono archiviati separatamente.

Riferimenti per Prometheus

Di seguito sono riportati i collegamenti alla documentazione di Prometheus: