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. È possibile raccogliere le metriche di Prometheus dai cluster del 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. Si raccomanda fortemente di non inviare informazioni sensibili, come nomi utente e numeri di carta di credito, nei campi di Prometheus ospitati da Azure Monitor, come nomi delle metriche, nomi delle etichette o valori delle etichette.

Servizio gestito di Azure Monitor 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 nel servizio Azure Kubernetes e in Kubernetes abilitati per Azure Arc, 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.

Annotazioni

Prometheus gestito di Azure supporta la scalabilità automatica orizzontale dei pod per i pod del set di repliche nei cluster Kubernetes del servizio Azure Kubernetes. Per altre informazioni, vedere Scalabilità automatica .

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 i cloud con estensione air-gapped di Microsoft Azure, contattare il supporto tecnico.

Prometheus autogestito 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 abilitati per Azure Arc
  • Cluster Kubernetes autogestiti 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 dei 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 ulteriori informazioni, vedere Querying Prometheus sul sito Web di 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 Esploratore di metriche con PromQL (anteprima) per analizzare e visualizzare le metriche della piattaforma e di 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 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 registrate dalle regole di registrazione vengono archiviate nell'area di lavoro di Monitoraggio di Azure. Dashboard o altre regole possono quindi effettuare ricerche 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 AKS, un set di regole di avviso Prometheus predefinite e di regole di registrazione 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 ingestione, può verificarsi una limitazione. È possibile richiedere un aumento di questi limiti. Per altre informazioni, vedere Limiti del servizio Monitoraggio di Azure.

Per monitorare le metriche di inserimento specifiche e ricevere avvisi, consulta Monitorare l'ingestione delle metriche dell'area di lavoro in Azure Monitor.

Limitazioni

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 per Prometheus di Monitoraggio di Azure è 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.

Annotazioni

Questo comportamento è diverso da quello del sistema open-source nativo Prometheus, che fa distinzione tra maiuscole e minuscole. Le istanze autogestite di Prometheus in esecuzione in macchine virtuali Azure, set di scalabilità di macchine virtuali Azure o nei servizi cluster di Azure Kubernetes sono sistemi case-sensitive.

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 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. La stessa serie temporale può restituire combinazioni di maiuscole e minuscole diverse in momenti diversi.
  • 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 nei confronti tra stringhe.

È consigliabile usare in modo coerente lettere maiuscole/minuscole per produrre o scorporare una serie temporale.

Prometheus open source considera gli esempi precedenti come due serie temporali diverse. Tutti i campioni scorporati o inseriti in tali serie vengono archiviati separatamente.

Riferimenti per Prometheus

Di seguito sono riportati i collegamenti alla documentazione di Prometheus: