Procedure consigliate per il monitoraggio proattivo per servizio Azure Kubernetes (servizio Azure Kubernetes)
Questo articolo illustra le procedure consigliate per il monitoraggio proattivo su servizio Azure Kubernetes (servizio Azure Kubernetes) e fornisce un elenco completo dei segnali chiave che il servizio Azure Kubernetes consiglia di monitorare.
Il monitoraggio proattivo dei cluster del servizio Azure Kubernetes è fondamentale per ridurre i tempi di inattività e risparmiare interruzioni aziendali per le applicazioni. Questo processo implica l'identificazione e il monitoraggio degli indicatori chiave del comportamento anomalo nel cluster che potrebbero causare problemi o tempi di inattività gravi.
Panoramica del monitoraggio e degli avvisi
Il monitoraggio nel servizio Azure Kubernetes prevede l'uso di metriche, log ed eventi per garantire l'integrità e le prestazioni del cluster. Gli scenari comuni da monitorare includono prestazioni del nodo, stato del pod e utilizzo complessivo delle risorse nel cluster. I log forniscono informazioni dettagliate sugli eventi di sistema e sulle operazioni e sulle attività del cluster. Per altre informazioni sui metodi e i segnali forniti dal servizio Azure Kubernetes per il monitoraggio, vedere Monitorare servizio Azure Kubernetes (servizio Azure Kubernetes).
Il modo migliore per monitorare in modo proattivo il cluster consiste nel configurare gli avvisi di Monitoraggio di Azure. Gli avvisi fungono da misure proattive per notificare potenziali problemi o anomalie prima dell'escalation in problemi critici. Definendo le soglie per le metriche e i log chiave, si ricevono avvisi immediati quando questi segnali superano i limiti predefiniti, indicando potenziali problemi come l'esaurimento delle risorse o gli errori dell'applicazione. È consigliabile definire obiettivi a livello di servizio per l'applicazione per misurare le prestazioni e l'affidabilità del servizio. La configurazione degli avvisi sui segnali chiave per i contratti di servizio consente di rilevare rapidamente qualsiasi riduzione della qualità del servizio dell'applicazione ricevuta dai clienti. Nel complesso, l'impostazione di avvisi tempestivi consente di analizzare e correggere rapidamente i problemi, riducendo al minimo i tempi di inattività e garantendo la disponibilità elevata delle applicazioni in esecuzione nel cluster del servizio Azure Kubernetes.
Come configurare gli avvisi per tipi di metrica specifici
Tipo di metrica | Dove trovare queste metriche | Come configurare gli avvisi |
---|---|---|
Metrica della piattaforma del servizio Azure Kubernetes | Visualizzare le metriche della piattaforma tramite il pannello Metriche nel portale di Azure. | È possibile creare, aggiornare ed eliminare avvisi delle metriche tramite il portale di Azure. Per altre informazioni, vedere Creare un avviso di metrica per una risorsa di Azure. |
Metrica di Prometheus gestita di Azure | Per accedere alle metriche di Prometheus, è necessario abilitare Managed Prometheus. Per informazioni dettagliate su come abilitare e visualizzare le metriche di Prometheus, vedere Monitoraggio di Azure e Prometheus. | Per indicazioni sulla configurazione degli avvisi di Prometheus, vedere Servizio gestito di Monitoraggio di Azure per i gruppi di regole Prometheus. |
Log attività di Azure | Visualizzare i log attività tramite il portale di Azure. Per altre informazioni, vedere Log attività di Azure per il servizio Azure Kubernetes. | Configurare gli avvisi nei log attività tramite il portale di Azure. Per altre informazioni, vedere la Avvisi del log attività. |
Metrica del set di scalabilità di macchine virtuali di Azure | Visualizzare le metriche del set di scalabilità di macchine virtuali tramite il portale di Azure. | 1. Per trovare l'istanza del set di scalabilità di macchine virtuali associata al pool di nodi, passare al pannello Proprietà impostazioni > per il cluster del servizio Azure Kubernetes nel portale di Azure. 2. Selezionare il gruppo di risorse dell'infrastruttura per visualizzare le risorse dell'infrastruttura associate al cluster. 3. Selezionare l'istanza del set di scalabilità di macchine virtuali corrispondente al nome del pool di nodi per cui si stanno creando avvisi. 4. Passare al pannello Avvisi per creare l'avviso della metrica. |
Metrica di Load Balancer | Visualizzare le metriche del servizio di bilanciamento del carico tramite la pagina Load Balancer in portale di Azure. | 1. Per trovare l'istanza del servizio di bilanciamento del carico associata al pool di nodi, passare al pannello Proprietà impostazioni > per il cluster del servizio Azure Kubernetes nel portale di Azure. 2. Selezionare il gruppo di risorse dell'infrastruttura per visualizzare le risorse dell'infrastruttura associate al cluster. 3. Selezionare l'istanza del servizio di bilanciamento del carico per visualizzare la pagina portale di Azure per il servizio di bilanciamento del carico. 4. Passare alla pagina Avvisi per creare l'avviso della metrica del servizio di bilanciamento del carico. |
Log ed eventi | Per avvisare i log e gli eventi, è necessario abilitare Informazioni dettagliate contenitore. Per altre informazioni, vedere Log delle risorse di Monitoraggio di Azure. | Per indicazioni sulla creazione di avvisi su log ed eventi, vedere Creare avvisi di ricerca log da Informazioni dettagliate sui contenitori. |
Segnali critici per la configurazione degli avvisi
Per ottenere una copertura olistica dell'ambiente del servizio Azure Kubernetes, è necessario configurare gli avvisi sui tre componenti principali del cluster:
- Infrastruttura del cluster: avvisi destinati all'infrastruttura sottostante del cluster, ad esempio nodi, dischi e rete.
- Integrità dell'applicazione: avvisi per il monitoraggio dell'integrità dei pod e delle applicazioni. Alcuni indicatori comuni di applicazioni non integre includono le terminazioni di memoria insufficiente (OOMKills) dei pod, i pod in stato non pronto e così via.
- Piano di controllo Kubernetes: avvisi sul piano di controllo del servizio Azure Kubernetes per monitorare l'integrità e le prestazioni del server API, etcd e altri componenti.
Le sezioni seguenti contengono i segnali chiave che consigliamo a tutti i clienti del servizio Azure Kubernetes di monitorare attentamente. Il team del servizio Azure Kubernetes sta lavorando per aggiungere tutti i segnali critici alla funzionalità avvisi consigliati esistenti, che consente di abilitare facilmente gli avvisi per tutti i segnali con un'esperienza con un solo clic. Gli avvisi delle metriche prometheus sono attualmente disponibili in anteprima pubblica e gli avvisi rimanenti sono disponibili all'inizio del 2025. Per il momento, è possibile configurare manualmente gli avvisi sui segnali critici.
Avvisi dell'infrastruttura del cluster
Scenario di avviso | Origine | Segnale | Soglia consigliata |
---|---|---|---|
Il cluster si trova in uno stato di errore | Log attività di Azure | Crea o aggiorna cluster gestito | Lo stato del log è Non riuscito, a indicare che l'aggiornamento del cluster o l'azione di creazione non è riuscita. |
Il pool di nodi è in uno stato di errore | Log attività di Azure | Creare o aggiornare il pool di agenti | Lo stato del log è Non riuscito, a indicare che il pool di nodi è in stato Non riuscito a causa di un'operazione di creazione, lettura, aggiornamento o eliminazione (CRUD) non riuscita. |
Utilizzo elevato della larghezza di banda del disco del sistema operativo del nodo | Metrica del set di scalabilità di macchine virtuali | Percentuale di utilizzo larghezza di banda del disco del sistema operativo | L'utilizzo della larghezza di banda del disco del sistema operativo del nodo è superiore al 95%. |
Utilizzo elevato delle operazioni di I/O al secondo del disco del sistema operativo a nodo elevato | Metrica del set di scalabilità di macchine virtuali | Percentuale di utilizzo operazioni di I/O al secondo del disco del sistema operativo | L'utilizzo delle operazioni di I/O al secondo del disco del sistema operativo del nodo è superiore al 95%. |
Utilizzo elevato dello spazio su disco del sistema operativo del nodo | Metrica della piattaforma del servizio Azure Kubernetes | Percentuale di utilizzo disco | La percentuale di utilizzo dello spazio su disco del sistema operativo del nodo è superiore al 90%. |
Utilizzo elevato della CPU del nodo | Metrica della piattaforma del servizio Azure Kubernetes | CPU Usage Percentage (Percentuale di utilizzo CPU) | L'utilizzo della CPU del nodo è maggiore del 90%. |
Utilizzo elevato della memoria del nodo | Metrica della piattaforma del servizio Azure Kubernetes | Percentuale del working set di memoria | L'utilizzo della memoria del nodo è maggiore del 90%. |
Node è in stato NotReady | Metrica della piattaforma del servizio Azure Kubernetes | Stato per varie condizioni del nodo | Il nodo è in stato NotReady per >20 minuti. |
Esaurimento delle porte SNAT | Metrica di Load Balancer (LB) | Numero di connessioni SNAT | Filtro per lo stato della connessione = "Non riuscito" |
Avvisi di integrità delle applicazioni
Scenario di avviso | Origine | Segnale | Soglia consigliata |
---|---|---|---|
Numero elevato di pod non integri | Metrica di Prometheus gestita di Azure | Nome avviso: KubePodReadyStateLow | Disponibile come avviso consigliato per il servizio Azure Kubernetes. Per abilitare questo avviso, vedere Regole di avviso consigliate per i cluster Kubernetes. |
Uno o più pod vengono riavviati | Metrica di Prometheus gestita di Azure | Nome avviso: KubePodContainerRestart | Disponibile come avviso consigliato per il servizio Azure Kubernetes. Per abilitare questo avviso, vedere Regole di avviso consigliate per i cluster Kubernetes. |
Uno o più pod si trovano nello stato CrashLoop | Metrica di Prometheus gestita di Azure | Nome avviso: KubePodCrashLooping | Disponibile come avviso consigliato per il servizio Azure Kubernetes. Per abilitare questo avviso, vedere Regole di avviso consigliate per i cluster Kubernetes. |
Avvisi del piano di controllo Kubernetes
Scenario di avviso | Origine | Segnale | Soglia consigliata |
---|---|---|---|
ETCD è riempito | Metrica di Prometheus gestita di Azure | etcd_mvcc_db_total_size_in_use_in_bytes | L'utilizzo di ETCD è maggiore di 2 GB |
Errori troppi richieste del server API | Metrica di Prometheus gestita di Azure | apiserver_request_total | Filtro per il codice di errore 429 |
Errori del webhook e del tunnel del server API | Metrica di Prometheus gestita di Azure | apiserver_request_total | Filtrare i codici di errore 500 e 503 |
Passaggi successivi
Per altre informazioni sul monitoraggio nel servizio Azure Kubernetes, vedere gli articoli seguenti:
Azure Kubernetes Service