Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo confronta il monitoraggio del servizio Azure Kubernetes e il monitoraggio del servizio Elastic Kubernetes (EKS). Descrive le opzioni che è possibile usare per monitorare e gestire i log di un cluster del servizio Azure Kubernetes e dei relativi carichi di lavoro.
Annotazioni
Questo articolo fa parte di una serie di articoli che aiutano i professionisti che hanno familiarità con Amazon EKS a comprendere il servizio Azure Kubernetes.
Monitoraggio e registrazione di Amazon EKS
Analogamente ad altri servizi Kubernetes, Amazon EKS include due componenti principali, il piano di controllo e i nodi di lavoro. Ogni livello ha funzionalità specifiche.
Monitoraggio del piano di controllo e del cluster 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. È necessario configurare l'integrazione per raccogliere i log nei componenti seguenti:
- Server API e chiamate API
- Log di controllo e interazioni utente
- Processi di autenticazione
- Attività dello schedulatore e del controllore
Amazon EKS espone le metriche del piano di controllo all'endpoint, in formato testo Prometheus. CloudWatch Container Insights raccoglie e archivia le metriche di Prometheus. È possibile distribuire e gestire autonomamente Prometheus sopra il cluster EKS oppure usare Amazon Managed Service per Prometheus.
Amazon EKS si integra anche con Amazon Web Services (AWS) CloudTrail per tenere traccia delle azioni e delle chiamate API. Per ulteriori informazioni, consultare Registrare le chiamate API di Amazon EKS utilizzando AWS CloudTrail.
Monitoraggio del carico di lavoro Amazon EKS
CloudWatch Container Insights raccoglie e aggrega metriche e log dalle applicazioni containerizzate distribuite in EKS. Per implementare Container Insights in Amazon EKS, usare una versione in contenitori dell'agente CloudWatch o usare la distribuzione AWS per OpenTelemetry come DaemonSet. È possibile usare Fluent Bit per inviare i log.
Monitoraggio e registrazione dei log di AKS
Analogamente ad altre risorse di Azure, AKS genera metriche della piattaforma e log delle risorse che è possibile usare per monitorare l'integrità di base e le prestazioni.
Scaricare un file di Visio di questa architettura.
Monitoraggio di Azure
Il servizio AKS si integra in modo nativo con Azure Monitor. Azure Monitor archivia le metriche e i log in una posizione centrale chiamata Log Analytics workspace. Azure Monitor elabora e analizza le metriche e i log per fornire approfondimenti e avvisi. Per ulteriori informazioni, consultare Monitoraggio del servizio AKS utilizzando Monitoraggio di Azure.
Container insights è una funzionalità di Monitoraggio di Azure che raccoglie, indicizza e archivia i dati generati dal tuo cluster AKS. È possibile configurare informazioni dettagliate sui contenitori per monitorare i cluster Kubernetes gestiti ospitati nel servizio Azure Kubernetes. È anche possibile monitorare altre configurazioni del cluster. Container Insights monitora la salute e le prestazioni di AKS e presenta i dati tramite visualizzazioni personalizzate per gli ambienti Kubernetes. Analogamente a EKS, quando si abilitano i Container Insights per il cluster AKS, viene distribuita una versione containerizzata dell'agente di Log Analytics. L'agente invia i dati all'area di lavoro Log Analytics.
Container insights utilizza i dati di un'area di lavoro Log Analytics per alimentare le visualizzazioni nel portale di Azure. Valutare la possibilità di passare al servizio gestito di Monitoraggio di Azure per Prometheus, che offre un approccio più economico ed efficiente alla raccolta di metriche. È possibile usare informazioni dettagliate sui contenitori per visualizzare le metriche usando solo i dati prometheus gestiti. Per altre informazioni, vedere Passare alle visualizzazioni Prometheus gestite per informazioni dettagliate sui contenitori.
Per garantire un monitoraggio completo dei cluster Kubernetes, usare i servizi seguenti e le funzionalità di Monitoraggio di Azure:
- Servizio gestito per Prometheus per una raccolta di metriche efficace
- Informazioni dettagliate sui contenitori per raccogliere i log
- Grafana gestito di Azure per funzionalità avanzate di visualizzazione
Microsoft Sentinel
Microsoft Sentinel offre funzionalità intelligenti di analisi della sicurezza e intelligence sulle minacce in tutte le aziende. Microsoft Sentinel fornisce una singola soluzione per il rilevamento di attacchi, visibilità delle minacce, rilevazione proattiva delle minacce informatiche e risposta alle minacce.
È necessario connettere Microsoft Sentinel con il servizio Azure Kubernetes usando il connettore del servizio Azure Kubernetes. È quindi possibile trasmettere i log di diagnostica di AKS in Microsoft Sentinel per monitorare continuamente le attività delle istanze.
Dopo aver connesso le origini dati a Microsoft Sentinel, è possibile visualizzare e monitorare i dati. Le cartelle di lavoro di Microsoft Sentinel e Azure Monitor offrono versatilità per creare dashboard personalizzate.
Monitoraggio del cluster AKS e dei carichi di lavoro
Una distribuzione del servizio Azure Kubernetes è costituita da componenti a livello di cluster, componenti del servizio Azure Kubernetes gestiti, oggetti e carichi di lavoro, applicazioni e risorse esterne. Una strategia comune per monitorare un cluster AKS e le applicazioni di workload consiste nei seguenti requisiti di monitoraggio.
Livello | Descrizione | Requisiti di monitoraggio |
---|---|---|
Componenti a livello di cluster | I set di scalabilità di macchine virtuali rappresentano nodi e pool di nodi di Azure Kubernetes Service. | Stato del nodo e utilizzo delle risorse, tra cui CPU, memoria, disco e rete |
Componenti gestiti di AKS (Azure Kubernetes Service) | Componenti del piano di controllo di Azure Kubernetes Service, inclusi i server API, il controller cloud e kubelet |
I log e le metriche del piano di controllo dallo spazio dei nomi kube-system |
Oggetti e carichi di lavoro Kubernetes | Oggetti Kubernetes, ad esempio distribuzioni, contenitori e set di repliche | Utilizzo delle risorse e errori |
Applicazioni | Carichi di lavoro dell'applicazione eseguiti nel cluster AKS | Monitoraggio specifico dell'architettura, inclusi i log applicazioni e le transazioni del servizio |
Esterno | Risorse esterne che non fanno parte del servizio Azure Kubernetes, ma sono necessarie per la scalabilità e la gestione dei cluster | Specifico per ogni componente |
Componenti a livello di cluster: È possibile usare visualizzazioni e report di informazioni dettagliate sui contenitori esistenti per monitorare i componenti a livello di cluster per comprendere l'integrità, l'idoneità, le prestazioni, l'utilizzo delle risorse cpu e memoria e le tendenze.
Componenti AKS gestiti: È possibile usare Esplora metriche di Monitoraggio di Azure per visualizzare il contatore Richieste in corso. Questa vista include la latenza delle richieste e il tempo di elaborazione della coda di lavoro.
Oggetti e carichi di lavoro Kubernetes: È possibile usare visualizzazioni e report analitici del contenitore esistenti per monitorare la distribuzione, i controller, i pod e i contenitori. Usare le visualizzazioni Nodi e controller per visualizzare l'integrità e le prestazioni dei pod eseguiti su nodi e controller. È anche possibile visualizzare il consumo di risorse in termini di CPU e memoria.
La visualizzazione Contenitori mostra la salute e le prestazioni dei contenitori. In alternativa, è possibile selezionare un singolo contenitore e monitorarne gli eventi e i log in tempo reale. Per altre informazioni, vedere Monitorare le prestazioni del cluster Kubernetes usando informazioni dettagliate sui contenitori.
Applicazioni: È possibile usare Application Insights per monitorare le applicazioni eseguite 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. È quindi possibile inviare questi dati ad Application Insights. Se si dispone di un'applicazione Java, è possibile fornire il monitoraggio senza instrumentare il codice. Per ulteriori informazioni, vedere Autostrumentazione per AKS.
Componenti esterni: è possibile usare le funzionalità di Monitoraggio di Azure per monitorare le soluzioni PaaS (Platform as a Service) di Azure usate dall'applicazione del carico di lavoro, ad esempio database e altre risorse di Azure.
Servizio gestito di Azure Monitor per Prometheus
Prometheus è una soluzione di monitoraggio delle metriche open source diffusa di Cloud Native Computing Foundation. Prometheus raccoglie e analizza 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. Archivia i dati in un'area di lavoro di Monitoraggio di Azure che collega a un'area di lavoro di Grafana gestita di Azure. È possibile usare Grafana gestito di Azure per analizzare i dati.
È possibile utilizzare Prometheus in modo indipendente come soluzione autogestita all'interno dei cluster di AKS. Per integrare Prometheus self-hosted con Azure Monitor, configurare Container Insights per raccogliere le metriche di Prometheus. È possibile esporre l'endpoint delle metriche Prometheus tramite gli esportatori o le applicazioni pod. L'agente containerizzato per l'analisi dei contenitori raccoglie queste metriche.
Grafana gestito da Azure
Grafana gestita di Azure è una piattaforma di visualizzazione dei dati basata su Grafana. Si tratta di un servizio di Azure completamente gestito che Microsoft gestisce e supporta. Azure Managed Grafana include dashboard di Grafana predefinite per monitorare Kubernetes e la risoluzione completa dei problemi dello stack.
Grafana gestito di Azure è ottimizzato per l'ambiente Azure, funziona con molti servizi di Azure e offre funzionalità di integrazione semplici. È anche possibile distribuire Grafana in modo indipendente come soluzione autogestita. Per altre informazioni, vedere Monitorare i servizi di Azure in Grafana.
Costi di monitoraggio AKS
Il modello di determinazione prezzi di Monitoraggio di Azure si basa principalmente sulla quantità di dati inseriti dall'area di lavoro Log Analytics ogni giorno. Il costo varia a seconda del piano e dei periodi di conservazione scelti.
Prima di abilitare informazioni dettagliate sui contenitori, stimare i costi e comprendere come controllare l'inserimento dei dati e i relativi costi. Per ulteriori informazioni, vedere Stimare i costi per monitorare il cluster AKS.
Contributori
Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.
Autori principali:
- Paolo Salvatori | Ingegnere del servizio principale
- Ketan Chawda | Senior Customer Engineer
- Laura Nicolas | Senior Cloud Solution Architect
Altri collaboratori:
- Chad Kittel | Principal Software Engineer
- Prezzo ed | Senior Content Program Manager
- Theano Petersen | Redattore Tecnico
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Usare l'ambito collegamento privato di Monitoraggio di Azure
- Abilitare il monitoraggio per i cluster Kubernetes
- Interrogare i log dai dati dei container
- Sorgente dati Azure Monitor per Grafana
- Training: Monitorare e eseguire il backup delle risorse di Azure
- Training: Risolvere i problemi relativi alle soluzioni usando Application Insights
- Training: Progettare una soluzione per registrare e monitorare le risorse di Azure
- Training: Nozioni fondamentali su Monitoraggio di Azure