Monitorare servizio Azure Kubernetes

L'articolo illustra:

  • I tipi di dati di monitoraggio che è possibile raccogliere per questo servizio.
  • Modi per analizzare i dati.

Nota

Se si ha già familiarità con questo servizio e/o il Monitoraggio di Azure e si vuole solo sapere come analizzare i dati di monitoraggio, vedere la sezione Analizza alla fine di questo articolo.

Quando si hanno applicazioni e processi di business critici che si basano sulle risorse di Azure, è necessario monitorare e ricevere avvisi per il sistema. Il servizio Monitoraggio di Azure raccoglie e aggrega metriche e log da ogni componente del sistema. Il Monitoraggio di Azure offre una visione sulla disponibilità, le prestazioni e la resilienza e notifica i problemi. È possibile usare il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure, l'API REST o le librerie client per configurare e visualizzare i dati di monitoraggio.

Importante

Kubernetes è un sistema distribuito complesso con molte parti in movimento. È necessario monitorare a più livelli. Anche se il servizio Azure Kubernetes è un servizio Kubernetes gestito, è comunque necessario lo stesso rigore per il monitoraggio a più livelli. Questo articolo fornisce informazioni generali e procedure consigliate per il monitoraggio di un cluster del servizio Azure Kubernetes.

Insights

Per alcuni servizi di Azure, nel portale di Azure è disponibile un dashboard di monitoraggio predefinito che fornisce un punto iniziale per il monitoraggio del servizio. Questi dashboard sono denominati informazioni dettagliate ed è possibile trovarli nell'hub di Insights del Monitoraggio di Azure nel portale di Azure.

Informazioni dettagliate sui contenitori di Monitoraggio di Azure raccolgono metriche personalizzate per nodi, pod, contenitori e volumi permanenti. Per altre informazioni, vedere Metriche raccolte da Informazioni dettagliate sui contenitori.

Application Insights di Monitoraggio di Azure viene usato per il monitoraggio delle prestazioni dell'applicazione (APM). Per abilitare Application Insights con modifiche al codice, vedere Abilitare OpenTelemetry di Monitoraggio di Azure. Per abilitare Application Insights senza modifiche al codice, vedere Strumentazione automatica del servizio Azure Kubernetes. Per altre informazioni sulla strumentazione, vedere Nozioni di base sulla raccolta dei dati.

Dati di monitoraggio

Il servizio Azure Kubernetes genera gli stessi tipi di dati di monitoraggio delle altre risorse di Azure descritte in Dati di monitoraggio dalle risorse di Azure. Per informazioni dettagliate sulle metriche e i log creati dal servizio Azure Kubernetes, vedereInformazioni di riferimento sui dati del servizio Azure Kubernetes di monitoraggio. Altri servizi e funzionalità di Azure raccolgono altri dati e abilitano altre opzioni di analisi, come illustrato nel diagramma e nella tabella seguenti.

Diagramma della raccolta dei dati di monitoraggio dal servizio Azure Kubernetes.

Origine Descrizione
Metriche della piattaforma Le metriche della piattaforma vengono raccolte automaticamente per i cluster del servizio Azure Kubernetes senza costi. È possibile analizzare queste metriche con Esplora metriche o usarle per gli avvisi delle metriche.
Metriche di Prometheus Quando si abilita lo scraping delle metriche per il cluster, il servizio gestito di Monitoraggio di Azure per Prometheus raccoglie le metriche di Prometheus e le archivia in un'area di lavoro di Monitoraggio di Azure. Analizzarli con dashboard predefiniti in Grafana gestito di Azure e con gli avvisi di Prometheus.
Log attività Il log attività viene raccolto automaticamente per i cluster del servizio Azure Kubernetes senza costi. Questi log tengono traccia delle informazioni, ad esempio quando un cluster viene creato o ha una modifica della configurazione. Per analizzarlo con gli altri dati di log, inviare il log attività a un'area di lavoro Log Analytics.
Log risorse I log del piano di controllo per il servizio Azure Kubernetes vengono implementati come log delle risorse. Creare un'impostazione di diagnostica per inviarle all'area di lavoro Log Analytics in cui è possibile analizzare e inviare avvisi con query di log in Log Analytics.
Informazioni dettagliate contenitore Informazioni dettagliate sui contenitori raccolgono vari log e dati sulle prestazioni da un cluster, inclusi i flussi stdout/stderr e li archiviano in un'area di lavoro Log Analytics e metriche di Monitoraggio di Azure. Analizzare questi dati con visualizzazioni e cartelle di lavoro incluse in Informazioni dettagliate sui contenitori o con Log Analytics ed Esplora metriche.
Application Insights Application Insights di Monitoraggio di Azure raccoglie log, metriche e tracce distribuite. Questi dati di telemetria vengono archiviati in un'area di lavoro Log Analytics per l'analisi nel portale di Azure.

Tipi di risorsa

Azure usa il concetto di tipi di risorse e ID per identificare tutti gli elementi in una sottoscrizione. I tipi di risorse fanno anche parte degli ID della risorsa per ogni risorsa in esecuzione in Azure. Ad esempio, un tipo di risorsa per una macchina virtuale è Microsoft.Compute/virtualMachines. Per un elenco dei servizi e dei relativi tipi di risorse associati, vedere Provider di risorse.

Il Monitoraggio di Azure organizza in modo analogo i dati di monitoraggio di base in metriche e log in base ai tipi di risorse, detti anche spazi dei nomi. Sono disponibili metriche e log diversi per diversi tipi di risorse. Il servizio potrebbe essere associato a più tipi di risorse.

Per altre informazioni sui tipi di risorse per il servizio Azure Kubernetes, vedere servizio Azure Kubernetes informazioni di riferimento sui dati di monitoraggio.

Archiviazione di dati

Per il Monitoraggio di Azure:

  • I dati delle metriche vengono archiviati dal database di metriche del Monitoraggio di Azure.
  • I dati di log vengono archiviati nell'archivio dei log del Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure in grado di eseguire query su questo archivio.
  • Il log attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.

Facoltativamente, è possibile instradare i dati delle metriche e dei log attività all'archivio dei log di Monitoraggio di Azure. È quindi possibile usare Analisi dei log per eseguire query sui dati e correlarli con altri dati di log.

Molti servizi possono usare le impostazioni di diagnostica per inviare i dati delle metriche e dei log ad altre posizioni di archiviazione all'esterno di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non Azure usando Hub eventi.

Per informazioni dettagliate su come il Monitoraggio di Azure archivia i dati, vedere la piattaforma dati del Monitoraggio di Azure.

Metriche della piattaforma del Monitoraggio di Azure

Il Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:

  • Definite singolarmente per ogni spazio dei nomi.
  • Archiviate in un database delle metriche di serie temporali del Monitoraggio di Azure.
  • Leggere e in grado di creare avvisi in tempo quasi reale.
  • Usate per tenere traccia delle prestazioni di una risorsa nel tempo.

Raccolta: il Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è richiesta alcuna configurazione.

Routing: è anche possibile instradare alcune metriche della piattaforma ai log di Monitoraggio di Azure/Log Analytics per poterle eseguire query con altri dati di log. Controllare l'impostazione di esportazione DS per ogni metrica per verificare se è possibile usare un'impostazione di diagnostica per instradare la metrica ai log di Monitoraggio di Azure/Log Analytics.

Per un elenco di tutte le metriche che è possibile raccogliere per tutte le risorse nel Monitoraggio di Azure, vedere Metriche supportate nel Monitoraggio di Azure.

Per un elenco delle metriche disponibili per il servizio Azure Kubernetes, vedere servizio Azure Kubernetes riferimento ai dati di monitoraggio.

Le metriche svolgono un ruolo importante nel monitoraggio del cluster, nell'identificazione dei problemi e nell'ottimizzazione delle prestazioni nei cluster del servizio Azure Kubernetes. Le metriche della piattaforma vengono acquisite usando il server delle metriche predefinito installato nello spazio dei nomi kube-system, che elimina periodicamente le metriche da tutti i nodi Kubernetes gestiti da Kubelet. È anche necessario abilitare le metriche di Prometheus gestite di Azure per raccogliere le metriche dei contenitori e le metriche degli oggetti Kubernetes, ad esempio lo stato dell'oggetto delle distribuzioni. Per altre informazioni, vedere Raccogliere le metriche di Prometheus da un cluster del servizio Azure Kubernetes.

Il servizio Azure Kubernetes espone anche le metriche dai componenti critici del piano di controllo, ad esempio server API, ETCD, Utilità di pianificazione tramite Prometheus gestito di Azure. Questa funzionalità è attualmente disponibile solo in anteprima. Per altre informazioni, vedere Monitorare le metriche del piano di controllo servizio Azure Kubernetes del servizio Azure Kubernetes (anteprima).

Metriche non basate su Monitoraggio di Azure

Questo servizio fornisce altre metriche non incluse nel database delle metriche di Monitoraggio di Azure.

Per il monitoraggio aggiuntivo dei cluster Kubernetes, è possibile usare i servizi e le funzionalità di Monitoraggio di Azure seguenti. È possibile abilitare queste funzionalità durante la creazione del cluster del servizio Azure Kubernetes dalla scheda Integrazioni nel portale di Azure, nell'interfaccia della riga di comando di Azure, in Terraform, in Criteri di Azure o durante l'onboarding del cluster in un secondo momento. Ognuna di queste funzionalità potrebbe comportare costi, quindi fare riferimento alle informazioni sui prezzi per ognuna prima di abilitarle.

Servizio/Funzionalità Descrizione
Informazioni dettagliate contenitore Usa una versione in contenitori dell'agente di Monitoraggio di Azure per raccogliere i log stdout/stderr e gli eventi Kubernetes da ogni nodo del cluster. La funzionalità supporta diversi scenari di monitoraggio per i cluster del servizio Azure Kubernetes. È possibile abilitare il monitoraggio per un cluster del servizio Azure Kubernetes quando viene creato usando l'interfaccia della riga di comando di Azure, Criteri di Azure, il portale di Azure o Terraform. Se non si abilitano informazioni dettagliate sui contenitori quando si crea il cluster, vedere Abilitare Informazioni dettagliate sui contenitori per il cluster del servizio Azure Kubernetes per altre opzioni per abilitarlo.

Le informazioni dettagliate sui contenitori archiviano la maggior parte dei dati in un'area di lavoro Log Analytics e in genere si usa la stessa area di lavoro Log Analytics dei log delle risorse per il cluster. Vedere Progettare un'architettura dell'area di lavoro Log Analytics per indicazioni sul numero di aree di lavoro da usare e sulla posizione in cui individuarle.
Servizio gestito per Prometheus di Monitoraggio di Azure Prometheus è una soluzione di metriche nativa del cloud di Cloud Native Compute Foundation. È 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. Se non si abilita Prometheus gestito quando si crea il cluster, vedere Raccogliere le metriche di Prometheus da un cluster del servizio Azure Kubernetes per altre opzioni per abilitarla.

Il servizio gestito di Monitoraggio di Azure per Prometheus 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.
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. Sono disponibili più dashboard Grafana predefiniti per il monitoraggio di Kubernetes e la risoluzione dei problemi dello stack completo. Se non si abilita Grafana gestito quando si crea il cluster, vedere Collegare un'area di lavoro Grafana. È possibile collegarlo all'area di lavoro di Monitoraggio di Azure in modo che possa accedere alle metriche di Prometheus per il cluster.

Monitorare le metriche del piano di controllo del servizio Azure Kubernetes (anteprima)

Questa sezione illustra come usare la funzionalità metriche del piano di controllo (anteprima). Raccogliere le metriche dal piano di controllo e visualizzare i dati di telemetria in Monitoraggio di Azure. La funzionalità metriche del piano di controllo è completamente compatibile con Prometheus e Grafana. La funzionalità offre maggiore visibilità sulla disponibilità e sulle prestazioni dei componenti del piano di controllo, ad esempio il server API, ETCD, Utilità di pianificazione, Scalabilità automatica e gestione controller. È possibile usare queste metriche per ottimizzare l'osservabilità complessiva e mantenere l'eccellenza operativa per il cluster del servizio Azure Kubernetes.

Prerequisiti e limitazioni

Installare l'estensione aks-preview

Importante

Le funzionalità di anteprima del servizio Azure Kubernetes sono disponibili in modalità self-service e opzionale. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:

  • Installare o aggiornare l’estensione dell’interfaccia della riga di comando di Azure aks-preview usando i comandi az extension add o az extension update.

    # Install the aks-preview extension
    az extension add --name aks-preview
    
    # Update the aks-preview extension
    az extension update --name aks-preview
    

Registrare il flag AzureMonitorMetricsControlPlanePreview

  1. Registrare il flag di funzionalità AzureMonitorMetricsControlPlanePreview usando il comando az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

    Sono necessari alcuni minuti per visualizzare lo stato Registered.

  2. Verificare lo stato della registrazione usando il comando az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    
  3. Quando lo stato riflette Registrato, aggiornare la registrazione del provider di risorse Microsoft.ContainerService usando il comando az provider register.

    az provider register --namespace "Microsoft.ContainerService"
    

Abilitare le metriche del piano di controllo nel cluster del servizio Azure Kubernetes

È possibile abilitare le metriche del piano di controllo con il servizio gestito di Monitoraggio di Azure per il componente aggiuntivo Prometheus durante la creazione di un nuovo cluster o l’aggiornamento di un cluster esistente.

Abilitare le metriche del piano di controllo in un nuovo cluster del servizio Azure Kubernetes:

Per raccogliere le metriche di Prometheus dal cluster Kubernetes, vedere Abilitare Prometheus e Grafana per cluster del servizio Azure Kubernetes e seguire i passaggi nella scheda dell'interfaccia della riga di comando per un cluster del servizio Azure Kubernetes.

Abilitare le metriche del piano di controllo in un cluster del servizio Azure Kubernetes esistente

  • Se il cluster dispone già del componente aggiuntivo Prometheus, aggiornare il cluster per assicurarsi che inizi a raccogliere le metriche del piano di controllo usando il comando az aks update.

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

Nota

A differenza delle metriche raccolte dai nodi del cluster, le metriche del piano di controllo vengono raccolte da un componente che non fa parte del componente aggiuntivo ama-metrics. L'abilitazione del flag di funzionalità AzureMonitorMetricsControlPlanePreview e del componente aggiuntivo Prometheus gestito garantisce la raccolta delle metriche del piano di controllo. Dopo aver abilitato la raccolta delle metriche, possono essere necessari alcuni minuti prima che i dati vengano visualizzati nell'area di lavoro.

Eseguire query sulle metriche del piano di controllo

Le metriche del piano di controllo vengono archiviate in un'area di lavoro di Monitoraggio di Azure nell'area del cluster. È possibile eseguire query sulle metriche direttamente dall'area di lavoro o tramite l'istanza di Grafana gestita di Azure connessa all'area di lavoro.

Visualizzare le metriche del piano di controllo nell'area di lavoro di Monitoraggio di Azure seguendo questa procedura:

  1. Nel portale di Azure, passare al cluster del servizio Azure Kubernetes.

  2. In Monitoraggio selezionare Informazioni dettagliate.

    Screenshot dell'area di lavoro di Monitoraggio di Azure.

Nota

Il servizio Azure Kubernetes fornisce modelli di dashboard che consentono di visualizzare e analizzare i dati di telemetria del piano di controllo in tempo reale. Se si usa Grafana gestito di Azure per visualizzare i dati, è possibile importare i dashboard seguenti:

Personalizzare le metriche del piano di controllo

Il servizio Azure Kubernetes include un set preconfigurato di metriche da raccogliere e archiviare per ogni componente. API server e etcd sono abilitati per impostazione predefinita. È possibile personalizzare questo elenco tramite ama-settings-configmap.

Le destinazioni predefinite includono i valori seguenti:

controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true

Tutti gli oggetti ConfigMap devono essere applicati allo spazio dei nomi kube-system per qualsiasi cluster.

Per altre informazioni sulle metriche del profilo minimal-ingestion, vedere Profilo di inserimento minimo per le metriche del piano di controllo in Prometheus gestito.

  • Inserire solo metriche minime da destinazioni predefinite

    Quando si imposta default-targets-metrics-keep-list.minimalIngestionProfile="true", viene inserito solo il set minimo di metriche per ognuna delle destinazioni predefinite: controlplane-apiserver e controlplane-etcd.

  • Inserire tutte le metriche da tutte le destinazioni

    Raccogliere tutte le metriche da tutte le destinazioni nel cluster seguendo la procedura seguente:

    1. Scaricare il file ConfigMap ama-metrics-settings-configmap.yaml e rinominarlo in configmap-controlplane.yaml.

    2. Impostare minimalingestionprofile = false.

    3. In default-scrape-settings-enabled, verificare che le destinazioni che si vogliono scorporare siano impostate su true. Le uniche destinazioni che è possibile specificare sono: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-manager e controlplane-etcd.

    4. Applicare ConfigMap usando il comando kubectl apply.

      kubectl apply -f configmap-controlplane.yaml
      

      Dopo l'applicazione della configurazione, sono necessari alcuni minuti prima che le metriche delle destinazioni specificate scorporate dal piano di controllo vengano visualizzate nell'area di lavoro monitoraggio di Azure.

  • Inserire delle altre metriche oltre alle metriche minime

    L'impostazione minimal ingestion profile consente di ridurre il volume di inserimento delle metriche, in quanto raccoglie solo le metriche usate dai dashboard predefiniti, le regole di registrazione predefinite e gli avvisi predefiniti. Per personalizzare questa impostazione, eseguire la procedura descritta di seguito:

    1. Scaricare il file ConfigMap ama-metrics-settings-configmap e rinominarlo in configmap-controlplane.yaml.

    2. Impostare minimalingestionprofile = true.

    3. In default-scrape-settings-enabled, verificare che le destinazioni che si vogliono scorporare siano impostate su true. Le uniche destinazioni che è possibile specificare sono: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-manager e controlplane-etcd.

    4. In default-targets-metrics-keep-list, specificare l'elenco delle metriche per le destinazioni true. Ad esempio:

      controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
      
    5. Applicare ConfigMap usando il comando kubectl apply.

      kubectl apply -f configmap-controlplane.yaml
      

    Dopo l'applicazione della configurazione, sono necessari alcuni minuti prima che le metriche delle destinazioni specificate scorporate dal piano di controllo vengano visualizzate nell'area di lavoro monitoraggio di Azure.

  • Inserire solo metriche specifiche da alcune destinazioni

    1. Scaricare il file ConfigMap ama-metrics-settings-configmap e rinominarlo in configmap-controlplane.yaml.

    2. Impostare minimalingestionprofile = false.

    3. In default-scrape-settings-enabled, verificare che le destinazioni che si vogliono scorporare siano impostate su true. Le uniche destinazioni che è possibile specificare sono controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler,controlplane-kube-controller-manager e controlplane-etcd.

    4. In default-targets-metrics-keep-list, specificare l'elenco delle metriche per le destinazioni true. Ad esempio:

      controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
      
    5. Applicare ConfigMap usando il comando kubectl apply.

      kubectl apply -f configmap-controlplane.yaml
      

      Dopo l'applicazione della configurazione, sono necessari alcuni minuti prima che le metriche delle destinazioni specificate scorporate dal piano di controllo vengano visualizzate nell'area di lavoro monitoraggio di Azure.

Risolvere i problemi relativi alle metriche del piano di controllo

Assicurarsi che il flag di funzionalità AzureMonitorMetricsControlPlanePreview sia abilitato e che i pod ama-metrics siano in esecuzione.

Nota

I metodi di risoluzione dei problemi per Prometheus del servizio gestito di Azure non si traducono direttamente qui perché i componenti che eliminano il piano di controllo non sono presenti nel componente aggiuntivo prometheus gestito.

  • Formattazione di configMap

    Assicurarsi di usare la formattazione corretta in ConfigMap e che i campi, in particolare default-targets-metrics-keep-list, minimal-ingestion-profile e default-scrape-settings-enabled, siano popolati correttamente con i valori previsti.

  • Isolare il piano di controllo dal piano dati

    Per iniziare, impostare alcune metriche correlate al nodo su true e verificare che le metriche vengano inoltrate all'area di lavoro. Ciò consente di determinare se il problema è specifico per lo scorporo delle metriche del piano di controllo.

  • Eventi inseriti

    Dopo aver applicato le modifiche, è possibile aprire Esplora metriche dalla pagina di panoramica di Monitoraggio di Azure o dalla sezione Monitoraggio del cluster selezionato per controllare se si sono verificati aumenti o riduzioni del numero di eventi inseriti al minuto. Dovrebbe aiutare a determinare se manca una metrica specifica o se mancano tutte le metriche.

  • La metrica specifica non è esposta

    Esistono casi in cui le metriche sono documentate, ma non vengono esposte dalla destinazione e non vengono inoltrate all'area di lavoro monitoraggio di Azure. In questo caso, è necessario verificare che altre metriche vengano inoltrate all'area di lavoro.

  • Nessun accesso all'area di lavoro di Monitoraggio di Azure

    Quando si abilita il componente aggiuntivo, è possibile specificare un'area di lavoro esistente a cui non si ha accesso. In tal caso, potrebbe sembrare che le metriche non vengano raccolte e inoltrate. Assicurarsi di creare una nuova area di lavoro durante l'abilitazione del componente aggiuntivo o durante la creazione del cluster.

Disabilitare le metriche del piano di controllo nel cluster del servizio Azure Kubernetes

È possibile disabilitare le metriche del piano di controllo in qualsiasi momento disabilitando il componente aggiuntivo Prometheus gestito e annullando la registrazione del flag di funzionalità AzureMonitorMetricsControlPlanePreview.

  1. Rimuovere il componente aggiuntivo delle metriche che elimina le metriche di Prometheus tramite il comando az aks update.

    az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    
  2. Disabilitare lo scarto delle metriche del piano di controllo nel cluster del servizio Azure Kubernetes annullando la registrazione del flag di funzionalità AzureMonitorMetricsControlPlanePreview usando il comando az feature unregister.

    az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

Domande frequenti

  • È possibile scorporare le metriche del piano di controllo con Prometheus self-hosted?

    No, attualmente non è possibile scorporare le metriche del piano di controllo con Prometheus self-hosted. Prometheus self-hosted può scorporare solo la singola istanza a seconda del servizio di bilanciamento del carico. Le metriche non sono affidabili, poiché spesso sono presenti più repliche delle metriche del piano di controllo visibili solo tramite Prometheus gestito

  • Perché l'agente utente non è disponibile tramite le metriche del piano di controllo?

    Le metriche del piano di controllo in Kubernetes non hanno l'agente utente. L'agente utente è disponibile solo tramite i log del piano di controllo disponibili nelle impostazioni di diagnostica.

Log delle risorse di Monitoraggio di Azure

I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite da una risorsa di Azure. I log vengono generati automaticamente, ma è necessario indirizzarli verso i log del Monitoraggio di Azure per salvarli o interrogarli. I log sono organizzati in categorie. Uno specifico spazio dei nomi potrebbe avere più categorie di log delle risorse.

Raccolta: i log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada verso una o più posizioni. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Esistono diversi modi per creare e gestire le impostazioni di diagnostica, tra cui il portale di Azure, il livello programmatico e anche i Criteri di Azure.

Pianificazione percorso: l'impostazione predefinita consigliata consiste nell'instradare i log delle risorse verso i log del Monitoraggio di Azure in modo da poterli interrogare con altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni, vedere Log delle risorse di Azure e Destinazioni del log delle risorse.

Per informazioni dettagliate sulla raccolta, l'archiviazione e la pianificazione percorso dei log delle risorse, vedere Impostazioni di diagnostica nel Monitoraggio di Azure.

Per un elenco di tutte le categorie di log delle risorse disponibili nel Monitoraggio di Azure, vedere Log delle risorse supportati nel Monitoraggio di Azure.

Tutti i log delle risorse nel Monitoraggio di Azure hanno gli stessi campi d'intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Schema dei log delle risorse di Monitoraggio di Azure.

Per le categorie di log delle risorse disponibili, le tabelle di Log Analytics associate e gli schemi di log per il servizio Azure Kubernetes, vedere servizio Azure Kubernetes informazioni di riferimento sui dati di monitoraggio.

Log del piano di controllo o delle risorse del servizio Azure Kubernetes

I log del piano di controllo per i cluster del servizio Azure Kubernetes vengono implementati come log delle risorse in Monitoraggio di Azure. I log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica per indirizzarli a una o più posizioni. In genere vengono inviati a un'area di lavoro Log Analytics, in cui viene archiviata la maggior parte dei dati per Informazioni dettagliate sui contenitori.

Vedere Creare impostazioni di diagnostica per il processo dettagliato per la creazione di un'impostazione di diagnostica tramite il portale di Azure, l'interfaccia della riga di comando o PowerShell. Quando si crea un'impostazione di diagnostica, specificare le categorie di log da raccogliere. Le categorie per il servizio Azure Kubernetes sono elencate in Informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.

Importante

La raccolta dei log delle risorse per il servizio Azure Kubernetes può comportare costi significativi, in particolare per i log di controllo kube-audit. Considerare i consigli seguenti per ridurre la quantità di dati raccolti:

  • Disabilitare la registrazione kube-audit quando non è necessario.
  • Abilitare la raccolta da kube-audit-admin, che esclude gli eventi di controllo get ed list.
  • Abilitare i log specifici delle risorse come descritto qui e configurare la AKSAudit tabella come log di base.

Vedere Monitorare i cluster Kubernetes usando i servizi di Azure e gli strumenti nativi del cloud per altre raccomandazioni e Ottimizzazione dei costi e Monitoraggio di Azure per altre strategie per ridurre i costi di monitoraggio.

Il servizio Azure Kubernetes supporta la modalità diagnostica di Azure o la modalità specifica della risorsa per i log delle risorse. Questa modalità specifica le tabelle nell'area di lavoro Log Analytics in cui vengono inviati i dati. La modalità diagnostica di Azure invia tutti i dati alla tabella AzureDiagnostics, mentre la modalità specifica della risorsa invia i dati al controllo del servizio Azure Kubernetes, all'amministratore del controllo del servizio Azure Kubernetes e al piano di controllo del servizio Azure Kubernetes, come illustrato nella tabella nei log delle risorse.

La modalità specifica della risorsa è consigliata per il servizio Azure Kubernetes per i motivi seguenti:

  • I dati sono più facili da eseguire in query perché si trovano in singole tabelle dedicate al servizio Azure Kubernetes.
  • Supporta la configurazione come log di base per un risparmio significativo sui costi.

Per altre informazioni sulla differenza tra le modalità di raccolta, tra cui come modificare un'impostazione esistente, vedere Selezionare la modalità raccolta.

Nota

È anche possibile configurare le impostazioni di diagnostica tramite l'interfaccia della riga di comando. In questi casi, non è garantito che funzioni correttamente perché non controlla lo stato di provisioning del cluster. Assicurarsi di controllare le impostazioni di diagnostica del cluster per riflettere dopo la configurazione.

az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]'  --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true

Query di log di esempio

Importante

Quando si seleziona Log dal menu per un cluster del servizio Azure Kubernetes, Log Analytics viene aperto con l'ambito di query impostato sul cluster corrente. Ciò significa che le query di log includeranno solo i dati di tale risorsa. Per eseguire una query che include dati di altri cluster o dati di altri servizi di Azure, selezionare Log dal menu Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.

Se l'impostazione di diagnostica per il cluster usa la modalità diagnostica di Azure, i log delle risorse per il servizio Azure Kubernetes vengono archiviati nella abella AzureDiagnostics. È possibile distinguere log diversi con la colonna Categoria. Per una descrizione di ogni categoria, vedere Log delle risorse di riferimento del servizio Azure Kubernetes.

Descrizione Query di log
Conteggio dei log per ogni categoria
(modalità diagnostica di Azure)
AzureDiagnostics
| dove ResourceType == "MANAGEDCLUSTERS"
| riepilogo conteggio() per Categoria
Tutti i log del server API
(modalità diagnostica di Azure)
AzureDiagnostics
| dove Categoria == "kube-apiserver"
Tutti i log di controllo kube in un intervallo di tempo
(modalità diagnostica di Azure)
let starttime = datetime("2023-02-23");
let endtime = datetime("2023-02-24");
AzureDiagnostics
| dove TimeGenerated between(starttime.. endtime)
| dove Categoria == "kube-audit"
| estendere evento = parse_json(log_s)
| estendere HttpMethod = tostring(event.verb)
| estendere Utente = tostring(event.user.username)
| estendere Apiserver = pod_s
| estendere SourceIP = tostring(event.sourceIPs[0])
| progetto TimeGenerated, Categoria, HttpMethod, Utente, Apiserver, SourceIP, OperationName, evento
Tutti i log di controllo
(modalità specifica della risorsa)
AKSAudit
Tutti i log di controllo esclusi gli eventi di controllo get ed list
(modalità specifica della risorsa)
AKSAuditAdmin
Tutti i log del server API
(modalità specifica della risorsa)
AKSControlPlane
| dove Categoria == "kube-apiserver"

Per accedere a un set di query predefinite nell'area di lavoro Log Analytics, vedere l'interfaccia query di Log Analytics e selezionare il tipo di risorsa Servizi Kubernetes. Per un elenco di query comuni per informazioni dettagliate sui contenitori, vedere Query di informazioni dettagliate sui contenitori.

Log del piano dati del servizio Azure Kubernetes/Informazioni dettagliate sui contenitori

Container Insights raccoglie diversi tipi di dati di telemetria dai contenitori e dai cluster Kubernetes per monitorare, risolvere i problemi e ottenere informazioni dettagliate sulle applicazioni in contenitori in esecuzione nei cluster del servizio Azure Kubernetes. Per un elenco di tabelle e le relative descrizioni dettagliate usate da Informazioni dettagliate sui contenitori, vedere le informazioni di riferimento sulla tabella di Monitoraggio di Azure. Tutte queste tabelle sono disponibili per le query di log.

Le impostazioni di ottimizzazione dei costi consentono di personalizzare e controllare i dati delle metriche raccolti tramite l'agente di informazioni dettagliate sui contenitori. Questa funzionalità supporta le impostazioni di raccolta dati per la selezione di singole tabelle, intervalli di raccolta dati e spazi dei nomi per escludere la raccolta dati tramite Regole di raccolta dati di Monitoraggio di Azure. Queste impostazioni controllano il volume di inserimento e riducono i costi di monitoraggio delle informazioni dettagliate sui contenitori. I dati raccolti dai contenitori possono essere personalizzati tramite il portale di Azure, usando le opzioni seguenti. Se si selezionano opzioni diverse da Tutte (impostazione predefinita), l'esperienza di informazioni dettagliate sui contenitori diventa non disponibile.

Raggruppamento Tabelle Note
Tutte (impostazione predefinita) Tutte le tabelle di informazioni dettagliate sui contenitori standard Obbligatorio per abilitare le visualizzazioni predefinite delle informazioni dettagliate sui contenitori
Prestazioni Perf, InsightsMetrics
Log ed eventi ContainerLog o ContainerLogV2, KubeEvents, KubePodInventory Consigliato se sono state abilitate le metriche di Prometheus gestite
Carichi di lavoro, distribuzioni e HPA InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Volumi permanenti InsightsMetrics, KubePVInventory

Il raggruppamento di log ed eventi acquisisce i log dalle tabelle ContainerLog o ContainerLogV2, KubeEvents, KubePodInventory, ma non dalle metriche. Il percorso consigliato per raccogliere le metriche consiste nell'abilitare il servizio gestito di Monitoraggio di Azure Prometheus per Prometheus dal cluster del servizio Azure Kubernetes e usare Grafana gestito di Azure per la visualizzazione dei dati. Per altre informazioni, vedere Gestire un'area di lavoro di Monitoraggio di Azure.

Schema ContainerLogV2

Azure Monitor Container Insights offre uno schema per i log dei contenitori noti come ContainerLogV2, che è l'opzione consigliata. Questo formato include i campi seguenti per facilitare le query comuni per la visualizzazione dei dati correlati al servizio Azure Kubernetes e ai cluster Kubernetes abilitati per Azure Arc:

  • ContainerName
  • PodName
  • PodNamespace

Inoltre, questo schema è compatibile con il piano dati Log di base, che offre un'alternativa a basso costo ai log di analisi standard. Il piano dati di log di base consente di risparmiare sui costi di inserimento e archiviazione di log dettagliati di volumi elevati nell'area di lavoro Log Analytics per il debug, la risoluzione dei problemi e il controllo. Non influisce sui costi per l'analisi e gli avvisi. Per altre informazioni, vedere Gestire le tabelle in un'area di lavoro Log Analytics.

ContainerLogV2 è l'approccio consigliato ed è lo schema predefinito per i clienti che eseguono l'onboarding di informazioni dettagliate sui contenitori con l'autenticazione dell'identità gestita usando ARM, Bicep, Terraform, Criteri e il portale di Azure. Per altre informazioni su come abilitare ContainerLogV2 tramite la regola di raccolta dati del cluster o ConfigMap, vedere Abilitare lo schema ContainerLogV2.

Finestra Log attività di Azure

Il log attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa di Azure vista dall'esterno, ad esempio la creazione di una nuova risorsa o l'avvio di una macchina virtuale.

Raccolta: gli eventi del log attività vengono generati e raccolti automaticamente in un archivio separato per la visualizzazione nel portale di Azure.

Pianificazione percorso: è possibile inviare i dati del log attività ai log di Monitoraggio di Azure in modo da poterli analizzare insieme ad altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni su come instradare i log attività, vedere Informazioni generali sul log attività di Azure.

Visualizzare i log del contenitore, gli eventi e le metriche dei pod del Servizio Azure Kubernetes in tempo reale

In questa sezione si apprenderà come usare la funzionalità dati live in Container Insights per visualizzare in tempo reale i log, gli eventi e le metriche dei contenitori di servizio Azure Kubernetes (AKS). Questa funzionalità fornisce l'accesso diretto a kubectl logs -c, eventi kubectl get e kubectl top pods, in modo da consentire di risolvere i problemi in tempo reale.

Nota

Il servizio Azure Kubernetes usa le architetture di registrazione a livello di cluster Kubernetes. I log del contenitore si trovano all'interno di /var/log/containers nel nodo. Per accedere a un nodo, vedere Connettersi ai nodi del cluster del Servizio Azure Kubernetes.

Per informazioni sulla configurazione della funzionalità dati live, vedereConfigurare dati live in Dati analitici sui contenitori. Questa funzionalità accede direttamente all'API Kubernetes. Per altre informazioni sul modello di autenticazione, vedere API Kubernetes.

Visualizzare i log in tempo reale delle risorse del servizio Azure Kubernetes

Nota

Per accedere ai log da un cluster privato, è necessario disporre di un computer nella stessa rete privata del cluster.

  1. Nel portale di Azure, passare al cluster del servizio Azure Kubernetes.

  2. In Risorse di Kubernetes, selezionare Carichi di lavoro.

  3. Selezionare il processo Distribuzione, Pod, Set di repliche, Set con stato, Processo o Cron per cui si vogliono visualizzare i log e quindi selezionare Log attivi.

  4. Selezionare la risorsa di cui si vogliono visualizzare i log.

    L'esempio seguente mostra i log per una risorsa Pod:

    Screenshot che mostra la distribuzione dei log in tempo reale.

Visualizzare i log in tempo reale

È possibile visualizzare i dati di log in tempo reale quando il motore del contenitore lo genera nel cluster, nei nodi, nei controller o nei contenitori.

  1. Nel portale di Azure, passare al cluster del servizio Azure Kubernetes.

  2. In Monitoraggio selezionare Informazioni dettagliate.

  3. Selezionare la scheda Cluster, Nodi, Controller o Contenitori, quindi selezionare l'oggetto di cui si vogliono visualizzare i log.

  4. Nella pagina Informazioni generali della risorsa, selezionare Log in tempo reale.

    Nota

    Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza log in Log Analytics. Per altre informazioni sulla visualizzazione di log cronologici, eventi e metriche, vedere Come eseguire query sui log da Dati analitici sui contenitori.

    Dopo aver eseguito l'autenticazione correttamente, se è possibile recuperare i dati, inizia lo streaming nella scheda Log in tempo reale. Qui è possibile visualizzare i dati di log in un flusso continuo. L'immagine seguente mostra i log per una risorsa Contenitore:

    Screenshot che mostra l'opzione di visualizzazione dei dati del contenitore Log in tempo reale.

Visualizzare gli eventi live

È possibile visualizzare i dati degli eventi in tempo reale quando il motore del contenitore lo genera nel cluster, nei nodi, nei controller o nei contenitori.

  1. Nel portale di Azure, passare al cluster del servizio Azure Kubernetes.

  2. In Monitoraggio selezionare Informazioni dettagliate.

  3. Selezionare la scheda Cluster, Nodi, Controller o Contenitori, quindi selezionare l'oggetto di cui si vogliono visualizzare gli eventi.

  4. Nella pagina Informazioni generali della risorsa, selezionare Eventi live.

    Nota

    Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza eventi in Log Analytics. Per altre informazioni sulla visualizzazione di log cronologici, eventi e metriche, vedere Come eseguire query sui log da Dati analitici sui contenitori.

    Dopo aver eseguito l'autenticazione correttamente, se è possibile recuperare i dati, inizia lo streaming nella scheda Eventi live. L'immagine seguente mostra gli eventi per una risorsa Contenitore:

    Screenshot che mostra l'opzione di visualizzazione dei dati del contenitore Eventi live.

Visualizzare le metriche

È possibile visualizzare i dati delle metriche in tempo reale quando il motore del contenitore lo genera nei nodi o nei controller selezionando una risorsa Pod .

  1. Nel portale di Azure, passare al cluster del servizio Azure Kubernetes.

  2. In Monitoraggio selezionare Informazioni dettagliate.

  3. Selezionare la scheda Nodi oController, quindi selezionare l'oggetto Poddi cui si vogliono visualizzare le metriche.

  4. Nella pagina Informazioni generali della risorsa, selezionare Metriche live.

    Nota

    Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza eventi in Log Analytics. Per altre informazioni sulla visualizzazione di log cronologici, eventi e metriche, vedere Come eseguire query sui log da Dati analitici sui contenitori.

    Dopo aver eseguito l'autenticazione correttamente, se è possibile recuperare i dati, inizia lo streaming nella scheda Metriche live. L'esempio seguente mostra le metriche per una risorsa Pod:

    Screenshot che mostra l'opzione di visualizzazione dei dati del pod Metriche live.

Analizzare i dati di monitoraggio

Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.

Strumenti di Monitoraggio di Azure

Il Monitoraggio di Azure supporta gli strumenti di base seguenti:

Gli strumenti che consentono una visualizzazione più complessa includono:

  • I dashboard che consentono di combinare tipi di dati diversi in un singolo riquadro nel portale di Azure.
  • Cartelle di lavoro, report personalizzabili che è possibile creare nel portale di Azure. Le cartelle di lavoro possono includere testo, metriche e query di log.
  • Grafana è una piattaforma aperta, ideale per i dashboard operativi. È possibile usare Grafana per creare dashboard che includano dati da più origini diverse dal Monitoraggio di Azure.
  • Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive per un'ampia varietà di origini dati. È possibile configurare per Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare i vantaggi di queste visualizzazioni.

Strumenti di esportazione del Monitoraggio di Azure

È possibile ottenere dati dal Monitoraggio di Azure in altri strumenti usando i metodi seguenti:

Per iniziare a usare l'API REST per il Monitoraggio di Azure, vedere Procedura dettagliata per l'API REST del Monitoraggio di Azure.

Pagina di panoramica del monitoraggio nel portale di Azure

La scheda Monitoraggio nella pagina Panoramica per la risorsa cluster del servizio Azure Kubernetes offre un modo rapido per iniziare a visualizzare i dati di monitoraggio nella portale di Azure. Questa scheda include grafici con metriche comuni per il cluster separato dal pool di nodi. È possibile selezionare uno di questi grafici per analizzare ulteriormente i dati in Esplora metriche.

La scheda Monitoraggio include anche collegamenti a Managed Prometheus e Container Insights per il cluster. Se è necessario abilitare questi strumenti, è possibile abilitarli qui. Potrebbe anche essere visualizzato un banner nella parte superiore della schermata che consiglia di abilitare altre funzionalità per migliorare il monitoraggio del cluster.

Suggerimento

È possibile accedere alle funzionalità di monitoraggio per tutti i cluster del servizio Azure Kubernetes nella sottoscrizione selezionando Monitoraggio di Azure nella home page portale di Azure.

Query Kusto

È possibile analizzare i dati di monitoraggio nell'archivio dei Log/Log Analytics del Monitoraggio di Azure usando il linguaggio di query Kusto (KQL).

Importante

Quando si seleziona Log dal menu del servizio nel portale, Analisi dei log si apre con l'ambito della query impostato sul servizio corrente. Questo ambito fa sì che le query di log includano solo i dati di tale tipo di risorsa. Se si vuole eseguire una query che includa dati di altri servizi di Azure, selezionare Log nel menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.

Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Analisi dei log.

Avvisi

Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate condizioni specifiche nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.

Esistono molte origini di avvisi comuni per le risorse di Azure. Per esempi di avvisi comuni per le risorse di Azure, vedere Query di avviso di log di esempio. Il sito Avvisi di base di Monitoraggio di Azure (AMBA) offre un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme di servizi di Azure in continua espansione, inclusi tutti i servizi che fanno parte della zona di destinazione di Azure.

Lo schema di avviso comune standardizza l'utilizzo delle notifiche di avviso di Monitoraggio di Azure. Per altre informazioni, vedere lo Schema degli avvisi comuni.

Tipi di avviso:

È possibile creare avvisi su qualsiasi metrica o fonte di dati di log nella piattaforma di dati di Monitoraggio di Azure. Esistono molti tipi diversi di avvisi a seconda dei servizi monitorati e dei dati di monitoraggio raccolti. Ogni tipo di avviso presenta vantaggi e svantaggi. Per altre informazioni, vedere Scegliere il tipo di avviso di monitoraggio corretto.

L'elenco seguente descrive i tipi di avvisi del Monitoraggio di Azure che è possibile creare:

  • Gli avvisi delle metriche valutano le metriche delle risorse a intervalli regolari. Le metriche possono essere metriche della piattaforma, metriche personalizzate, log di Monitoraggio di Azure convertiti in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
  • Gli avvisi relativi ai log consentono agli utenti di utilizzare una query di Log Analytics per valutare i log delle risorse con una frequenza predefinita.
  • Gli avvisi dei log attività vengono attivati quando si verifica un nuovo evento del log attività che soddisfa le condizioni definite. Gli avvisi sull'integrità delle risorse e gli avvisi sull'integrità dei servizi sono avvisi di log delle attività che segnalano l'integrità dei servizi e delle risorse.

Alcuni servizi di Azure supportano anche avvisi di rilevamento intelligente, avvisi Prometheus o regole di avviso consigliate.

Per alcuni servizi, è possibile effettuare un monitoraggio su larga scala applicando la stessa regola di avviso delle metriche a più risorse dello stesso tipo presenti nella stessa area di Azure. Vengono inviate notifiche singole per ogni risorsa monitorata. Per i servizi e i cloud di Azure supportati, vedere Monitorare più risorse con una regola di avviso.

Per alcuni servizi di Azure, è possibile abilitare le regole di avviso predefinite consigliate.

Il sistema compila un elenco di regole di avviso consigliate in base a:

  • Conoscenza del provider di risorse di segnali e soglie importanti per il monitoraggio della risorsa.
  • Dati che indicano che avvisi scelgono in genere i clienti per questa risorsa.

Nota

Le regole di avviso consigliate sono disponibili per:

  • Macchine virtuali
  • Risorse del servizio Azure Kubernetes
  • Aree di lavoro Log Analytics

Avvisi basati sulle metriche Prometheus

Quando si abilita la raccolta di metriche prometheus per il cluster, è possibile scaricare una raccolta di regole di avviso prometheus consigliate. Questo download include le regole seguenti:

Livello Avvisi
Livello cluster KubeCPUQuotaOvercommit
KubeMemoryQuotaOvercommit
KubeContainerOOMKilledCount
KubeClientErrors
KubePersistentVolumeFillingUp
KubePersistentVolumeInodesFillingUp
KubePersistentVolumeErrors
KubeContainerWaiting
KubeDaemonSetNotScheduled
KubeDaemonSetMisScheduled
KubeQuotaAlmostFull
Livello nodo KubeNodeUnreachable
KubeNodeReadinessFlapping
Livello pod KubePVUsageHigh
KubeDeploymentReplicasMismatch
KubeStatefulSetReplicasMismatch
KubeHpaReplicasMismatch
KubeHpaMaxedOut
KubePodCrashLooping
KubeJobStale
KubePodContainerRestart
KubePodReadyStateLow
KubePodFailedState
KubePodNotReadyByController
KubeStatefulSetGenerationMismatch
KubeJobFailed
KubeContainerAverageCPUHigh
KubeContainerAverageMemoryHigh
KubeletPodStartUpLatencyHigh

Vedere Come creare avvisi di log da Container Insights e Come eseguire query sui log da Container Insights. Gli avvisi del log possono misurare due aspetti diversi, che possono essere usati per monitorare in scenari diversi:

  • Conteggio risultati: conta il numero di righe restituite dalla query e può essere usato per lavorare con eventi quali registri eventi di Windows, Syslog ed eccezioni dell'applicazione.
  • Calcolo di un valore: esegue un calcolo basato su una colonna numerica e può essere usato per includere un numero qualsiasi di risorse. Un esempio è la percentuale di CPU.

A seconda dello scenario di avviso richiesto, è necessario creare query di log confrontando un valore DateTime con l'ora corrente usando l'operatore now e tornando indietro di un'ora. Per informazioni su come creare avvisi basati su log, vedere Creare avvisi di log da Informazioni dettagliate sui contenitori.

Regole di avviso del servizio Azure Kubernetes

Nella tabella seguente sono elencate alcune regole di avviso suggerite per il servizio Azure Kubernetes. Questi avvisi sono solo esempi. È possibile impostare avvisi per qualsiasi voce di metrica, voce di log o log attività elencata nel riferimento ai dati di monitoraggio servizio Azure Kubernetes.

Condizione Descrizione
Percentuale di utilizzo CPU > 95 Viene generato quando l'utilizzo medio della CPU in tutti i nodi supera la soglia.
Percentuale working set di memoria > 100 Viene generato quando il working set medio in tutti i nodi supera la soglia.

Elementi consigliati di Advisor

Per alcuni servizi, se si verificano condizioni critiche o modifiche imminenti durante le operazioni sulle risorse, viene visualizzato un avviso nella pagina Panoramica del servizio nel portale. È possibile trovare altre informazioni e correzioni consigliate per l'avviso in Consigli di Advisor in Monitoraggio nel menu a sinistra. Durante il normale funzionamento non viene visualizzato nessun consiglio di Advisor.

Per altre informazioni su Azure Advisor, vedere Informazioni generali su Azure Advisor.

Nota

Se si crea o si esegue un'applicazione che viene eseguita nel servizio, Application Insights del Monitoraggio di Azure potrebbe offrire più tipi di avvisi.

Osservabilità della rete

L'osservabilità della rete è una parte importante della gestione di un cluster Kubernetes integro ed efficiente. Raccogliendo e analizzando i dati sul traffico di rete, è possibile ottenere informazioni dettagliate sul funzionamento del cluster e identificare potenziali problemi prima di causare interruzioni o riduzione delle prestazioni.

Quando il componente aggiuntivo Network Observability è abilitato, raccoglie e converte metriche utili in formato Prometheus, che può essere visualizzato in Grafana. Se abilitata, le metriche raccolte vengono inserite automaticamente nel servizio gestito di Monitoraggio di Azure per Prometheus. Un dashboard di Grafana è disponibile nel repository del dashboard pubblico di Grafana per visualizzare le metriche di osservabilità di rete raccolte da Prometheus. Per altre informazioni, vedere Configurazione di Network Observability per istruzioni dettagliate.