Monitoraggio e registrazione dei dati

Si applica a: servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server

Questo articolo descrive come monitorare la distribuzione di servizio Azure Kubernetes (servizio Azure Kubernetes) e raccogliere i dati di registrazione nel servizio Azure Kubernetes abilitati da Azure Arc. Si apprenderà come configurare e accedere al monitoraggio locale usando Prometheus e Graphanae come raccogliere e visualizzare i log usando Elasticsearch, Fluent Bite Kibana (EFK).

Sono disponibili due tipi di soluzioni di monitoraggio e registrazione, come descritto nella tabella seguente:

Soluzione Connettività di Azure Supporto e servizio Costi Distribuzione
Monitoraggio di Azure Richiede la connessione del cluster Kubernetes ad Azure usando Azure Arc per Kubernetes. Supporto completo e manutenzione di Microsoft. Richiede l'iscrizione al servizio Monitoraggio di Azure. Usare Azure Arc per il monitoraggio dei cluster.
Monitoraggio e registrazione locali Non richiede la connettività di Azure. Supportato come software open source da Microsoft (senza contratto di supporto o contratti di servizio), la community e/o i fornitori esterni. Dipendente dal fornitore. Guidata dal cliente. Vedere Monitorare i cluster usando il monitoraggio locale.

Per usare Monitoraggio di Azure con i cluster Kubernetes, vedere Panoramica di Monitoraggio di Azure.

Usare il monitoraggio locale

È fondamentale monitorare l'integrità, le prestazioni e l'utilizzo delle risorse dei nodi e dei carichi di lavoro del piano di controllo nel cluster durante l'esecuzione di app nell'ambiente di produzione. La soluzione di monitoraggio consigliata include i due strumenti seguenti:

  • Prometheus è un toolkit di monitoraggio e avviso che è possibile usare per il monitoraggio dei carichi di lavoro in contenitori. Prometheus funziona con tipi diversi di agenti di raccolta e agenti per raccogliere le metriche e archiviarle in un database in cui è possibile eseguire query sui dati e visualizzare i report. Arc del servizio Azure Kubernetes semplifica la distribuzione di Prometheus, descritta più avanti in questo articolo.
  • Grafana è uno strumento usato per visualizzare, eseguire query e visualizzare le metriche nei dashboard di Grafana. È anche possibile configurare Grafana per l'uso di Prometheus come origine dati. È necessario avere la propria copia con licenza di Grafana con AKS Arc.

Panoramica della soluzione di monitoraggio

Nell'ambito della soluzione Prometheus nel servizio Azure Kubernetes abilitato da Arc, i componenti seguenti vengono distribuiti e configurati automaticamente:

La distribuzione si basa sul grafico Helm Kube-Prometheus-stack disponibile pubblicamente, che viene esteso per supportare l'utilità di esportazione di Windows e protegge lo scarto delle metriche tra Prometheus e gli agenti. Dopo aver distribuito la soluzione Prometheus, l'utilità di esportazione node viene eseguita in ogni nodo Linux e l'utilità di esportazione di Windows viene eseguita in ogni nodo Windows.

Nota

Poiché l'operatore Prometheus, Prometheus e i componenti delle metriche dello stato kubernetes sono supportati solo in Linux, è necessario effettuare il provisioning di almeno un nodo Linux nel cluster del servizio Azure Kubernetes per distribuire questa soluzione.

Gli oggetti e gli endpoint usati dagli elementi della soluzione Prometheus includono gli elementi seguenti:

  • Metriche dello stato kube per raccogliere varie metriche fornite da Kubernetes
  • Server API Kubernetes
  • Kubelet
  • Utilità di esportazione di nodi per raccogliere le metriche per i nodi Linux
  • Utilità di esportazione di Windows per raccogliere le metriche per i nodi Windows

Per visualizzare i dashboard di Grafana disponibili in AKS Arc, vedere Dashboard di Grafana disponibili in AKS Arc.

Distribuire una soluzione di monitoraggio con PowerShell

Questa sezione descrive le due opzioni che è possibile usare per distribuire il monitoraggio in un cluster del carico di lavoro.

Opzione 1: Distribuire la soluzione di monitoraggio durante la creazione del cluster del carico di lavoro

Per abilitare il monitoraggio, specificare il -enableMonitoring parametro quando si usa New-AksHciCluster per creare il cluster del carico di lavoro, come illustrato nell'esempio seguente:

New-AksHciCluster -name mynewcluster -enableMonitoring

Il monitoraggio viene installato con la configurazione predefinita seguente:

  • Le dimensioni del volume permanente di cui viene effettuato il provisioning per archiviare le metriche (storageSizeGB) sono 100 GB.
  • Il tempo di conservazione per le metriche raccolte (retentionTimeHours) è 240 ore (o 10 giorni).

Opzione 2: Distribuire la soluzione di monitoraggio in un cluster di carico di lavoro esistente

Eseguire il comando Install-AksHciMonitoring per distribuire la soluzione di monitoraggio in un cluster di carico di lavoro esistente, come indicato di seguito:

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

Il -storageSizeGB parametro imposta le dimensioni del volume permanente di cui viene effettuato il provisioning per archiviare le metriche e il -retentionTimeHours parametro imposta la quantità di tempo di conservazione delle metriche raccolte.

La soluzione di monitoraggio viene installata in uno spazio dei nomi separato denominato monitoring e usa una Classe di archiviazione denominata monitoring-sc. Prometheus viene esposto in un endpoint interno accessibile solo all'interno del cluster all'indirizzo http://akshci-monitoring-prometheus-svc.monitoring:9090.

Disinstallare la soluzione di monitoraggio con PowerShell

Eseguire il Uninstall-AksHciMonitoring comando di PowerShell per disinstallare la soluzione di monitoraggio arc del servizio Azure Kubernetes, come indicato di seguito:

Uninstall-AksHciMonitoring -Name <target cluster name>

Il processo di disinstallazione rimuove tutti gli elementi, inclusi lo spazio dei nomi, StorageClass e i dati e le metriche effettivi del volume permanente.

Distribuire Grafana e configurarlo per l'uso di Prometheus

È possibile seguire qualsiasi materiale sussidiario per la distribuzione di Grafana disponibile pubblicamente. È anche possibile visualizzare le linee guida per la distribuzione di Microsoft per usare Grafana, che illustra come distribuire e configurare Grafana per connetterlo a un'istanza di Prometheus del servizio Azure Kubernetes. Questa pagina di GitHub descrive anche come aggiungere dashboard di Grafana resi disponibili da Microsoft per il servizio Azure Kubernetes abilitato da Arc.

Registrazione locale

La registrazione è fondamentale per la risoluzione dei problemi e la diagnostica. La soluzione di registrazione in AKS Arc si basa su Elasticsearch, Fluent Bit e Kibana (EFK). Questi componenti vengono distribuiti come contenitori:

  • Fluent Bit è il processore di log e il server d'inoltro che raccoglie dati e log da origini diverse. Quindi formatta, unifica e li archivia in Elasticsearch.
  • Elasticsearch è un motore di ricerca e analisi distribuito in grado di archiviare centralmente i log per ricerche rapide e analisi dei dati. 
  • Kibana offre visualizzazioni interattive in un dashboard Web. Questo strumento consente di visualizzare ed eseguire query sui log archiviati in Elasticsearch e di visualizzarli tramite grafici e dashboard.

Per configurare una soluzione di registrazione locale, vedere la procedura per configurare la registrazione per accedere a Kibana. Questo articolo include tutti i componenti necessari per raccogliere, aggregare ed eseguire query sui log dei contenitori nel cluster.

Per i passaggi di configurazione avanzati, vedere Registrazione di Windows.

Passaggi successivi