Práticas recomendadas de monitoramento proativo para o Serviço Kubernetes do Azure (AKS)
Este artigo aborda as práticas recomendadas para monitoramento proativo no Serviço Kubernetes do Azure (AKS) e fornece uma lista abrangente dos principais sinais que o AKS recomenda para você monitorar.
O monitoramento proativo de seus clusters AKS é crucial para reduzir o tempo de inatividade e economizar interrupções de negócios para seus aplicativos. Esse processo envolve a identificação e o monitoramento de indicadores-chave de comportamento anormal em seu cluster que podem levar a grandes problemas ou tempo de inatividade.
Visão geral de monitoramento e alertas
O monitoramento no AKS envolve o uso de métricas, logs e eventos para garantir a integridade e o desempenho do cluster. Os cenários comuns a serem monitorados incluem o desempenho do nó, o status do pod e a utilização geral de recursos no cluster. Os logs fornecem informações sobre eventos do sistema e operações e atividades de cluster. Para obter mais informações sobre os métodos e sinais que o AKS fornece para monitoramento, consulte Monitorar o Serviço Kubernetes do Azure (AKS).
A melhor maneira de monitorar proativamente seu cluster é configurar alertas do Azure Monitor. Os alertas atuam como medidas proativas para notificá-lo de possíveis problemas ou anomalias antes que eles se transformem em problemas críticos. Ao definir limites para métricas e logs importantes, você recebe alertas imediatos quando esses sinais excedem os limites predefinidos, indicando possíveis problemas, como esgotamento de recursos ou falhas de aplicativos. É altamente recomendável definir objetivos de nível de serviço (SLOs) para seu aplicativo para medir o desempenho e a confiabilidade de seu serviço. A configuração de alertas sobre os principais sinais para seus SLOs permite que você detete rapidamente qualquer degradação da qualidade de serviço do seu aplicativo que seus clientes recebem. No geral, a definição de alertas oportunos permite que você investigue e corrija problemas rapidamente, minimizando o tempo de inatividade e garantindo alta disponibilidade de aplicativos em execução em seu cluster AKS.
Como configurar alertas em tipos de métricas específicos
Tipo de métrica | Onde encontrar essas métricas | Como configurar alertas |
---|---|---|
Métrica da plataforma AKS | Exiba métricas da plataforma por meio da folha Métricas no portal do Azure. | Você pode criar, atualizar e excluir alertas de métricas por meio do portal do Azure. Para obter mais informações, consulte Criar um alerta de métrica para um recurso do Azure. |
Azure Managed Prometheus Metric | Para acessar as métricas do Prometheus, você precisa habilitar o Managed Prometheus. Para obter detalhes sobre como habilitar e exibir métricas Prometheus, consulte Azure Monitor e Prometheus. | Para obter orientação sobre como configurar alertas Prometheus, consulte Serviço gerenciado do Azure Monitor para grupos de regras Prometheus. |
Registos de Atividade do Azure | Exiba logs de atividades por meio do portal do Azure. Para obter mais informações, consulte Logs de atividade do Azure para AKS. | Configure alertas em logs de atividade por meio do portal do Azure. Para obter mais informações, consulte Alertas de log de atividades. |
Métrica do Conjunto de Escala da Máquina Virtual do Azure | Exiba as métricas do Conjunto de Escala de Máquina Virtual por meio do portal do Azure. | 1. Para localizar a instância do Conjunto de Escala de Máquina Virtual associada ao seu pool de nós, navegue até a folha Propriedades de Configurações > do cluster AKS no portal do Azure. 2. Selecione seu grupo de recursos de infraestrutura para exibir os recursos de infraestrutura associados ao cluster. 3. Selecione a instância do Conjunto de Escala de Máquina Virtual que corresponda ao nome do pool de nós para o qual você está criando alertas. 4. Navegue até a folha Alertas para criar seu alerta métrico. |
Métrica do balanceador de carga | Exiba as métricas do balanceador de carga por meio da página Balanceador de Carga no portal do Azure. | 1. Para localizar a instância do balanceador de carga associada ao seu pool de nós, navegue até a folha Propriedades de Configurações > do cluster AKS no portal do Azure. 2. Selecione seu grupo de recursos de infraestrutura para exibir os recursos de infraestrutura associados ao cluster. 3. Selecione a instância do balanceador de carga para abrir a página do portal do Azure para o balanceador de carga. 4. Navegue até a página Alertas para criar seu alerta de métrica do balanceador de carga. |
Logs e eventos | Para alertar sobre logs e eventos, você precisa habilitar o Container Insights. Para obter mais informações, consulte Logs de recursos do Azure Monitor. | Para obter orientação sobre como criar alertas em logs e eventos, consulte Criar alertas de pesquisa de log a partir de informações de contêiner. |
Sinais críticos para configurar alertas
Para obter uma cobertura holística do seu ambiente AKS, você precisa configurar alertas nos três componentes principais do seu cluster:
- Infraestrutura de cluster: alertas direcionados à infraestrutura subjacente do cluster, como nós, discos e rede.
- Integridade do aplicativo: Alertas para monitorar a integridade de seus pods e aplicativos. Alguns indicadores comuns de aplicações não saudáveis incluem mortes sem memória (OOMKills) de seus pods, pods em estado não pronto, etc.
- Plano de controle do Kubernetes: Alertas no plano de controle AKS para monitorar a integridade e o desempenho do servidor API, etcd e outros componentes.
As seções a seguir contêm os principais sinais que recomendamos que todos os clientes AKS monitorem de perto. A equipa do AKS está a trabalhar para adicionar todos os sinais críticos à funcionalidade de Alertas Recomendados existente, que lhe permite ativar facilmente alertas para todos os sinais com uma experiência de um clique. Os alertas de métricas Prometheus estão disponíveis no Public Preview hoje, e estima-se que os alertas restantes estejam disponíveis no início de 2025. Por enquanto, você pode configurar manualmente alertas sobre os sinais críticos.
Alertas de infraestrutura de cluster
Cenário de alerta | Origem | Sinal | Limiar recomendado |
---|---|---|---|
O cluster está em um estado de falha | Registos de Atividade do Azure | Criar ou atualizar cluster gerenciado | O status do log é Falha, indicando que a atualização do cluster ou a ação de criação falhou. |
O pool de nós está em um estado de falha | Registos de Atividade do Azure | Criar ou atualizar pool de agentes | O status do log é Falha, indicando que o pool de nós está em um estado de Falha devido a uma operação de Criação, Leitura, Atualização ou Exclusão (CRUD) com falha. |
Uso da largura de banda do disco do sistema operacional de nó alto | Métrica do conjunto de escala da máquina virtual | Percentagem da Largura de Banda do SO Consumida | A utilização da largura de banda do disco do sistema operacional do nó está acima de 95%. |
Uso de IOPS de disco de SO de nó alto | Métrica do conjunto de escala da máquina virtual | Percentagem do IOPS de Disco do SO Consumido | A utilização de IOPS de disco do sistema operacional do nó está acima de 95%. |
Uso de espaço em disco do SO de nó alto | Métrica da plataforma AKS | Percentagem de Disco Utilizado | A utilização percentual de espaço em disco do sistema operacional do nó está acima de 90%. |
Uso de CPU de nó alto | Métrica da plataforma AKS | Percentagem de Utilização da CPU | O uso da CPU do nó é maior que 90%. |
Uso de memória de nó alto | Métrica da plataforma AKS | Porcentagem do conjunto de trabalho de memória | O uso de memória do nó é maior que 90%. |
O nó está no estado NotReady | Métrica da plataforma AKS | Status para várias condições de nó | O nó está no estado NotReady por >20 minutos. |
Esgotamento das portas SNAT | Métrica do balanceador de carga (LB) | Contagem de Ligações SNAT | Filtrar para o estado da conexão = "Falha" |
Alertas de integridade do aplicativo
Cenário de alerta | Origem | Sinal | Limiar recomendado |
---|---|---|---|
Alto número de vagens insalubres | Azure Managed Prometheus Metric | Nome do alerta: KubePodReadyStateLow | Disponível como um alerta recomendado pelo AKS. Para habilitar esse alerta, consulte Regras de alerta recomendadas para clusters Kubernetes. |
Um ou mais pods estão reiniciando | Azure Managed Prometheus Metric | Nome do alerta: KubePodContainerRestart | Disponível como um alerta recomendado pelo AKS. Para habilitar esse alerta, consulte Regras de alerta recomendadas para clusters Kubernetes. |
Um ou mais pods estão no status CrashLoop | Azure Managed Prometheus Metric | Nome do alerta: KubePodCrashLooping | Disponível como um alerta recomendado pelo AKS. Para habilitar esse alerta, consulte Regras de alerta recomendadas para clusters Kubernetes. |
Alertas do plano de controle do Kubernetes
Cenário de alerta | Origem | Sinal | Limiar recomendado |
---|---|---|---|
O ETCD está cheio | Azure Managed Prometheus Metric | etcd_mvcc_db_total_size_in_use_in_bytes | A utilização do ETCD é superior a 2 GB |
Servidor de API muitos erros de solicitações | Azure Managed Prometheus Metric | apiserver_request_total | Filtro para o código de erro 429 |
Erros de Webhook e túnel do Servidor de API | Azure Managed Prometheus Metric | apiserver_request_total | Filtrar os códigos de erro 500 e 503 |
Próximos passos
Para obter mais informações sobre o monitoramento no AKS, consulte os seguintes artigos:
Azure Kubernetes Service