Condividi tramite


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 in servizio Azure Kubernetes (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 a cluster Kubernetes o kubernetes servizio Azure Kubernetes in altri cloud. Per iniziare a usare il servizio Azure Kubernetes o Monitoraggio di Azure, vedere Monitoraggio del servizio Azure Kubernetes per informazioni di base per 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 gestiti da ruoli diversi nell'organizzazione.

Diagram of layers of Kubernetes environment with related administrative roles.

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, incluse le prestazioni e gli errori dell'applicazione. Mantiene l'affidabilità dell'applicazione in base ai contratti di servizio.
Tecnico della piattaforma Responsabile del cluster Kubernetes. Effettua il provisioning e gestisce la piattaforma usata dallo sviluppatore.
Tecnico della 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 degli 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 esso. 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 è possibile 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 comporta un costo. È 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 si è molto consapevoli dei costi, è possibile scegliere di implementare un subset delle funzionalità complete per ridurre la spesa per il monitoraggio.

Tecnico della 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.

Diagram of layers of Kubernetes environment for network engineer.

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 dettagliate 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.

Le informazioni dettagliate sulla rete sono abilitate per impostazione predefinita e non richiedono alcuna configurazione. Network Watcher è in genere abilitato anche 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 scorre 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 informazioni dettagliate sui contenitori 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 se un traffico passa 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 east-west).

Tecnico della piattaforma

Il tecnico della piattaforma, noto anche come amministratore del cluster, è responsabile del cluster Kubernetes stesso. Effettua il provisioning e gestisce la piattaforma usata dagli sviluppatori. 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 e potenzialmente essere in grado di allocare i costi a team diversi.

Diagram of layers of Kubernetes environment for platform engineer.

Le organizzazioni di grandi dimensioni possono anche avere un architetto di 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. Per informazioni dettagliate sulla creazione di una risorsa Fleet per più cluster e scenari su larga scala, vedere Che cos'è Azure Kubernetes Fleet Manager (anteprima ).

Servizi di Azure per il tecnico della piattaforma

La tabella seguente elenca i servizi di Azure per il tecnico della piattaforma per 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 e eventi Kubernetes da ogni nodo del cluster. Raccoglie anche le metriche dal piano di controllo Kubernetes e le archivia nell'area di lavoro. È possibile visualizzare i dati nella portale di Azure o eseguire query usando Log Analytics.
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 di Monitoraggio di Azure per Prometheus è una soluzione completamente gestita compatibile con il linguaggio di query Prometheus (PromQL) e gli avvisi prometheus e si integra con Azure Managed Grafana per la visualizzazione. Questo servizio supporta l'investimento in strumenti open source senza la complessità della gestione del proprio ambiente Prometheus.
Kubernetes abilitato per 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 Informazioni dettagliate sui contenitori e Prometheus.
Grafana gestito di Azure Implementazione completamente gestita di Grafana, una piattaforma di visualizzazione dei dati open source comunemente usata per presentare Prometheus e altri dati. 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 per ognuno per determinare dove potrebbe essere necessario modificare questa configurazione per soddisfare i requisiti specifici.

Abilitare lo scraping delle metriche prometheus

Importante

Per usare il servizio gestito di Monitoraggio di Azure per Prometheus, è necessario avere 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 scraping delle metriche prometheus dal servizio gestito di Monitoraggio di Azure per Prometheus 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 di Monitoraggio di Azure per Prometheus 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 di Monitoraggio di Azure per Prometheus.

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

Abilitare Grafana per l'analisi dei dati di Prometheus

Creare un'istanza di Managed Grafana e collegarla all'area di lavoro di Monitoraggio di Azure in modo da poter usare i dati prometheus come origine dati. È anche possibile eseguire manualmente questa configurazione usando l'aggiunta del servizio gestito di Monitoraggio di Azure per Prometheus come origine dati. Sono disponibili un'ampia gamma di dashboard predefiniti per il monitoraggio dei cluster Kubernetes, tra cui diversi che presentano informazioni simili alle visualizzazioni informazioni dettagliate sui contenitori.

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 Informazioni dettagliate sui contenitori nei dashboard personalizzati di Grafana. Eseguire questa configurazione se si vuole concentrarsi sui dashboard di Grafana anziché usare le visualizzazioni e i report di Informazioni dettagliate contenitore.

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. Informazioni dettagliate sui contenitori 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 Linguaggio di query Kusto (KQL).

Vedere Abilitare Informazioni dettagliate sui contenitori per i prerequisiti e le opzioni di configurazione per l'onboarding dei cluster Kubernetes. Eseguire l'onboarding usando Criteri di Azure per garantire che tutti i cluster mantengano una configurazione coerente.

Dopo aver abilitato Informazioni dettagliate sui contenitori per un cluster, eseguire le azioni seguenti per ottimizzare l'installazione.

  • Informazioni dettagliate sui contenitori raccoglie molti degli stessi valori delle metriche di Prometheus. È possibile disabilitare la raccolta di queste metriche configurando Informazioni dettagliate sui contenitori per raccogliere solo log ed eventi , come descritto in Abilitare le impostazioni di ottimizzazione dei costi in Informazioni dettagliate sui contenitori. Questa configurazione disabilita l'esperienza informazioni dettagliate sui contenitori nella portale di Azure, ma è possibile usare Grafana per visualizzare le metriche di Prometheus e Log Analytics per analizzare i dati di log raccolti da Informazioni dettagliate sui contenitori.
  • Ridurre i costi per l'inserimento dei dati di Informazioni dettagliate contenitore riducendo la quantità di dati raccolti.
  • Per migliorare l'esperienza di query con i dati raccolti da Informazioni dettagliate sui contenitori e ridurre i costi di raccolta, abilitare lo schema ContainerLogV2 per ogni cluster. Se si usano solo i log per la risoluzione dei problemi occasionali, è consigliabile configurare questa tabella come log di base.

Se si dispone di una soluzione esistente per la raccolta di log, seguire le indicazioni per tale strumento o abilitare Informazioni dettagliate contenitore e usare la funzionalità di esportazione dei dati dell'area di lavoro Log Analytics per inviare dati a Hub eventi di Azure da inoltrare al 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 visualizzarle e analizzarle. 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 come 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 inizialmente, usare le raccomandazioni seguenti, basate sui requisiti dei clienti più comuni. Se necessario, è possibile abilitare altre categorie in un secondo momento.

Categoria Attivare? Destinazione
kube-apiserver Abilitazione Area di lavoro Log Analytics
kube-audit Abilitazione 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 Abilitazione Area di lavoro Log Analytics
kube-controller-manager Abilitazione Area di lavoro Log Analytics
kube-scheduler Disabilita
cluster-autoscaler Abilitare se la scalabilità automatica è abilitata 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 Informazioni dettagliate contenitore e usare la funzionalità di esportazione dei dati dell'area di lavoro Log Analytics per inviare dati all'hub eventi di Azure da inoltrare al 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.

Monitorare il livello 2 - Componenti a livello di cluster

Il livello del cluster include i componenti seguenti:

Componente Requisiti di monitoraggio
Node 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 gli 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 su di essi. Per altre informazioni sull'analisi dell'integrità e delle prestazioni dei nodi, vedere Monitorare le prestazioni del cluster Kubernetes con Informazioni dettagliate sui contenitori.
  • In Report usare le cartelle di lavoro monitoraggio dei 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 di Grafana

  • Usare il dashboard predefinito in Managed Grafana per Kubelet per visualizzare l'integrità e le prestazioni di ognuno di essi.
  • Usare i dashboard di Grafana con i valori delle metriche Prometheus correlati al disco, node_disk_io_time_seconds_total ad esempio 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 log di inventario immagini che recupera i dati dalla tabella ContainerImageInventory popolata da Informazioni dettagliate contenitore.

Risoluzione dei problemi

Analisi dei costi

  • Configurare OpenCost, ovvero un progetto sandbox OPEN SOURCE indipendente dal fornitore per comprendere i costi di Kubernetes, per 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.

Monitorare il livello 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, i pod che non vengono avviati, i nodi non pronti o i pod vengono uccisi.

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 di 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 risorse.

Grafana

  • Usare il dashboard predefinito in Managed Grafana per Kubelet per visualizzare l'integrità e le prestazioni di ogni kubelet.
  • Usare un dashboard come il server api 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 le 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 analizzarla con Log Analytics. Ad esempio, la query di esempio 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

  • Per gli scenari di risoluzione dei problemi, è possibile accedere ai log kubelet usando il processo descritto in Ottenere i log kubelet dai nodi del cluster servizio Azure Kubernetes (servizio Azure Kubernetes).

Monitorare il livello 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

Dashboard di Grafana

  • Usare i dashboard predefiniti in Managed Grafana 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 in tempo reale

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 ITSM 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 prometheus vengono scritti in Prometheus Query Language (Prom QL) e applicati alle metriche prometheus archiviate nei servizi gestiti di Monitoraggio di Azure per Prometheus. 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 avvisare le prestazioni del servizio Azure Kubernetes usando uno dei valori nelle metriche di riferimento ai dati del servizio Azure Kubernetes.
Regole di avviso di 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 How to create log search alerts from Container Insights (Come creare avvisi di ricerca log da Container Insights ) e How to query logs from Container Insights (Come eseguire query sui log da Container Insights).

Iniziare con un set di avvisi Prometheus consigliati dalle regole di avviso delle metriche in Informazioni dettagliate contenitore (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. Sono responsabili del traffico specifico dell'applicazione, incluse le prestazioni e gli errori dell'applicazione e mantenere l'affidabilità dell'applicazione in base ai contratti di servizio definiti dall'azienda.

Diagram of layers of Kubernetes environment for developer.

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, tramite test e in produzione. Identificare e ridurre rapidamente i problemi di latenza e affidabilità usando tracce distribuite. Supporta OpenTelemetry per la strumentazione indipendente dal fornitore.

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

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 applicazioni per visualizzare le dipendenze tra i componenti dell'applicazione e identificare eventuali colli di bottiglia.
  • Abilitare la traccia distribuita, che fornisce un profiler 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

Health monitoring (Monitoraggio dello stato)

  • Creare un test di disponibilità in Application Insights per creare un test ricorrente per 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 che sia possibile esaminare visivamente qualsiasi modifica delle prestazioni dopo l'aggiornamento.

Log applicazioni

  • Informazioni dettagliate sui contenitori invia log stdout/stderr a un'area di lavoro Log Analytics. Per una descrizione dei diversi log e dei servizi Kubernetes, vedere Log delle risorse per un elenco delle tabelle a cui vengono inviate.

Mesh del servizio

  • Per i cluster del servizio Azure Kubernetes, distribuire il componente aggiuntivo Mesh di servizi 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