Monitorare i cluster Kubernetes usando i servizi di Azure e gli strumenti nativi del cloud

Questo articolo descrive come monitorare l'integrità e le prestazioni dei cluster Kubernetes e dei carichi di lavoro in esecuzione su di essi usando Monitoraggio di Azure e i servizi nativi del cloud e di Azure correlati. Sono inclusi i cluster in esecuzione nel servizio Azure Kubernetes o in altri cloud, ad esempio AWS e GCP. Vengono forniti diversi set di indicazioni per i diversi ruoli che in genere gestiscono componenti univoci che costituiscono un ambiente Kubernetes.

Importante

Questo articolo fornisce indicazioni complete sul monitoraggio dei diversi livelli dell'ambiente Kubernetes in base al servizio Azure Kubernetes o ai cluster Kubernetes in altri cloud. Se si sta iniziando a usare il servizio Azure Kubernetes o Monitoraggio di Azure, vedere Monitoraggio del servizio Azure Kubernetes per informazioni di base su come iniziare a monitorare un cluster del servizio Azure Kubernetes.

Livelli e ruoli dell'ambiente Kubernetes

Di seguito è riportata un'illustrazione di un modello comune di un tipico ambiente Kubernetes, a partire dal livello infrastruttura fino alle applicazioni. Ogni livello ha requisiti di monitoraggio distinti che vengono gestiti da servizi diversi e in genere anche da ruoli diversi nell'organizzazione.

Diagramma dei livelli dell'ambiente Kubernetes con ruoli amministrativi correlati.

Le responsabilità dei diversi livelli di un ambiente Kubernetes e delle applicazioni che dipendono da esso vengono in genere gestiti da più ruoli. A seconda delle dimensioni dell'organizzazione, questi ruoli possono essere eseguiti da persone diverse o anche da team diversi. La tabella seguente descrive i diversi ruoli, mentre le sezioni seguenti forniscono gli scenari di monitoraggio che ognuno in genere incontrerà.

Ruoli Descrizione
Sviluppatore Sviluppare e gestire l'applicazione in esecuzione nel cluster. Responsabile del traffico specifico dell'applicazione, inclusi le prestazioni e gli errori dell'applicazione. Mantiene l'affidabilità dell'applicazione in base ai contratti di servizio.
Tecnico di piattaforma Responsabile del cluster Kubernetes. Effettua il provisioning e gestisce la piattaforma usata dallo sviluppatore.
Tecnico di rete Responsabile del traffico tra carichi di lavoro e qualsiasi ingresso/uscita con il cluster. Analizza il traffico di rete ed esegue l'analisi delle minacce.

Selezione di strumenti di monitoraggio

Azure offre un set completo di servizi basati su Monitoraggio di Azure per il monitoraggio dell'integrità e delle prestazioni di diversi livelli dell'infrastruttura Kubernetes e delle applicazioni che dipendono da essa. Questi servizi interagiscono tra loro per fornire una soluzione di monitoraggio completa e sono consigliati sia per il servizio Azure Kubernetes che per i cluster Kubernetes in esecuzione in altri cloud. È possibile che si disponga di un investimento esistente nelle tecnologie native del cloud approvate dalla Cloud Native Computing Foundation, nel qual caso si può scegliere di integrare gli strumenti di Azure nell'ambiente esistente.

La scelta degli strumenti da distribuire e la relativa configurazione dipenderanno dai requisiti dell'ambiente specifico. Ad esempio, è possibile usare le offerte gestite in Azure per Prometheus e Grafana oppure è possibile scegliere di usare l'installazione esistente di questi strumenti con i cluster Kubernetes in Azure. L'organizzazione può anche usare strumenti alternativi per raccogliere e analizzare i log di Kubernetes, ad esempio Splunk o Datadog.

Importante

Il monitoraggio di un ambiente complesso, ad esempio Kubernetes, comporta la raccolta di una quantità significativa di dati di telemetria, gran parte dei quali presenta dei costi. È consigliabile raccogliere solo dati sufficienti per soddisfare i requisiti. Sono inclusi la quantità di dati raccolti, la frequenza di raccolta e il periodo di conservazione. Se è necessario prestare particolare attenzione ai costi, è possibile scegliere di implementare un subset delle funzionalità complete per ridurre la spesa per il monitoraggio.

Tecnico di rete

Il tecnico di rete è responsabile del traffico tra carichi di lavoro e qualsiasi ingresso/uscita con il cluster. Analizzano il traffico di rete ed eseguono l'analisi delle minacce.

Diagramma dei livelli dell'ambiente Kubernetes per il tecnico di rete.

Servizi di Azure per l'amministratore di rete

La tabella seguente elenca i servizi comunemente usati dal tecnico di rete per monitorare l'integrità e le prestazioni della rete che supportano il cluster Kubernetes.

Servizio Descrizione
Network Watcher Suite di strumenti in Azure per monitorare le reti virtuali usate dai cluster Kubernetes e diagnosticare i problemi rilevati.
Analisi del traffico Funzionalità di Network Watcher che analizza i log dei flussi per fornire informazioni dettagliate sul flusso del traffico.
Informazioni sulla rete Funzionalità di Monitoraggio di Azure che include una rappresentazione visiva delle prestazioni e dell'integrità di diversi componenti di rete e fornisce l'accesso agli strumenti di monitoraggio della rete che fanno parte di Network Watcher.

Informazioni dettagliate rete è abilitata per impostazione predefinita e non richiede alcuna configurazione. Network Watcher è anche in genere abilitato per impostazione predefinita in ogni area di Azure.

Livello di monitoraggio 1 - Rete

Di seguito sono riportati scenari comuni per il monitoraggio della rete.

  • Creare log di flusso per registrare informazioni sul traffico IP che passa attraverso i gruppi di sicurezza di rete usati dal cluster e quindi usare analisi del traffico per analizzare e fornire informazioni dettagliate su questi dati. Probabilmente si userà la stessa area di lavoro Log Analytics per l'analisi del traffico usata per Container Insights e i log del piano di controllo.
  • Usando l'analisi del traffico, è possibile determinare se un traffico passa da o verso porte impreviste usate dal cluster e anche attraverso indirizzi IP pubblici che non devono essere esposti. Usare queste informazioni per determinare se le regole di rete devono essere modificate.
  • Per i cluster del servizio Azure Kubernetes, usare il componente aggiuntivo Network Observability per il servizio Azure Kubernetes (anteprima) per monitorare e osservare l'accesso tra i servizi nel cluster (traffico orizzontale destra-sinistra).

Tecnico di piattaforma

Il tecnico della piattaforma, noto anche come amministratore del cluster, è responsabile del cluster Kubernetes stesso. Effettuano il provisioning e gestiscono la piattaforma usata dallo sviluppatore. Devono comprendere l'integrità del cluster e dei relativi componenti e poter risolvere eventuali problemi rilevati. Devono anche comprendere il costo per gestire il cluster ed essere potenzialmente in grado di allocare i costi a team diversi.

Diagramma dei livelli dell'ambiente Kubernetes per il tecnico di piattaforma.

Le organizzazioni di grandi dimensioni possono avere anche un architetto della flotta, simile al tecnico della piattaforma ma responsabile di più cluster. Hanno bisogno di visibilità nell'intero ambiente e devono eseguire attività amministrative su larga scala. Le raccomandazioni su larga scala sono incluse nelle indicazioni seguenti. Vedere Che cos'è Gestione flotta Kubernetes di Azure? per informazioni dettagliate sulla creazione di una risorsa Flotta per scenari multi-cluster e su larga scala.

Servizi di Azure per il tecnico della piattaforma

La tabella seguente elenca i servizi di Azure con cui il tecnico della piattaforma può monitorare l'integrità e le prestazioni del cluster Kubernetes e dei relativi componenti.

Servizio Descrizione
Informazioni dettagliate contenitore Servizio di Azure per il servizio Azure Kubernetes e i cluster Kubernetes abilitati per Azure Arc che usano una versione in contenitori dell'agente di Monitoraggio di Azure per raccogliere log stdout/stderr, metriche delle prestazioni ed eventi Kubernetes da ogni nodo del cluster. È possibile visualizzare i dati nel portale di Azure o eseguirne query usando Log Analytics. Configurare l'esperienza di Prometheus per usare le visualizzazioni di Dati analitici sui contenitori con i dati di Prometheus.
Servizio gestito per Prometheus di Monitoraggio di Azure Prometheus è una soluzione di metriche nativa del cloud di Cloud Native Compute Foundation e lo strumento più comune usato per raccogliere e analizzare i dati delle metriche dai cluster Kubernetes. Il servizio gestito per Prometheus di Monitoraggio di Azure è una soluzione completamente gestita compatibile con il linguaggio di query Prometheus (PromQL) e gli avvisi Prometheus e si integra con Grafana con gestione Azure per la visualizzazione. Questo servizio supporta l'investimento in strumenti open source senza la complessità della gestione del proprio ambiente Prometheus.
Kubernetes con abilitazione di Azure Arc Consente di connettersi ai cluster Kubernetes in esecuzione in altri cloud in modo da poterli gestire e configurare in Azure. Con l'agente Arc installato, è possibile monitorare il servizio Azure Kubernetes e i cluster ibridi usando gli stessi metodi e gli stessi strumenti, tra cui Container Insights e Prometheus.
Grafana con gestione Azure Implementazione completamente gestita di Grafana, una piattaforma di visualizzazione dei dati open source comunemente usata per presentare i dati di Prometheus e di altro tipo. Sono disponibili più dashboard Grafana predefiniti per il monitoraggio di Kubernetes e la risoluzione dei problemi dello stack completo.

Configurare il monitoraggio per il tecnico della piattaforma

Le sezioni seguenti identificano i passaggi per completare il monitoraggio dell'ambiente Kubernetes usando i servizi di Azure nella tabella precedente. Le funzionalità e le opzioni di integrazione sono disponibili a tutti e permettono di determinare dove potrebbe essere necessario modificare questa configurazione per soddisfare i requisiti specifici.

L'onboarding di Dati analitici sui contenitori e Prometheus gestito può far parte della stessa esperienza descritta in Abilitare il monitoraggio per i cluster di Kubernetes. Le sezioni seguenti li descrivono separatamente, in modo che si possano prendere in considerazione tutte le opzioni di onboarding e di configurazione per ognuno di essi.

Abilitare lo scorporo delle metriche Prometheus

Importante

Per usare il servizio gestito per Prometheus di Monitoraggio di Azure, è necessario disporre di un'area di lavoro di Monitoraggio di Azure. Per informazioni sulle considerazioni sulla progettazione per una configurazione dell'area di lavoro, vedere Architettura dell'area di lavoro di Monitoraggio di Azure.

Abilitare lo scorporo delle metriche Prometheus dal servizio gestito per Prometheus di Monitoraggio di Azure dal cluster usando uno dei metodi seguenti:

Se si ha già un ambiente Prometheus da usare per i cluster del servizio Azure Kubernetes, abilitare il servizio gestito per Prometheus di Monitoraggio di Azure e quindi usare la scrittura remota per inviare dati all'ambiente Prometheus esistente. È anche possibile usare la scrittura remota per inviare dati dall'ambiente Prometheus autogestito esistente al servizio gestito per Prometheus di Monitoraggio di Azure.

Vedere Configurazione delle metriche predefinite di Prometheus in Monitoraggio di Azure per informazioni dettagliate sulle metriche raccolte per impostazione predefinita e sulla relativa frequenza di raccolta. Se si desidera personalizzare la configurazione, vedere Personalizzare lo scorporo delle metriche di Prometheus nel servizio gestito di Monitoraggio di Azure per Prometheus.

Abilitare Grafana per l'analisi dei dati di Prometheus

Nota

Usare Grafana per il monitoraggio dell'ambiente Kubernetes, se si dispone di un investimento esistente in Grafana o se si preferisce usare i dashboard di Grafana anziché Dati analitici sui contenitori per analizzare i dati di Prometheus. Se non si vuole usare Grafana, abilitare l'esperienza Prometheus in Dati analitici sui contenitori, in modo da poterne usare le visualizzazioni con i dati di Prometheus.

Creare un'istanza di Grafana gestito e collegarla all'area di lavoro di Monitoraggio di Azure in modo da poter usare i dati di Prometheus come origine. È anche possibile eseguire manualmente questa configurazione usando Aggiungere il servizio gestito per Prometheus di Monitoraggio di Azure come origine dati. Sono disponibili un'ampia gamma di dashboard predefiniti per il monitoraggio dei cluster Kubernetes, inclusi alcuni che presentano informazioni simili alle visualizzazioni di Container Insights.

Se si dispone di un ambiente Grafana esistente, è possibile continuare a usarlo e aggiungere il servizio gestito di Monitoraggio di Azure per Prometheus come origine dati. È anche possibile aggiungere l'origine dati di Monitoraggio di Azure a Grafana per usare i dati raccolti da Container Insights nei dashboard personalizzati di Grafana. Eseguire questa configurazione se ci si vuole concentrare sui dashboard di Grafana anziché usare le visualizzazioni e i report di Container Insights.

Abilitare Container Insights per la raccolta di log

Quando si abilita Container Insights per il cluster Kubernetes, viene distribuita una versione in contenitori dell'agente di Monitoraggio di Azure che invia dati a un'area di lavoro Log Analytics in Monitoraggio di Azure. Container Insights raccoglie stdout/stderr, log dell'infrastruttura e dati sulle prestazioni. Tutti i dati di log vengono archiviati in un'area di lavoro Log Analytics in cui possono essere analizzati usando il Linguaggio di query Kusto (KQL).

Per informazioni sui prerequisiti e sulle opzioni di configurazione per l'onboarding dei cluster Kubernetes, vedere Abilitare Container Insights. Eseguire l'onboarding con Criteri di Azure per assicurarsi che tutti i cluster mantengano una configurazione coerente.

Dopo aver abilitato Container Insights per un cluster, eseguire le azioni seguenti per ottimizzare l'installazione.

Se si dispone di una soluzione esistente per la raccolta di log, seguire le indicazioni per tale strumento o abilitare Container Insights e usare la funzionalità di esportazione dei dati dell'area di lavoro Log Analytics per inviare dati a Hub eventi di Azure da inoltrare a un sistema alternativo.

Raccogliere i log del piano di controllo per i cluster del servizio Azure Kubernetes

I log per i componenti del piano di controllo del servizio Azure Kubernetes vengono implementati in Azure come log delle risorse. Container Insights non usa questi log, quindi è necessario creare query di log personalizzate per visualizzarli e analizzarli. Per informazioni dettagliate sulla struttura dei log e sulle query, vedere Come eseguire query sui log da Container Insights.

Creare un'impostazione di diagnostica per ogni cluster del servizio Azure Kubernetes per inviare i log delle risorse a un'area di lavoro Log Analytics. Usare Criteri di Azure per garantire una configurazione coerente tra più cluster.

È previsto un costo per l'invio dei log delle risorse a un'area di lavoro, pertanto è consigliabile raccogliere solo le categorie di log che si intende usare. Per una descrizione delle categorie disponibili per il servizio Azure Kubernetes, vedere Log delle risorse. Per iniziare, raccogliere un numero minimo di categorie e quindi modificare l'impostazione di diagnostica per raccogliere categorie aggiuntive man mano che aumentano le esigenze e si conoscono i costi associati. È possibile inviare i log a un account di archiviazione di Azure per ridurre i costi se è necessario conservare le informazioni per motivi di conformità. Per informazioni dettagliate sul costo dell'inserimento e della conservazione dei dati di log, vedere Dettagli sui prezzi dei log di Monitoraggio di Azure.

Se non si è certi dei log delle risorse da abilitare all'inizio, usare le raccomandazioni seguenti, basate sui requisiti dei clienti più comuni. Se necessario, è possibile abilitare altre categorie in un secondo momento.

Categoria Abilitare”? Destinazione
kube-apiserver Abilitare area di lavoro Log Analytics
kube-audit Abilitare nell'archiviazione di Azure. In questo modo i costi vengono mantenuti al minimo, pur mantenendo i log di controllo, se richiesti da un revisore.
kube-audit-admin Abilitare area di lavoro Log Analytics
kube-controller-manager Abilitare area di lavoro Log Analytics
kube-scheduler Disabilita
cluster-autoscaler Abilitare se il ridimensionamento automatico è abilitato area di lavoro Log Analytics
guard Abilitare se Microsoft Entra ID è abilitato area di lavoro Log Analytics
AllMetrics Disabilitare poiché le metriche vengono raccolte in Prometheus gestito area di lavoro Log Analytics

Se si dispone di una soluzione esistente per la raccolta di log, seguire le indicazioni per tale strumento o abilitare Container Insights e usare la funzionalità di esportazione dei dati dell'area di lavoro Log Analytics per inviare dati a Hub eventi di Azure da inoltrare a un sistema alternativo.

Raccogliere il log attività per i cluster del servizio Azure Kubernetes

Le modifiche di configurazione ai cluster del servizio Azure Kubernetes vengono archiviate nel Log attività. Creare un'impostazione di diagnostica per inviare questi dati all'area di lavoro Log Analytics per analizzarli con altri dati di monitoraggio. Non è previsto alcun costo per questa raccolta di dati ed è possibile analizzare o inviare avvisi sui dati usando Log Analytics.

Livello di monitoraggio 2 - Componenti a livello di cluster

Il livello del cluster include i componenti seguenti:

Componente Requisiti di monitoraggio
Nodo Comprendere lo stato di idoneità e le prestazioni della CPU, della memoria, del disco e dell'utilizzo IP per ogni nodo e monitorare in modo proattivo le tendenze di utilizzo prima di distribuire i carichi di lavoro.

Di seguito sono riportati scenari comuni per il monitoraggio dei componenti a livello di cluster.

Informazioni dettagliate contenitore

  • Usare la visualizzazione Cluster per visualizzare le prestazioni dei nodi nel cluster, inclusi l'utilizzo della CPU e della memoria.
  • Usare la visualizzazione Nodi per visualizzare l'integrità di ogni nodo e l'integrità e le prestazioni dei pod in esecuzione. Per altre informazioni sull'analisi dell'integrità e delle prestazioni dei nodi, vedere Monitorare le prestazioni del cluster Kubernetes con Container Insights.
  • In Report usare le cartelle di lavoro Monitoraggio nodi per analizzare la capacità del disco, l'I/O del disco e l'utilizzo della GPU. Per altre informazioni su queste cartelle di lavoro, vedere Cartelle di lavoro di monitoraggio dei nodi.
  • In Monitoraggio selezionare Cartelle di lavoro, quindi Utilizzo IP subnet per visualizzare l'allocazione e l'assegnazione IP in ogni nodo per un intervallo di tempo selezionato.

Dashboard Grafana

  • Usare il dashboard predefinito in Grafana gestito per Kubelet per visualizzare l'integrità e le prestazioni di ciascun kubelet.
  • Usare i dashboard di Grafana con valori delle metriche Prometheus correlati al disco, ad esempio node_disk_io_time_seconds_total e windows_logical_disk_free_bytes, per monitorare l'archiviazione collegata.
  • Sono disponibili più dashboard Kubernetes che visualizzano le prestazioni e l'integrità dei nodi in base ai dati archiviati in Prometheus.

Log Analytics

  • Selezionare la categoria Contenitori nella finestra di dialogo Query per l'area di lavoro Log Analytics per accedere alle query di log predefinite per il cluster, inclusa la query di log Inventario immagini che recupera i dati dalla tabella ContainerImageInventory popolata da Container Insights.

Risoluzione dei problemi

Analisi dei costi

  • Configurare OpenCost, ovvero un progetto sandbox open source CNCF indipendente dal fornitore per comprendere i costi di Kubernetes e supportare l'analisi dei costi del cluster. Esporta dati dettagliati sui costi in Archiviazione di Azure.
  • Usare i dati di OpenCost per suddividere l'utilizzo relativo del cluster da team diversi nell'organizzazione in modo da poter allocare il costo tra ognuno di essi.
  • Usare i dati di OpenCost per assicurarsi che il cluster usi la capacità completa dei nodi raggruppando i carichi di lavoro, usando meno nodi di grandi dimensioni anziché molti nodi più piccoli.

Livello di monitoraggio 3 - Componenti Kubernetes gestiti

Il livello Kubernetes gestito include i componenti seguenti:

Componente Monitoraggio
Server API Monitorare lo stato del server API e identificare eventuali incrementi di carico delle richieste e colli di bottiglia se il servizio è inattivo.
Kubelet Monitorare Kubelet per risolvere i problemi di gestione dei pod, pod che non si avviano, nodi non pronti o pod che vengono terminati.

Di seguito sono riportati scenari comuni per il monitoraggio dei componenti Kubernetes gestiti.

Informazioni dettagliate contenitore

  • In Monitoraggio selezionare Metriche per visualizzare il contatore Richieste in corso.
  • In Report usare la cartella di lavoro Kubelet per visualizzare l'integrità e le prestazioni di ogni kubelet. Per altre informazioni su queste cartelle di lavoro, vedere Cartelle di lavoro di monitoraggio delle risorse.

Grafana

  • Usare il dashboard predefinito in Grafana gestito per Kubelet per visualizzare l'integrità e le prestazioni di ciascun kubelet.
  • Usare un dashboard, ad esempio apiserver Kubernetes, per una visualizzazione completa delle prestazioni del server API. Sono inclusi valori come latenza della richiesta e tempo di elaborazione della coda di lavoro.

Log Analytics

  • Usare query di log con i log delle risorse per analizzare i log del piano di controllo generati dai componenti del servizio Azure Kubernetes.

  • Tutte le attività di configurazione per il servizio Azure Kubernetes vengono registrate nel log attività. Quando si invia il log attività a un'area di lavoro Log Analytics è possibile analizzarlo con Log Analytics. Ad esempio, la query campione seguente può essere usata per restituire record che identificano un aggiornamento riuscito in tutti i cluster del servizio Azure Kubernetes.

    AzureActivity
    | where CategoryValue == "Administrative"
    | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE"
    | extend properties=parse_json(Properties_d) 
    | where properties.message == "Upgrade Succeeded"
    | order by TimeGenerated desc
    

Risoluzione dei problemi

Livello di monitoraggio 4 - Oggetti e carichi di lavoro Kubernetes

Il livello di oggetti e carichi di lavoro Kubernetes include i componenti seguenti:

Componente Requisiti di monitoraggio
Deployments Monitorare lo stato effettivo e desiderato della distribuzione e lo stato e l'utilizzo delle risorse dei pod in esecuzione su di essi.
Pod Monitorare lo stato e l'utilizzo delle risorse, tra cui CPU e memoria, dei pod in esecuzione nel cluster del servizio Azure Kubernetes.
Contenitori Monitorare l'utilizzo delle risorse, tra cui CPU e memoria, dei contenitori in esecuzione nel cluster del servizio Azure Kubernetes.

Di seguito sono riportati gli scenari comuni per il monitoraggio degli oggetti e dei carichi di lavoro Kubernetes.

Informazioni dettagliate contenitore

  • Usare le visualizzazioni Nodi e Controller per visualizzare l'integrità e le prestazioni dei pod in esecuzione su di essi ed eseguire il drill-down sull'integrità e sulle prestazioni dei contenitori.
  • Usare la visualizzazione Contenitori per visualizzare l'integrità e le prestazioni per i contenitori. Per altre informazioni sull'analisi dell'integrità e delle prestazioni dei contenitori, vedere Monitorare le prestazioni del cluster Kubernetes con Container Insights.
  • In Report usare la cartella di lavoro Distribuzioni per visualizzare le metriche di distribuzione. Per altre informazioni, vedere Metriche di distribuzione e HPA con Container Insights.

Dashboard Grafana

  • Usare i dashboard predefiniti in Grafana gestito per Nodi e pod per visualizzarne l'integrità e le prestazioni.
  • Sono disponibili più dashboard Kubernetes che visualizzano le prestazioni e l'integrità dei nodi in base ai dati archiviati in Prometheus.

Dati attivati

Avvisi per il tecnico della piattaforma

Gli avvisi in Monitoraggio di Azure notificano in modo proattivo dati e modelli interessanti nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Se si dispone di una soluzione di Gestione dei servizi IT esistente per gli avvisi, è possibile integrarla con Monitoraggio di Azure. È anche possibile esportare i dati dell'area di lavoro per inviare dati dall'area di lavoro Log Analytics a un'altra posizione che supporta la soluzione di avviso corrente.

Tipi di avviso

Nella tabella seguente vengono descritti i diversi tipi di regole di avviso personalizzate che è possibile creare in base ai dati raccolti dai servizi descritti in precedenza.

Tipo di avviso Descrizione
Avvisi di Prometheus Gli avvisi di Prometheus vengono scritti in Prometheus Query Language (Prom QL) e applicati alle metriche Prometheus archiviate in servizi gestiti per Prometheus di Monitoraggio di Azure. Gli avvisi consigliati includono già gli avvisi Prometheus più comuni ed è possibile creare regole di avviso aggiuntive in base alle esigenze.
Regole di avviso per le metriche Le regole di avviso delle metriche usano gli stessi valori delle metriche di Esplora metriche. In effetti, è possibile creare una regola di avviso direttamente da Esplora metriche con i dati che si stanno analizzando. Le regole di avviso delle metriche possono essere utili per inviare avvisi sulle prestazioni del servizio Azure Kubernetes usando uno dei valori nelle metriche di riferimento dei dati del servizio Azure Kubernetes.
Regole di avviso per ricerca log Usare le regole di avviso di ricerca log per generare un avviso dai risultati di una query di log. Per altre informazioni, vedere Come creare avvisi di ricerca log da Container Insights e Come eseguire query sui log da Container Insights.

Iniziare con un set di avvisi Prometheus consigliati da Regole di avviso delle metriche in Container Insights (anteprima) che includono le condizioni di avviso più comuni per un cluster Kubernetes. È possibile aggiungere altre regole di avviso in un secondo momento man mano che si identificano altre condizioni di avviso.

Sviluppatore

Oltre a sviluppare l'applicazione, lo sviluppatore gestisce l'applicazione in esecuzione nel cluster. È responsabile del traffico specifico dell'applicazione, inclusi le prestazioni e gli errori dell'applicazione, e di mantenere l'affidabilità dell'applicazione in base ai contratti di servizio definiti dall'azienda.

Diagramma dei livelli dell'ambiente Kubernetes per sviluppatori.

Servizi di Azure per sviluppatori

La tabella seguente elenca i servizi comunemente usati dallo sviluppatore per monitorare l'integrità e le prestazioni dell'applicazione in esecuzione nel cluster.

Servizio Descrizione
Application Insights Funzionalità di Monitoraggio di Azure che fornisce il monitoraggio delle prestazioni delle applicazioni (APM) per monitorare le applicazioni in esecuzione nel cluster Kubernetes dallo sviluppo ai test e alla produzione. Identificare e ridurre rapidamente i problemi di latenza e affidabilità usando tracce distribuite. Supporta OpenTelemetry per la strumentazione indipendente dal fornitore.

Vedere Nozioni di base sulla raccolta dati di Application Insights di Monitoraggio di Azure per informazioni sulla configurazione della raccolta dati dall'applicazione in esecuzione nel cluster e sui criteri decisionali del metodo migliore per i requisiti specifici.

Livello di monitoraggio 5 - Applicazione

Di seguito sono riportati scenari comuni per il monitoraggio dell'applicazione.

Prestazioni dell'applicazione

  • Usare la visualizzazione Prestazioni in Application Insights per visualizzare le prestazioni delle diverse operazioni nell'applicazione.
  • Usare Profiler per acquisire e visualizzare le tracce delle prestazioni per l'applicazione.
  • Usare Mapping delle applicazioni per visualizzare le dipendenze tra i componenti dell'applicazione e identificare eventuali colli di bottiglia.
  • Abilitare la traccia distribuita, che fornisce un profiler delle prestazioni che funziona come gli stack di chiamate per le architetture cloud e microservizi, per ottenere una migliore osservabilità nell'interazione tra i servizi.

Errori delle applicazioni

  • Usare la scheda Errori di Application Insights per visualizzare il numero di richieste non riuscite e le eccezioni più comuni.
  • Assicurarsi che gli avvisi per le anomalie degli errori identificati con il rilevamento intelligente siano configurati correttamente.

Health monitoring (Monitoraggio dello stato)

  • Creare un test di disponibilità in Application Insights per creare un test ricorrente al fine di monitorare la disponibilità e la velocità di risposta dell'applicazione.
  • Usare il report del contratto di servizio per calcolare e segnalare il contratto di servizio per i test Web.
  • Usare le annotazioni per identificare quando viene distribuita una nuova compilazione in modo da poter esaminare visivamente le eventuali modifiche apportate alle prestazioni dopo l'aggiornamento.

Registri applicazioni

  • Container Insights invia log stdout/stderr a un'area di lavoro Log Analytics. Vedere Log delle risorse per una descrizione dei diversi log e dei servizi Kubernetes per un elenco delle tabelle a cui vengono inviati.

Mesh del servizio

  • Per i cluster del servizio Azure Kubernetes, distribuire il componente aggiuntivo mesh del servizio basato su Istio che fornisce l'osservabilità all'architettura dei microservizi. Istio è una mesh di servizi open source che esegue il layer trasparente sulle applicazioni distribuite esistenti. Il componente aggiuntivo assiste nella distribuzione e nella gestione di Istio per il servizio Azure Kubernetes.

Vedi anche