Regras de alerta recomendadas para clusters do Kubernetes
Alertas no Azure Monitor identificam proativamente problemas relacionados à integridade e ao desempenho de seus recursos do Azure. Este artigo descreve como habilitar e editar um conjunto de regras de alerta de métrica recomendadas que são predefinidas para seus clusters do Kubernetes.
Habilitar as regras de alerta recomendadas
Use um dos seguintes métodos para habilitar as regras de alerta recomendadas para o cluster. Você pode habilitar as regras de alerta de métrica do Prometheus e da plataforma para o mesmo cluster.
Observação
Os modelos do ARM são o único método com suporte para habilitar alertas recomendados em clusters do Kubernetes habilitados para Arc.
Usando o portal do Azure, o grupo de regras Prometheus será criado na mesma região que o cluster.
No menu Alertas do cluster, selecione Configurar recomendações.
As regras de alerta do Prometheus e da plataforma disponíveis são exibidas com as regras do Prometheus organizadas por nível de pod, cluster e nó. Alterne um grupo de regras de Prometheus para habilitar esse conjunto de regras. Expanda o grupo para ver as regras individuais. Você pode deixar os padrões ou desabilitar regras individuais e editar seu nome e gravidade.
Alterne uma regra de métrica de plataforma para habilitar essa regra. Você pode expandir a regra para modificar seus detalhes, como nome, gravidade e limite.
Selecione um ou mais métodos de notificação para criar um novo grupo de ações ou selecione um grupo de ações existente com os detalhes de notificação para esse conjunto de regras de alerta.
Clique em Salvar para salvar o grupo de regras.
Editar regras de alerta recomendadas
Depois que o grupo de regras tiver sido criado, você não poderá usar a mesma página no portal para editar as regras. Para métricas do Prometheus, você deve editar o grupo de regras para modificar todas as regras nele, incluindo habilitar todas as regras que ainda não estavam habilitadas. Para métricas de plataforma, você pode editar cada regra de alerta.
No menu Alertas do cluster, selecione Configurar recomendações. Todas as regras ou grupos de regras que já foram criados serão rotulados como Já criados.
Expanda a regra ou o grupo de regras. Clique em Exibir grupo de regras para Prometheus e Exibir regra de alerta para métricas de plataforma.
Para grupos de regras de Prometeu:
selecione Regras para exibir as regras de alerta no grupo.
Clique no ícone Editar ao lado de uma regra que você deseja modificar. Use a orientação em Criar uma regra de alerta para modificar a regra.
Quando terminar de editar regras no grupo, clique em Salvar para salvar o grupo de regras.
Para métricas de plataforma:
clique em Editar para abrir os detalhes da regra de alerta. Use a orientação em Criar uma regra de alerta para modificar a regra.
Desabilitar grupo de regras de alerta
Desative o grupo de regras para parar de receber alertas das regras nele contidas.
Exiba o grupo de regras de alerta Prometheus ou a regra de alerta de métrica de plataforma, conforme descrito em Editar regras de alerta recomendadas.
No menu Visão geral, selecione Desativar.
Detalhes da regra de alerta recomendada
As tabelas a seguir listam os detalhes de cada regra de alerta recomendada. O código-fonte de cada um está disponível no GitHub juntamente com guias de solução de problemas da comunidade Prometheus.
Regras de alerta da comunidade Prometheus
Alertas de nível de cluster
Nome do alerta | Descrição | Limite padrão | Período de tempo (minutos) |
---|---|---|---|
KubeCPUQuotaOvercommit | A cota de recursos da CPU alocada para namespaces excede os recursos de CPU disponíveis nos nós do cluster em mais de 50% nos últimos 5 minutos. | >1.5 | 5 |
KubeMemoryQuotaOvercommit | A cota de recursos de memória alocada para namespaces excede os recursos de memória disponíveis nos nós do cluster em mais de 50% nos últimos 5 minutos. | >1.5 | 5 |
KubeContainerOOMKilledCount | Um ou mais contêineres dentro de pods foram mortos devido a eventos de falta de memória (OOM) nos últimos 5 minutos. | >0 | 5 |
KubeClientErrors | A taxa de erros do cliente (códigos de status HTTP começando com 5xx) nas solicitações da API do Kubernetes excede 1% da taxa total de solicitação da API nos últimos 15 minutos. | >0.01 | 15 |
KubePersistentVolumeFillingUp | O volume persistente está enchendo e espera-se que fique sem espaço disponível avaliado na proporção de espaço disponível, espaço usado e tendência linear prevista de espaço disponível nas últimas 6 horas. Essas condições são avaliadas nos últimos 60 minutos. | N/D | 60 |
KubePersistentVolumeInodesFillingUp | Menos de 3% dos inodos dentro de um volume persistente estão disponíveis nos últimos 15 minutos. | <0.03 | 15 |
KubePersistentVolumeErrors | Um ou mais volumes persistentes estão em uma fase com falha ou pendente nos últimos 5 minutos. | >0 | 5 |
KubeContainerWaiting | Um ou mais contêineres dentro dos pods do Kubernetes estão em estado de espera pelos últimos 60 minutos. | >0 | 60 |
KubeDaemonSetNotScheduled | Um ou mais pods não estão programados em nenhum nó para os últimos 15 minutos. | >0 | 15 |
KubeDaemonSetMisScheduled | Um ou mais pods estão agendados incorretamente dentro do cluster para os últimos 15 minutos. | >0 | 15 |
KubeQuotaAlmostFull | A utilização de cotas de recursos do Kubernetes está entre 90% e 100% dos limites rígidos para os últimos 15 minutos. | >0.9 <1 | 15 |
Alertas de nível de nó
Nome do alerta | Descrição | Limite padrão | Período de tempo (minutos) |
---|---|---|---|
KubeNodeUnreachable | Um nó ficou inacessível nos últimos 15 minutos. | 1 | 15 |
KubeNodeReadinessFlapping | O status de prontidão de um nó foi alterado mais de 2 vezes nos últimos 15 minutos. | 2 | 15 |
Alertas de nível de pod
Nome do alerta | Descrição | Limite padrão | Período de tempo (minutos) |
---|---|---|---|
KubePVUsageHigh | O uso médio de Volumes Persistentes (PVs) no pod excede 80% nos últimos 15 minutos. | >0.8 | 15 |
KubeDeploymentReplicasMismatch | Há uma incompatibilidade entre o número desejado de réplicas e o número de réplicas disponíveis para os últimos 10 minutos. | N/D | 10 |
KubeStatefulSetReplicasMismatch | O número de réplicas prontas no StatefulSet não corresponde ao número total de réplicas no StatefulSet nos últimos 15 minutos. | N/D | 15 |
KubeHpaReplicasMismatch | O Autoscaler do Pod Horizontal no cluster não correspondeu ao número desejado de réplicas nos últimos 15 minutos. | N/D | 15 |
KubeHpaMaxedOut | O Horizontal Pod Autoscaler (HPA) no cluster tem sido executado no máximo de réplicas nos últimos 15 minutos. | N/D | 15 |
KubePodCrashLooping | Um ou mais pods estão em uma condição CrashLoopBackOff, onde o pod falha continuamente após a inicialização e não consegue se recuperar com êxito nos últimos 15 minutos. | >=1 | 15 |
KubeJobStale | Pelo menos uma instância de trabalho não foi concluída com êxito nas últimas 6 horas. | >0 | 360 |
KubePodContainerRestart | Um ou mais contêineres dentro de pods no cluster do Kubernetes foram reiniciados pelo menos uma vez na última hora. | >0 | 15 |
KubePodReadyStateLow | A porcentagem de pods em um estado pronto fica abaixo de 80% para qualquer implantação ou daemonset no cluster do Kubernetes nos últimos 5 minutos. | <0.8 | 5 |
KubePodFailedState | Um ou mais pods estão em um estado de falha nos últimos 5 minutos. | >0 | 5 |
KubePodNotReadyByController | Um ou mais pods não estão em um estado pronto (ou seja, na fase "Pendente" ou "Desconhecido") nos últimos 15 minutos. | >0 | 15 |
KubeStatefulSetGenerationMismatch | A geração observada de um StatefulSet do Kubernetes não corresponde à geração de metadados nos últimos 15 minutos. | N/D | 15 |
KubeJobFailed | Um ou mais trabalhos do Kubernetes falharam nos últimos 15 minutos. | >0 | 15 |
KubeContainerAverageCPUHigh | O uso médio da CPU por contêiner excede 95% nos últimos 5 minutos. | >0.95 | 5 |
KubeContainerAverageMemoryHigh | O uso médio de memória por contêiner excede 95% nos últimos 5 minutos. | >0.95 | 10 |
KubeletPodStartUpLatencyHigh | O percentil 99 da latência de inicialização do pod excede 60 segundos nos últimos 10 minutos. | >60 | 10 |
Regras de alerta de métrica de plataforma
Nome do alerta | Descrição | Limite padrão | Período de tempo (minutos) |
---|---|---|---|
A porcentagem de cpu do nó é maior que 95% | A porcentagem de CPU do nó é maior que 95% nos últimos 5 minutos. | 95 | 5 |
A porcentagem do conjunto de trabalho de memória do nó é maior que 100% | A porcentagem do conjunto de trabalho de memória do nó é maior que 100% nos últimos 5 minutos. | 100 | 5 |
Alertas de métrica de insights de contêiner herdado (visualização)
As regras de métrica nos Insights de Contêiner foram desativadas em 31 de maio de 2024. Essas regras estavam em visualização pública, mas foram desativadas sem atingir a disponibilidade geral, pois os novos alertas de métrica recomendados descritos neste artigo já estão disponíveis.
Se você já habilitou essas regras de alerta herdadas, desative-as e habilite a nova experiência.
Desabilitar regras de alerta de métrica
- No menu Insights do cluster, selecione Alertas recomendados (visualização).
- Altere o status de cada regra de alerta para Desabilitado.
Mapeamento de alerta herdado
A tabela a seguir mapeia cada um dos alertas de métrica de insights de contêiner herdados para seus alertas de métrica do Prometheus recomendados equivalentes.
Alerta recomendado pela métrica personalizada | Alerta recomendado pela métrica do Prometheus/Platform equivalente | Condição |
---|---|---|
Contagem de trabalhos concluídos | KubeJobStale (alertas de nível de pod) | Pelo menos uma instância de trabalho não foi concluída com êxito nas últimas 6 horas. |
CPU do contêiner | KubeContainerAverageCPUHigh (alertas de nível de pod) | O uso médio da CPU por contêiner excede 95% nos últimos 5 minutos. |
% de memória do conjunto de trabalho do contêiner | KubeContainerAverageMemoryHigh (alertas de nível de pod) | O uso médio de memória por contêiner excede 95% nos últimos 5 minutos. |
Contagens de pods com falha | KubePodFailedState (alertas de nível de pod) | Um ou mais pods estão em um estado de falha nos últimos 5 minutos. |
% da CPU do nó | O percentual de cpu do nó é maior que 95% (Métrica da plataforma) | A porcentagem de CPU do nó é maior que 95% nos últimos 5 minutos. |
% de Uso de Disco do Nó | N/D | O uso médio de disco para um nó é maior que 80%. |
Estado Não Pronto de nó | KubeNodeUnreachable (alertas no nível do nó) | Um nó ficou inacessível nos últimos 15 minutos. |
% de memória do conjunto de trabalho do nó | A porcentagem do conjunto de trabalho de memória do nó é maior que 100% | A porcentagem do conjunto de trabalho de memória do nó é maior que 100% nos últimos 5 minutos. |
Contêineres Encerrados por OOM | KubeContainerOOMKilledCount (alertas de nível de cluster) | Um ou mais contêineres dentro de pods foram mortos devido a eventos de falta de memória (OOM) nos últimos 5 minutos. |
Uso de Volume Persistente % | KubePVUsageHigh (alertas de nível de pod) | O uso médio de Volumes Persistentes (PVs) no pod excede 80% nos últimos 15 minutos. |
Percentual de pods prontos | KubePodReadyStateLow (alertas de nível de pod) | A porcentagem de pods em um estado pronto fica abaixo de 80% para qualquer implantação ou daemonset no cluster do Kubernetes nos últimos 5 minutos. |
Reiniciando contagem de contêineres | KubePodContainerRestart (alertas de nível de pod) | Um ou mais contêineres dentro de pods no cluster do Kubernetes foram reiniciados pelo menos uma vez na última hora. |