Compartilhar via


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.

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.

  1. No menu Alertas do cluster, selecione Configurar recomendações.

    Captura de tela do cluster AKS mostrando o botão Configurar recomendações.

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

    Captura de ecrã da ativação da regra de alerta Prometheus.

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

    Captura de tela da ativação da regra de alerta de métrica da plataforma.

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

  5. Clique em Salvar para salvar o grupo de regras.

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.

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

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

    Captura de tela da opção de grupo de regras de exibição.

  3. Para grupos de regras de Prometeu:

    1. selecione Regras para exibir as regras de alerta no grupo.

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

      Captura de tela da opção para editar as regras de alerta do Prometheus.

    3. Quando terminar de editar regras no grupo, clique em Salvar para salvar o grupo de regras.

  4. Para métricas de plataforma:

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

      Captura de tela da opção para editar a regra de métrica da plataforma.

Desabilitar grupo de regras de alerta

Desative o grupo de regras para parar de receber alertas das regras nele contidas.

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

  2. No menu Visão geral, selecione Desativar.

    Captura de tela da opção para desabilitar um grupo de regras.

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

  1. No menu Insights do cluster, selecione Alertas recomendados (visualização).
  2. 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.

Próximas etapas