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.
Questo articolo illustra come configurare la scrittura remota per inviare dati da un'istanza di Prometheus autogestito a un'area di lavoro di Monitoraggio di Azure.
Opzioni per la 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 in un'area di lavoro di Monitoraggio di Azure, in base all'ambiente in cui è in esecuzione Prometheus.
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'autenticazione dell'identità gestita assegnata dall'utente più avanti in questo articolo.
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 o di cui è stato eseguito l'onboarding in Azure Arc, installare Prometheus autogestito e configurare la scrittura remota usando l'autenticazione dell'applicazione Microsoft Entra. Per altre informazioni, vedere Scrittura remota con l'autenticazione dell'applicazione Microsoft Entra più avanti in questo articolo.
L'onboarding nei server abilitati per Azure Arc consente di gestire e configurare macchine virtuali non di Azure in Azure. Per altre informazioni, vedere Server abilitati per Azure Arc e Kubernetes abilitati per Azure Arc. I server abilitati per Azure Arc supportano solo l'autenticazione di Microsoft Entra.
Nota
Le identità gestite assegnate dal sistema non sono supportate per la scrittura remota nelle aree di lavoro di Monitoraggio di Azure. Usare un'identità gestita assegnata dall'utente o l'autenticazione dell'applicazione Microsoft Entra.
Prerequisiti
Versioni supportate
- Le versioni di Prometheus successive alla 2.45 sono necessarie per l'autenticazione dell'identità gestita.
- Le versioni di Prometheus successive alla 2.48 sono necessarie per l'autenticazione dell'applicazione Microsoft Entra.
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 è in esecuzione Prometheus, è possibile configurare la scrittura remota per usare un'identità gestita assegnata dall'utente o l'autenticazione dell'applicazione Microsoft Entra per inviare dati a un'area di lavoro di Monitoraggio di Azure.
Usare il portale di Azure o l'interfaccia della riga di comando di Azure per creare un'identità gestita assegnata dall'utente o un'applicazione Microsoft Entra.
- Scrittura remota con un'identità gestita assegnata dall'utente
- Applicazione Microsoft Entra ID
- Interfaccia della riga di comando di Azure
Scrittura remota tramite 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 dell'applicazione Microsoft Entra.
Per configurare un'identità gestita assegnata dall'utente per la scrittura remota in un'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.
Si noti il valore di clientId
per l'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 Di pubblicazione metriche di monitoraggio all'identità gestita:
Nel riquadro panoramica dell'area di lavoro di Monitoraggio di Azure selezionare il collegamento Regola raccolta dati.
Nella pagina per la regola di raccolta dati selezionare Controllo di accesso (IAM).
Seleziona Aggiungi>Aggiungi assegnazione ruolo.
Cercare e selezionare Monitoraggio del server di pubblicazione delle metriche e quindi selezionare Avanti.
Selezionare Identità gestita.
Scegliere Selezionare membri.
Nell'elenco a discesa Identità gestita selezionare Identità gestita assegnata dall'utente.
Selezionare l'identità assegnata dall'utente che si vuole usare, quindi scegliere 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 proprietario o amministratore accesso utenti per la macchina virtuale o il set di scalabilità di macchine virtuali.
Nella portale di Azure passare alla pagina per il cluster, la macchina virtuale o il 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 servizio Azure Kubernetes
Per servizio Azure Kubernetes, l'identità gestita deve essere assegnata ai set di scalabilità di macchine virtuali.
Il servizio Azure Kubernetes crea un gruppo di risorse che contiene 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 in base ai passaggi descritti nella 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 prometheus.yml
di configurazione di Prometheus o nell'operatore Prometheus.
Per altre informazioni sulla configurazione della scrittura remota, vedere questo articolo Prometheus.io: Configurazione. Per informazioni sull'ottimizzazione della configurazione di scrittura remota, vedere Ottimizzazione remota della scrittura.
- Configurare la scrittura remota per Prometheus in esecuzione nelle macchine virtuali
- Configurare la scrittura remota in Kubernetes per l'operatore Prometheus
Per inviare dati all'area di lavoro di Monitoraggio di Azure, aggiungere la sezione seguente al file di configurazione (prometheus.yml
) dell'istanza di Prometheus autogestito:
remote_write:
- url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# Microsoft Entra ID 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. È possibile trovarla nel riquadro di panoramica per l'area di lavoro di Monitoraggio di Azure nella portale di Azure.
managed_identity
Usare o oauth
per l'autenticazione dell'applicazione Microsoft Entra, 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 a Identità gestite nel portale di Azure e selezionare il nome di identità pertinente. Copiare il valore di ID client dal riquadro Panoramica dell'identità gestita.
Per trovare l'ID client per l'applicazione Microsoft Entra ID, usare il comando dell'interfaccia della riga di comando di Azure seguente (oppure vedere il primo passaggio della sezione scrittura remota con l'autenticazione dell'applicazione Microsoft Entra):
$ 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 all'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 con Prometheus Query Language (PromQL) per eseguire query sulle metriche previste dall'ambiente Prometheus autogestito. Per altre informazioni, vedere Esplora metriche di Monitoraggio di Azure con PromQL.
Esplora prometheus nell'area di lavoro di Monitoraggio di Azure
Prometheus Explorer offre un modo pratico per interagire con le metriche di Prometheus all'interno dell'ambiente Azure, in modo che il monitoraggio e la risoluzione dei problemi siano più efficienti. Per usare Prometheus Explorer, passare all'area di lavoro di Monitoraggio di Azure nella portale di Azure e selezionare Prometheus Explorer. È quindi possibile eseguire query sulle metriche previste dall'ambiente Prometheus autogestito.
Per altre informazioni, vedere Eseguire query sulle metriche di Prometheus usando le cartelle di lavoro di Azure.
Grafana
Usare query PromQL in Grafana per verificare che i risultati restituiscano i dati previsti. Per configurare Grafana, vedere l'articolo su come configurare 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.