Monitoraggio di Azure e Prometheus

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

Usare Prometheus come servizio gestito di Azure o come servizio self-managed 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 di Prometheus vengono archiviate in un'area di lavoro di Monitoraggio di Azure, in cui è possibile analizzare e visualizzare i dati usando Esplora metriche con PromQL e Grafana gestito di Azure.

Importante

Monitoraggio di Azure gestito e ospitato Prometheus è destinato all'archiviazione di informazioni sull'integrità dei servizi di computer e applicazioni dei clienti. Non è destinato all'archiviazione di dati classificati come informazioni personali (PII) o informazioni personali dell'utente finale (EUII). È consigliabile non inviare informazioni riservate (nomi utente, numeri di carta di credito e così via) nei campi Prometheus ospitati in Monitoraggio di Azure, ad esempio nomi delle metriche, nomi di etichetta o valori di etichetta.

Servizio gestito di Monitoraggio di Azure per Prometheus

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 in un servizio Azure Kubernetes, consentendo di concentrarsi 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 ARC. Il servizio offre disponibilità elevata, garanzie di contratto di servizio e aggiornamenti software automatici. Il servizio offre un archivio metriche altamente scalabile, con conservazione dei dati fino a 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. Si integra in modo nativo 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 dai servizi Azure Kubernetes:

  • Servizio Azure Kubernetes
  • Kubernetes con abilitazione di 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. Dopo aver creato l'area di lavoro, è possibile eseguire l'onboarding dei servizi che raccolgono le metriche di Prometheus.

Per abilitare Managed Prometheus for Microsoft Azure air-gapped clouds (Cloud con estensione air-gapped), 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 Arc
  • Cluster Kubernetes self-manged ospitati in Azure o con abilitazione dell'arco.

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 altre informazioni, vedere Inviare metriche di Prometheus da macchine virtuali 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 Il linguaggio di query Prometheus (PromQL). È possibile archiviare i dati da diverse origini dati Prometheus in una singola area di lavoro di Monitoraggio di Azure. Per altre informazioni, vedere Panoramica dell'area di lavoro di Monitoraggio di Azure.

I dati vengono conservati nelle aree di lavoro di Monitoraggio di Azure per 18 mesi.

Eseguire query e analizzare le metriche di Prometheus

I dati di Prometheus vengono recuperati usando prometheus Query Language (PromQL). È possibile scrivere query personalizzate, usare query dalla community open source e usare dashboard di Grafana che includono query PromQL. Vedere il Progetto 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

Esplora metriche con PromQL consente di analizzare e visualizzare le metriche di piattaforma e Prometheus. Esplora metriche supporta PromQL per le metriche di Prometheus. Esplora metriche con PromQL (anteprima) è disponibile dalla voce di menu Metriche dell'area di lavoro monitoraggio di Azure in cui sono archiviate le metriche prometheus. Per altre informazioni, vedere Esplora metriche con PromQL.

Screenshot che mostra una query PromQL in Esplora metriche.

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

Metriche di VisualizE Prometheus con Grafana gestito di Azure. Connettere l'area di lavoro di Monitoraggio di Azure a un'area di lavoro Grafana in modo che possa essere usata come origine dati in un dashboard di Grafana. È quindi possibile accedere a più dashboard predefiniti che usano le metriche di Prometheus e creare un numero qualsiasi di dashboard personalizzati. Per altre informazioni, vedere Collegare un'area di lavoro Grafana a un'area di lavoro di Monitoraggio di Azure

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 API di query Prometheus.

Regole e avvisi

Prometheus supporta regole di registrazione e regole di avviso tramite query PromQL. Le regole e gli avvisi vengono distribuiti automaticamente nel servizio gestito di Monitoraggio di Azure per Prometheus. Le metriche registrate dalle regole di registrazione vengono archiviate nell'area di lavoro monitoraggio di Azure e possono essere sottoposte a query da dashboard o da altre regole. Le regole di avviso e le regole di registrazione possono essere create e gestite usando gruppi di regole di Prometheus gestito da Azure. Per il cluster del servizio Azure Kubernetes viene fornito un set di regole di avviso di Prometheus predefinite e regole di registrazione per semplificare le operazioni iniziali.

Gli avvisi generati dalle regole di avviso possono attivare azioni o notifiche, in base a quanto definito nei gruppi di azioni configurati per la regola di avviso. È anche possibile visualizzare gli avvisi di Prometheus attivati e risolti nel portale di Azure insieme ad altri tipi di avvisi.

Limiti e quote di servizio

Il servizio gestito per Prometheus di Monitoraggio di Azure ha limiti e quote predefiniti per l'inserimento. Quando si raggiungono i limiti di inserimento, è possibile che venga applicata la limitazione delle richieste. È possibile richiedere un aumento di questi limiti. Per informazioni sui limiti delle metriche di Prometheus, 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.

Limitazioni/Problemi noti - Servizio gestito per Prometheus di Monitoraggio di Azure

  • La frequenza minima per lo scarto e l'archiviazione delle metriche è di 1 secondo.
  • Durante gli aggiornamenti dei nodi è possibile che si verifichino lacune che durano da 1 a 2 minuti in alcune raccolte di metriche dell'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 è previsto e si verifica a causa dell'aggiornamento del nodo in cui viene eseguito. Le regole di avviso consigliate non sono interessate da questo comportamento.
  • Prometheus gestito per i nodi Windows non è abilitato automaticamente. Per abilitare il monitoraggio per nodi e pod Windows nei cluster, vedere Monitorare i nodi e i pod di Windows nei cluster.

Distinzione tra maiuscole e minuscole

Prometheus gestito da Azure è un sistema senza distinzione tra maiuscole e minuscole. Tratta le stringhe, come nomi di metriche, nomi di etichette o valori di etichette, 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, che è 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 cluster servizio Azure Kubernetes (servizio Azure Kubernetes) fanno distinzione tra maiuscole e minuscole.

In Prometheus gestito da Azure le serie temporali seguenti sono considerate equivalenti:

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 di serie temporali.

  • Tutti i campioni inseriti in tali serie temporali vengono archiviati come se fossero scorporati o inseriti in 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. È possibile che combinazioni di maiuscole e minuscole diverse vengano restituite in momenti diversi per la stessa serie temporale.
  • Qualsiasi nome di metrica o matcher di nome/valore dell'etichetta presente nella query viene recuperato dal database di serie temporali 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 quando si eseguono confronti tra stringhe.

È consigliabile assicurarsi che una serie temporale venga prodotta o scorporata usando una singola combinazione di maiuscole e minuscole coerente.

In Prometheus open source, la serie temporale precedente viene considerata come due serie temporali diverse. Tutti i campioni scorporati/inseriti in tali serie vengono archiviati separatamente.

Riferimenti per Prometheus

Di seguito sono riportati i collegamenti alla documentazione di Prometheus.

Passaggi successivi