Regole di avviso consigliate per i cluster Kubernetes
Gli avvisi in Monitoraggio di Azure identificano in modo proattivo i problemi relativi all'integrità e alle prestazioni delle risorse di Azure. Questo articolo descrive come abilitare e modificare un set di regole di avviso delle metriche consigliate predefinite per i cluster Kubernetes.
Abilitare le regole di avviso consigliate
Usare uno dei metodi seguenti per abilitare le regole di avviso consigliate per il cluster. È possibile abilitare le regole di avviso per le metriche di Prometheus e della piattaforma per lo stesso cluster.
Nota
I modelli Azure Resource Manager (ARM) sono l'unico metodo supportato per abilitare gli avvisi consigliati nei cluster Kubernetes abilitati per ARC.
Usando il portale di Azure, il gruppo di regole Prometheus verrà creato nella stessa area del cluster.
Dal menu Avvisi per il cluster, selezionare Configura consigli.
Le regole di avviso di Prometheus e della piattaforma disponibili vengono visualizzate con le regole Prometheus organizzate per pod, cluster e livello di nodo. Attivare o disattivare un gruppo di regole Prometheus per abilitare tale set di regole. Espandere il gruppo per visualizzare le singole regole. È possibile lasciare le impostazioni predefinite o disabilitare regole singole e modificarne il nome e la gravità.
Attivare o disattivare una regola delle metriche della piattaforma per abilitare tale regola. È possibile espandere la regola per modificarne i dettagli, ad esempio il nome, la gravità e la soglia.
Selezionare uno o più metodi di notifica per creare un nuovo gruppo di azioni, oppure selezionare un gruppo di azioni esistente con i dettagli della notifica per questo set di regole di avviso.
Fare clic su Salva per salvare il gruppo di regole.
Modificare le regole di avviso consigliate
Dopo aver creato il gruppo di regole, non è possibile usare la stessa pagina nel portale per modificare le regole. Per le metriche di Prometheus, è necessario modificare il gruppo di regole per modificare le regole in esso contenute, inclusa l'abilitazione di tutte le regole che non sono già abilitate. Per le metriche della piattaforma, è possibile modificare ogni regola di avviso.
Dal menu Avvisi per il cluster, selezionare Configura consigli. Tutte le regole o i gruppi di regole già creati verranno etichettati come Già creati.
Espandere la regola o il gruppo di regole. Fare clic su Visualizza gruppo di regole per Prometheus e Visualizza regola di avviso per le metriche della piattaforma.
Per i gruppi di regole Prometheus:
selezionare Regole per visualizzare le regole di avviso nel gruppo.
Fare clic sull'icona Modifica accanto a una regola che si desidera modificare. Usare le indicazioni riportate in Creare una regola di avviso per modificare la regola.
Al termine della modifica delle regole nel gruppo, fare clic su Salva per salvare il gruppo di regole.
Per le metriche della piattaforma:
fare clic su Modifica per aprire i dettagli per la regola di avviso. Usare le indicazioni riportate in Creare una regola di avviso per modificare la regola.
Disabilitare il gruppo di regole di avviso
Disabilitare il gruppo di regole per interrompere la ricezione di avvisi dalle regole.
Visualizzare il gruppo di regole di avviso Prometheus o la regola di avviso della metrica della piattaforma come descritto in Modificare le regole di avviso consigliate.
Dal menu Panoramica, selezionare Disabilita.
Dettagli delle regole di avviso consigliate
Le tabelle seguenti elencano i dettagli di ogni regola di avviso consigliata. Il codice sorgente per ognuno di essi è disponibile in GitHub insieme alle guide alla risoluzione dei problemi della community di Prometheus.
Regole di avviso della community di Prometheus
Avvisi a livello di cluster
Nome avviso | Descrizione | Soglia predefinita | Intervallo di tempo (minuti) |
---|---|---|---|
KubeCPUQuotaOvercommit | La quota di risorse CPU allocata agli spazi dei nomi supera le risorse della CPU disponibili nei nodi del cluster di oltre il 50% per gli ultimi 5 minuti. | >1.5 | 5 |
KubeMemoryQuotaOvercommit | La quota di risorse di memoria allocata agli spazi dei nomi supera le risorse della memoria disponibili nei nodi del cluster di oltre il 50% per gli ultimi 5 minuti. | >1.5 | 5 |
KubeContainerOOMKilledCount | Uno o più contenitori all'interno dei pod sono stati eliminati a causa di eventi di memoria insufficiente (OOM) per gli ultimi 5 minuti. | >0 | 5 |
KubeClientErrors | La frequenza degli errori client (codici di stato HTTP a partire da 5xx) nelle richieste API Kubernetes supera l’1% della frequenza totale delle richieste API per gli ultimi 15 minuti. | >0.01 | 15 |
KubePersistentVolumeFillingUp | Il volume persistente si sta riempiendo ed è previsto che si esaurisca lo spazio disponibile valutato in base al rapporto di spazio disponibile, allo spazio usato e alla tendenza lineare lineare prevista dello spazio disponibile nelle ultime 6 ore. Queste condizioni vengono valutate negli ultimi 60 minuti. | N/D | 60 |
KubePersistentVolumeInodesFillingUp | Per gli ultimi 15 minuti sono disponibili meno del 3% degli inodi all'interno di un volume permanente. | <0.03 | 15 |
KubePersistentVolumeErrors | Uno o più volumi persistenti si trovano in una fase non riuscita o in sospeso per gli ultimi 5 minuti. | >0 | 5 |
KubeContainerWaiting | Uno o più contenitori all'interno dei pod Kubernetes hanno uno stato di attesa per gli ultimi 60 minuti. | >0 | 60 |
KubeDaemonSetNotScheduled | Uno o più pod non sono pianificati in alcun nodo per gli ultimi 15 minuti. | >0 | 15 |
KubeDaemonSetMisScheduled | Uno o più pod non vengono pianificati all'interno del cluster per gli ultimi 15 minuti. | >0 | 15 |
KubeQuotaAlmostFull | L'utilizzo delle quote di risorse Kubernetes è compreso tra il 90% e il 100% dei limiti rigidi per gli ultimi 15 minuti. | >0.9 <1 | 15 |
Avvisi a livello di nodo
Nome avviso | Descrizione | Soglia predefinita | Intervallo di tempo (minuti) |
---|---|---|---|
KubeNodeUnreachable | Un nodo non è raggiungibile per gli ultimi 15 minuti. | 1 | 15 |
KubeNodeReadinessFlapping | Lo stato di conformità di un nodo è cambiato più di 2 volte per gli ultimi 15 minuti. | 2 | 15 |
Avvisi a livello di pod
Nome avviso | Descrizione | Soglia predefinita | Intervallo di tempo (minuti) |
---|---|---|---|
KubePVUsageHigh | L'utilizzo medio dei volumi persistenti (PV) nel pod supera l'80% per gli ultimi 15 minuti. | >0.8 | 15 |
KubeDeploymentReplicasMismatch | Non vi è corrispondenza tra il numero desiderato di repliche e il numero di repliche disponibili per gli ultimi 10 minuti. | N/D | 10 |
KubeStatefulSetReplicasMismatch | Il numero di repliche pronte nell'oggetto StatefulSet non corrisponde al numero totale di repliche nell'oggetto StatefulSet per gli ultimi 15 minuti. | N/D | 15 |
KubeHpaReplicasMismatch | La scalabilità automatica orizzontale dei pod nel cluster non corrisponde al numero desiderato di repliche per gli ultimi 15 minuti. | N/D | 15 |
KubeHpaMaxedOut | L'utilità di scalabilità automatica orizzontale dei pod nel cluster è stata eseguita con il massimo numero di repliche per gli ultimi 15 minuti. | N/D | 15 |
KubePodCrashLooping | Uno o più pod si trovano in una condizione CrashLoopBackOff, in cui il pod si arresta continuamente in modo anomalo dopo l'avvio e non riesce a eseguire correttamente il ripristino per gli ultimi 15 minuti. | >=1 | 15 |
KubeJobStale | Almeno un'istanza del processo non è stata completata correttamente per le ultime 6 ore. | >0 | 360 |
KubePodContainerRestart | Uno o più contenitori all'interno dei pod nel cluster Kubernetes sono stati riavviati almeno una volta nell'ultima ora. | >0 | 15 |
KubePodReadyStateLow | La percentuale di pod in uno stato pronto scende al di sotto dell'80% per qualsiasi distribuzione o daemonset nel cluster Kubernetes per gli ultimi 5 minuti. | <0.8 | 5 |
KubePodFailedState | Uno o più pod si trovano in uno stato di errore per gli ultimi 5 minuti. | >0 | 5 |
KubePodNotReadyByController | Uno o più pod non sono in uno stato pronto (ad esempio, nella fase "In sospeso" o "Sconosciuto") per gli ultimi 15 minuti. | >0 | 15 |
KubeStatefulSetGenerationMismatch | La generazione di un oggetto Kubernetes StatefulSet osservata non corrisponde alla generazione dei metadati per gli ultimi 15 minuti. | N/D | 15 |
KubeJobFailed | Uno o più processi Kubernetes hanno avuto esito negativo negli ultimi 15 minuti. | >0 | 15 |
KubeContainerAverageCPUHigh | L'utilizzo medio della CPU per contenitore supera il 95% per gli ultimi 5 minuti. | >0.95 | 5 |
KubeContainerAverageMemoryHigh | L'utilizzo medio della memoria per contenitore supera il 95% per gli ultimi 5 minuti. | >0.95 | 10 |
KubeletPodStartUpLatencyHigh | Il 99° percentile della latenza di avvio del pod supera i 60 secondi per gli ultimi 10 minuti. | >60 | 10 |
Regole di avviso per le metriche della piattaforma
Nome avviso | Descrizione | Soglia predefinita | Intervallo di tempo (minuti) |
---|---|---|---|
La percentuale di CPU del nodo è maggiore del 95% | La percentuale di CPU del nodo è maggiore del 95% per gli ultimi 5 minuti. | 95 | 5 |
La percentuale del working set di memoria del nodo è maggiore del 100% | La percentuale del working set di memoria del nodo è maggiore del 100% per gli ultimi 5 minuti. | 100 | 5 |
Avvisi sulle metriche dei Dati analitici sui contenitori legacy (anteprima)
Le regole delle metriche in Informazioni dettagliate contenitore sono state ritirate il 31 maggio 2024. Queste regole erano in anteprima pubblica, ma erano state ritirate senza raggiungere la disponibilità generale perché sono ora disponibili i nuovi avvisi delle metriche consigliati descritti in questo articolo.
Se queste regole di avviso legacy sono già state abilitate, è necessario disabilitarle e abilitare la nuova esperienza.
Disabilitare le regole di avviso per le metriche
- Dal menu Dati analitici per il cluster, selezionare Avvisi consigliati (anteprima).
- Modificare lo stato per ogni regola di avviso impostando Disabilitata.
Mapping degli avvisi legacy
La tabella seguente esegue il mapping di tutti gli avvisi delle metriche di Dati analitici sui contenitori legacy negli avvisi delle metriche Prometheus consigliate equivalenti.
Avviso consigliato per la metrica personalizzata | Avviso consigliato delle metriche Prometheus/della piattaforma equivalenti | Condizione |
---|---|---|
Numero di processi completati | KubeJobStale (avvisi a livello di pod) | Almeno un'istanza del processo non è stata completata correttamente per le ultime 6 ore. |
% CPU del contenitore | KubeContainerAverageCPUHigh (avvisi a livello di pod) | L'utilizzo medio della CPU per contenitore supera il 95% per gli ultimi 5 minuti. |
% di utilizzo della memoria del working set del contenitore | KubeContainerAverageMemoryHigh (avvisi a livello di pod) | L'utilizzo medio della memoria per contenitore supera il 95% per gli ultimi 5 minuti. |
Conteggi di pod non riusciti | KubePodFailedState (avvisi a livello di pod) | Uno o più pod si trovano in uno stato di errore per gli ultimi 5 minuti. |
% CPU del nodo | La percentuale di CPU del nodo è maggiore del 95% (metrica della piattaforma) | La percentuale di CPU del nodo è maggiore del 95% per gli ultimi 5 minuti. |
% di utilizzo del disco per nodo | N/D | L'utilizzo medio del disco per un nodo è maggiore dell'80%. |
Stato Non pronto del nodo | KubeNodeUnreachable (avvisi a livello di nodo) | Un nodo non è raggiungibile per gli ultimi 15 minuti. |
% di utilizzo memoria del working set del nodo | La percentuale del working set di memoria del nodo è maggiore del 100% | La percentuale del working set di memoria del nodo è maggiore del 100% per gli ultimi 5 minuti. |
Contenitori terminati a causa di memoria insufficiente | KubeContainerOOMKilledCount (avvisi a livello di cluster) | Uno o più contenitori all'interno dei pod sono stati eliminati a causa di eventi di memoria insufficiente (OOM) per gli ultimi 5 minuti. |
% di utilizzo del volume permanente | KubePVUsageHigh (avvisi a livello di pod) | L'utilizzo medio dei volumi persistenti (PV) nel pod supera l'80% per gli ultimi 15 minuti. |
% pod pronti | KubePodReadyStateLow (avvisi a livello di pod) | La percentuale di pod in uno stato pronto scende al di sotto dell'80% per qualsiasi distribuzione o daemonset nel cluster Kubernetes per gli ultimi 5 minuti. |
Numero di contenitori in fase di riavvio | KubePodContainerRestart (avvisi a livello di pod) | Uno o più contenitori all'interno dei pod nel cluster Kubernetes sono stati riavviati almeno una volta nell'ultima ora. |
Passaggi successivi
- Informazioni sui diversi tipi di regole di avviso in Monitoraggio di Azure.
- Informazioni sui gruppi di regole nel servizio gestito di Monitoraggio di Azure per Prometheus.