Monitoraggio e registrazione di Kubernetes

Servizio Azure Kubernetes
Azure Log Analytics
Monitoraggio di Azure

Questo articolo descrive come confrontare il monitoraggio di servizio Azure Kubernetes (AKS) con Amazon Elastic Kubernetes Service (Amazon EKS). L'articolo illustra diverse opzioni per monitorare e gestire i log di un cluster del servizio Azure Kubernetes e i relativi carichi di lavoro.

Nota

Questo articolo fa parte di una serie di articoli che aiutano i professionisti che hanno familiarità con Amazon EKS per comprendere servizio Azure Kubernetes (servizio Azure Kubernetes).

Monitoraggio e registrazione di Amazon EKS

Analogamente a qualsiasi servizio Kubernetes, il servizio Azure Kubernetes dispone di due componenti principali, il piano di controllo e i nodi di lavoro. Sono disponibili funzionalità specifiche per ogni livello.

Monitoraggio del cluster e del piano di controllo amazon EKS

Amazon EKS si integra con Amazon CloudWatch Logs per fornire la registrazione e il monitoraggio per il piano di controllo Amazon EKS. Questa integrazione non è abilitata per impostazione predefinita, ma, se configurata, raccoglie i log in:

  • Chiamate API e server API.
  • Log di controllo e interazioni utente.
  • Log dell'autenticatore.
  • Utilità di pianificazione e log del controller.

Amazon EKS espone le metriche del piano di controllo nell'endpoint/metrics, in formato testo Prometheus. CloudWatch Container Insights può raccogliere e archiviare le metriche di Prometheus. È possibile distribuire e gestire autonomamente Prometheus sopra il cluster EKS oppure usare il servizio Amazon Managed per Prometheus.

Amazon EKS si integra anche con Amazon Web Services (AWS) CloudTrail per tenere traccia delle azioni e delle chiamate API. Per altre informazioni, vedere Registrazione delle chiamate API Amazon EKS con AWS CloudTrail.

Monitoraggio del carico di lavoro Amazon EKS

CloudWatch Container Insights può raccogliere e aggregare metriche e log da applicazioni in contenitori distribuite nel servizio Azure Kubernetes. È possibile implementare Container Insights in Amazon EKS con una versione in contenitori dell'agente CloudWatch o usando la distribuzione AWS per OpenTelemetry come DaemonSet. È possibile inviare log con FluentBit.

Monitoraggio e registrazione del servizio Azure Kubernetes

Analogamente ad altre risorse di Azure, il servizio Azure Kubernetes genera metriche della piattaforma e log delle risorse che è possibile usare per monitorare l'integrità e le prestazioni di base.

Diagramma che mostra la registrazione e il monitoraggio del servizio Azure Kubernetes.

Scaricare un file di Visio di questa architettura.

Monitoraggio di Azure

Il servizio Azure Kubernetes si integra in modo nativo con Monitoraggio di Azure. Monitoraggio di Azure archivia le metriche e i log in una posizione centrale denominata area di lavoro Log Analytics. Questi dati vengono elaborati e analizzati per fornire informazioni dettagliate e avvisi. Per altre informazioni, vedere Monitorare servizio Azure Kubernetes (AKS) con Monitoraggio di Azure.

Informazioni dettagliate contenitore è la funzionalità di Monitoraggio di Azure che raccoglie, indicizza e archivia i dati generati dal cluster del servizio Azure Kubernetes. È possibile configurare Informazioni dettagliate contenitore per monitorare i cluster Kubernetes gestito ospitati nel servizio Azure Kubernetes e altre configurazioni dei cluster. Informazioni dettagliate contenitore può monitorare l'integrità e le prestazioni del servizio Azure Kubernetes con una visualizzazione personalizzata per gli ambienti Kubernetes. Analogamente al servizio Azure Kubernetes, l'abilitazione di Informazioni dettagliate sui contenitori per il cluster del servizio Azure Kubernetes distribuisce una versione in contenitori dell'agente di Log Analytics, responsabile dell'invio di dati all'area di lavoro Log Analytics.

Microsoft Sentinel

Microsoft Sentinel offre funzionalità intelligenti di analisi della sicurezza e intelligence sulle minacce in tutta l'azienda. Con Microsoft Sentinel si ottiene una singola soluzione per il rilevamento degli attacchi, la visibilità delle minacce, la ricerca proattiva e la risposta alle minacce.

Microsoft Sentinel deve essere connesso al servizio Azure Kubernetes. Questo connettore consente di trasmettere i log di diagnostica servizio Azure Kubernetes (AKS) in Microsoft Sentinel, consentendo di monitorare continuamente l'attività in tutte le istanze.

Dopo aver connesso le origini dati a Microsoft Sentinel, è possibile visualizzare e monitorare i dati usando le cartelle di lavoro di Microsoft Sentinel e Monitoraggio di Azure, che offre versatilità nella creazione di dashboard personalizzati.

Monitoraggio del carico di lavoro e del cluster del servizio Azure Kubernetes

Una distribuzione del servizio Azure Kubernetes può essere divisa in componenti a livello di cluster, componenti del servizio Azure Kubernetes gestito, oggetti e carichi di lavoro Kubernetes, applicazioni e risorse esterne. La tabella seguente mostra una strategia comune per il monitoraggio di un cluster del servizio Azure Kubernetes e delle applicazioni del carico di lavoro. Ogni livello ha requisiti di monitoraggio distinti.

Livello Descrizione Requisiti di monitoraggio
Componenti a livello di cluster Set di scalabilità di macchine virtuali astratti come nodi e pool di nodi del servizio Azure Kubernetes Stato del nodo e utilizzo delle risorse, tra cui CPU, memoria, disco e rete
Componenti del servizio Azure Kubernetes gestito Componenti del piano di controllo del servizio Azure Kubernetes, inclusi server API, controller cloud e kubelet Log e metriche del piano di controllo dallo spazio dei kube-system nomi
Oggetti e carichi di lavoro Kubernetes Oggetti Kubernetes, ad esempio distribuzioni, contenitori e set di repliche Utilizzo delle risorse ed errori
Applicazioni Carichi di lavoro dell'applicazione in esecuzione nel cluster del servizio Azure Kubernetes Monitoraggio specifico dell'architettura, ma che include i log applicazioni e le transazioni del servizio
Esterna Risorse esterne che non fanno parte del servizio Azure Kubernetes, ma sono necessarie per la scalabilità e la gestione dei cluster Specifici di ogni componente
  • Componenti a livello di cluster: è possibile usare le viste e i report esistenti di Informazioni dettagliate contenitore per monitorare i componenti a livello di cluster e comprenderne l'integrità, la preparazione, le prestazioni, l'utilizzo delle risorse di CPU e memoria e le tendenze.

  • Componenti del servizio Azure Kubernetes gestito: è possibile usare Esplora metriche per visualizzare il contatore Inflight Requests. Questa vista include latenza delle richieste e il tempo di elaborazione della coda di lavoro.

  • Oggetti e carichi di lavoro Kubernetes: è possibile usare viste e report esistenti di Informazioni dettagliate contenitore per monitorare la distribuzione, i controller, i pod e i contenitori. Usare le viste Nodi e Controller per visualizzare l'integrità e le prestazioni dei pod in esecuzione in nodi e controller e il consumo di risorse in termini di CPU e memoria.

Dalla visualizzazione Contenitori di Container Insights è possibile visualizzare l'integrità e le prestazioni dei contenitori oppure selezionare un singolo contenitore e monitorarne gli eventi e i log in tempo reale. Per informazioni dettagliate sull'uso di questa visualizzazione e sull'analisi dell'integrità e delle prestazioni dei contenitori, vedere Monitorare le prestazioni del cluster Kubernetes con Informazioni dettagliate sui contenitori.

  • Applicazioni: è possibile usare Application Insights per monitorare le applicazioni in esecuzione nel servizio Azure Kubernetes e in altri ambienti. Application Insights è uno strumento di gestione delle prestazioni delle applicazioni che fornisce supporto per molti linguaggi di programmazione. A seconda delle esigenze, è possibile instrumentare il codice dell'applicazione per acquisire richieste, tracce, log, eccezioni, metriche personalizzate e transazioni end-to-end e inviare questi dati ad Application Insights. Se si dispone di un'applicazione Java, è possibile fornire il monitoraggio senza instrumentare il codice. Per altre informazioni, vedere Monitoraggio delle applicazioni di strumentazione zero per Kubernetes.

  • Componenti esterni: è possibile usare le funzionalità di Monitoraggio di Azure per monitorare qualsiasi piattaforma distribuita come servizio (PaaS) di Azure usata dall'applicazione del carico di lavoro, ad esempio database e altre risorse di Azure.

Servizio gestito per Prometheus di Monitoraggio di Azure

Prometheus è una soluzione di monitoraggio delle metriche open source diffusa da Cloud Native Compute Foundation e lo strumento più comune usato per raccogliere e analizzare i dati delle metriche dai cluster Kubernetes. Il servizio gestito di Monitoraggio di Azure per Prometheus è una soluzione di monitoraggio completamente gestita compatibile con Prometheus in Azure che archivia i dati in un'area di lavoro di Monitoraggio di Azure, collegata a un'area di lavoro Grafana in modo da poter analizzare i dati con Grafana gestito di Azure.

Prometheus può anche essere distribuito in modo indipendente come soluzione autogestito all'interno di cluster servizio Azure Kubernetes. È possibile integrare Prometheus self-hosted con Monitoraggio di Azure. Informazioni dettagliate sui contenitori può essere configurato per raccogliere le metriche di Prometheus. È possibile esporre l'endpoint delle metriche Prometheus tramite le applicazioni di esportazione o pod e l'agente in contenitori per Informazioni dettagliate sui contenitori elimina le metriche.

Grafana con gestione Azure

Grafana gestito di Azure è una piattaforma di visualizzazione dei dati basata su Grafana. È un servizio di Azure completamente gestito e supportato da Microsoft. Sono disponibili più dashboard Grafana predefiniti per il monitoraggio di Kubernetes e la risoluzione dei problemi dello stack completo.

Grafana gestito di Azure è ottimizzato per l'ambiente Azure e funziona con molti servizi di Azure e offre funzionalità di integrazione semplici. In alternativa, è anche possibile distribuire Grafana in modo indipendente come soluzione autogestito. Per altre informazioni, vedere Monitorare i servizi di Azure in Grafana.

Costi di monitoraggio del servizio Azure Kubernetes

Il modello di prezzi di Monitoraggio di Azure si basa principalmente sulla quantità di dati inseriti al giorno nell'area di lavoro Log Analytics. Il costo varia in base al piano e ai periodi di conservazione selezionati.

Prima di abilitare Informazioni dettagliate sui contenitori, stimare i costi e comprendere come controllare l'inserimento dei dati e i relativi costi. Per indicazioni dettagliate, vedere Stima dei costi per monitorare il cluster del servizio Azure Kubernetes.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autori principali:

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi