Inviare metriche Prometheus da macchine virtuali, set di scalabilità o cluster Kubernetes a un'area di lavoro di Monitoraggio di Azure
Prometheus non è limitato al monitoraggio dei cluster Kubernetes. Usare Prometheus per monitorare applicazioni e servizi in esecuzione nei server, ovunque si trovino. Ad esempio, è possibile monitorare le applicazioni in esecuzione in macchine virtuali, set di scalabilità di macchine virtuali o persino server locali. È anche possibile inviare metriche Prometheus a un'area di lavoro di Monitoraggio di Azure dal cluster autogestito e dal server Prometheus. Installare Prometheus nei server e configurare la scrittura remota per inviare metriche a un'area di lavoro di Monitoraggio di Azure.
Questo articolo illustra come configurare la scrittura remota per inviare dati da un'istanza autogestita di Prometheus a un'area di lavoro di Monitoraggio di Azure.
Opzioni di scrittura remota
Prometheus autogestito può essere eseguito in Azure e in ambienti non-Azure. Di seguito sono riportate le opzioni di autenticazione per la scrittura remota nell'area di lavoro di Monitoraggio di Azure in base all'ambiente in cui Prometheus è in esecuzione.
Macchine virtuali gestite da Azure, set di scalabilità di macchine virtuali e cluster Kubernetes
Usare l'autenticazione dell'identità gestita assegnata dall'utente per i servizi che eseguono Prometheus autogestito in un ambiente Azure. I servizi gestiti da Azure includono:
- Macchine virtuali di Azure
- Set di scalabilità di macchine virtuali di Azure
- Servizio Azure Kubernetes (AKS)
Per configurare la scrittura remota per le risorse gestite da Azure, vedere Scrittura remota usando l'identità gestita assegnata dall'utente.
Macchine virtuali e cluster Kubernetes in esecuzione in ambienti non-Azure
Se si dispone di macchine virtuali o di un cluster Kubernetes in ambienti non-Azure e o è stato eseguito l'onboarding in Azure Arc, installare Prometheus autogestito e configurare la scrittura remota usando l'autenticazione tramite l'applicazione Microsoft Entra ID. Per altre informazioni, vedere Scrittura remota usando l'autenticazione dell'applicazione Microsoft Entra ID.
L'onboarding nei servizi abilitati per Azure Arc consente di gestire e configurare macchine virtuali non-Azure in Azure. Per altre informazioni sull'onboarding di macchine virtuali a server abilitati per Azure Arc, vedere Server abilitati per Azure Arc e Kubernetes abilitato per Azure Arc. I servizi abilitati per Arc supportano solo l'autenticazione tramite Microsoft Entra ID.
Nota
L'identità gestita assegnata dal sistema non è supportata per la scrittura remota nelle aree di lavoro di Monitoraggio di Azure. Usare l'identità gestita assegnata dall'utente o l'autenticazione tramite l'applicazione Microsoft Entra ID.
Prerequisiti
Versioni supportate
- È necessario disporre di Prometheus versione 2.45 o successive per poter eseguire l'autenticazione dell'identità gestita.
- È necessario disporre di Prometheus versione 2.48 o successive per poter eseguire l'autenticazione a Microsoft Entra ID.
Area di lavoro di Monitoraggio di Azure
Questo articolo illustra l'invio di metriche Prometheus a un'area di lavoro di Monitoraggio di Azure. Per creare un'area di lavoro di Monitoraggio di Azure, vedere Gestire un'area di lavoro di Monitoraggio di Azure.
Autorizzazioni
Per completare i passaggi descritti in questo articolo, sono necessarie autorizzazioni di amministratore per il cluster o la risorsa.
Configurare l'autenticazione per la scrittura remota
A seconda dell'ambiente in cui Prometheus è in esecuzione, è possibile configurare la scrittura remota per usare l'identità gestita assegnata dall'utente o l'autenticazione dell'applicazione Microsoft Entra ID per inviare dati all'area di lavoro di Monitoraggio di Azure.
Usare il portale di Azure o l'interfaccia della riga di comando per creare un'identità gestita assegnata dall'utente o un'applicazione Microsoft Entra ID.
Scrittura remota con l'autenticazione dell'identità gestita assegnata dall'utente
L'autenticazione dell'identità gestita assegnata dall'utente può essere usata in qualsiasi ambiente gestito da Azure. Se il servizio Prometheus è in esecuzione in un ambiente non-Azure, è possibile usare l'autenticazione tramite l'applicazione Microsoft Entra ID.
Per configurare un'identità gestita assegnata dall'utente per la scrittura remota nell'area di lavoro di Monitoraggio di Azure, seguire questa procedura.
Creare un'identità gestita assegnata dall'utente
Per creare un'identità gestita dall'utente da usare nella configurazione di scrittura remota, vedere Gestire le identità gestite assegnate dall'utente.
Notare il valore di clientId
dell'identità gestita creata. Questo ID viene usato nella configurazione di scrittura remota di Prometheus.
Assegnare il ruolo di editore delle metriche di monitoraggio all'applicazione
Nella regola di raccolta dati dell'area di lavoro, assegnare il ruolo Monitoring Metrics Publisher
all'identità gestita.
Nella pagina Panoramica dell'area di lavoro di Monitoraggio di Azure, selezionare il collegamento Regola raccolta dati.
Nella pagina della regola di raccolta dati, selezionare Controllo di accesso (IAM).
Cercare e selezionare Monitoraggio editore metriche, quindi selezionare Avanti.
Selezionare Identità gestita.
Selezionare Selezionare i membri.
Nell'elenco a discesa Entità gestita, identità gestita assegnata dall'utente.
Selezionare l'identità assegnata dall'utente che si vuole usare, quindi fare clic su Seleziona.
Selezionare Rivedi e assegna per completare l'assegnazione di ruolo.
Assegnare l'identità gestita a una macchina virtuale o a un set di scalabilità di macchine virtuali
Importante
Per completare i passaggi descritti in questa sezione, è necessario disporre delle autorizzazioni di accesso utente di amministratore o proprietario per la macchina virtuale o il set di scalabilità di macchine virtuali.
Nel portale di Azure passare alla pagina del cluster, della macchina virtuale o del set di scalabilità di macchine virtuali.
Selezionare Identità.
Selezionare Assegnata dall'utente.
Selezionare Aggiungi.
Selezionare l'identità gestita assegnata dall'utente creata e quindi selezionare Aggiungi.
Assegnare l'identità gestita per un servizio Azure Kubernetes
Per servizi Azure Kubernetes, l'identità gestita deve essere assegnata ai set di scalabilità di macchine virtuali.
Il servizio Azure Kubernetes crea un gruppo di risorse contenente i set di scalabilità di macchine virtuali. Il nome del gruppo di risorse è nel formato MC_<resource group name>_<AKS cluster name>_<region>
.
Per ogni set di scalabilità di macchine virtuali nel gruppo di risorse, assegnare l'identità gestita seguendo i passaggi della sezione precedente, Assegnare l'identità gestita a una macchina virtuale o a un set di scalabilità di macchine virtuali.
Configurare la scrittura remota
La scrittura remota viene configurata nel file di configurazione prometheus.yml
o in Prometheus Operator.
Per altre informazioni sulla configurazione della scrittura remota, vedere l'articolo Prometheus.io: Configurazione. Per altre informazioni sull'ottimizzazione della configurazione di scrittura remota, vedere Ottimizzazione della scrittura remota.
- Configurare la scrittura remota per Prometheus in esecuzione in macchine virtuali
- Configurare la scrittura remota in Kubernetes per Prometheus Operator
Per inviare dati all'area di lavoro di Monitoraggio di Azure, aggiungere la sezione seguente al file di configurazione (prometheus.yml) dell'istanza autogestita di Prometheus.
remote_write:
- url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# AzureAD configuration.
# The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
azuread:
cloud: 'AzurePublic'
managed_identity:
client_id: "<client-id of the managed identity>"
oauth:
client_id: "<client-id from the Entra app>"
client_secret: "<client secret from the Entra app>"
tenant_id: "<Azure subscription tenant Id>"
Il parametro url
specifica l'endpoint di inserimento delle metriche dell'area di lavoro di Monitoraggio di Azure. È disponibile nella pagina Panoramica dell'area di lavoro di Monitoraggio di Azure nel portale di Azure.
Usare managed_identity
o oauth
per l'autenticazione dell'applicazione Microsoft Entra ID, a seconda dell'implementazione. Rimuovere l'oggetto che non si sta usando.
Trovare l'ID client per l'identità gestita usando il comando dell'interfaccia della riga di comando di Azure seguente:
az identity list --resource-group <resource group name>
Per altre informazioni, vedere az identity list.
Per trovare il client per l'autenticazione dell'identità gestita nel portale, passare alla pagina Identità gestite nel portale di Azure e selezionare il nome identità pertinente. Copiare il valore dell'ID client dalla pagina Panoramica dell'identità.
Per trovare l'ID client per l'applicazione Microsoft Entra ID, usare l'interfaccia della riga di comando seguente o vedere il primo passaggio nella sezione Creare un'applicazione Microsoft Entra ID usando il portale di Azure.
$ az ad app list --display-name < application name>
Per altre informazioni, vedere az ad app list.
Nota
Dopo aver modificato il file di configurazione, riavviare Prometheus per applicare le modifiche.
Verificare che i dati di scrittura remota vengano trasmessi
Usare i metodi seguenti per verificare che i dati di Prometheus vengano inviati nell'area di lavoro di Monitoraggio di Azure.
Esplora metriche di Monitoraggio di Azure con PromQL
Per verificare se le metriche vengano propagate all'area di lavoro di Monitoraggio di Azure, dall'area di lavoro di Monitoraggio di Azure nel portale di Azure, selezionare Metriche. Usare Esplora metriche per eseguire query sulle metriche previste dall'ambiente Prometheus autogestito. Per altre informazioni, vedere Esplora metriche.
Prometheus Explorer nell'area di lavoro di Monitoraggio di Azure
Prometheus Explorer offre un modo pratico per interagire con le metriche Prometheus all'interno dell'ambiente Azure, rendendo più efficiente il monitoraggio e la risoluzione dei problemi. Per usare Prometheus Explorer, passare all'area di lavoro di Monitoraggio di Azure nel portale di Azure e selezionare Prometheus Explorer per eseguire query sulle metriche previste dall'ambiente Prometheus autogestito. Per altre informazioni, vedere Prometheus Explorer.
Grafana
Usare query PromQL in Grafana per verificare che i risultati restituiscano i dati previsti. Per configurare Grafana, vedere Ottenere la configurazione di Grafana con Prometheus gestito
Risolvere i problemi di scrittura remota
Se i dati remoti non vengono visualizzati nell'area di lavoro di Monitoraggio di Azure, vedere Risolvere i problemi di scrittura remota per problemi e soluzioni comuni.