Blog

Domine a plataforma e otimize seus gastos!

Implementando observabilidade em contêineres com Azure Monitor e AKS

Implementando observabilidade em contêineres com Azure Monitor e AKS
February 27, 2025

Introdução

A adoção de contêineres e orquestradores como o Azure Kubernetes Service (AKS) trouxe maior escalabilidade e flexibilidade para aplicações. No entanto, garantir a observabilidade dessas cargas de trabalho é essencial para manter disponibilidade, desempenho e segurança.

O Azure Monitor oferece ferramentas poderosas para monitoramento e diagnóstico de contêineres no AKS, permitindo a coleta de logs, métricas e rastreamento distribuído. Neste artigo, exploramos como implementar observabilidade em contêineres com Azure Monitor e AKS.


O que é observabilidade em contêineres?

Observabilidade vai além do monitoramento tradicional. Ela se baseia em três pilares principais:

  • Métricas: indicadores de saúde e desempenho dos pods, nós e serviços no cluster AKS.
  • Logs: registro detalhado de eventos, falhas e comportamento das aplicações.
  • Tracing (rastreamento distribuído): análise de requisições em microsserviços para detectar latência e gargalos.

💡 Benefício: detectar problemas rapidamente, reduzindo o tempo de resposta para incidentes!

Arquitetura de observabilidade no AKS com Azure Monitor

Fluxo:

  1. O usuário acessa a aplicação no AKS.
  2. O Ingress Controller direciona o tráfego para os pods.
  3. O AKS gera logs e métricas sobre o comportamento dos contêineres.
  4. O Azure Monitor coleta esses dados.
  5. Os logs são armazenados no Log Analytics Workspace.
  6. Os dados são visualizados em dashboards e alertas do Azure Monitor.

Habilitando monitoramento no AKS

Para ativar a observabilidade no AKS, o Azure Monitor for Containers deve ser configurado.

Ativando Azure Monitor no AKS

Execute o comando abaixo no Azure CLI para habilitar o monitoramento:

az aks enable-addons -a monitoring --resource-group MeuGrupo --name MeuCluster

Isso instala automaticamente o Azure Monitor for Containers, permitindo a coleta de logs e métricas.

Criando um Log Analytics Workspace

O Log Analytics é essencial para armazenar logs e métricas.

az monitor log-analytics workspace create \
    --resource-group MeuGrupo \
    --workspace-name MeuWorkspace

Após isso, conecte o AKS ao Log Analytics para análise aprofundada.

Coletando logs e métricas no AKS

💡 Tipos de dados coletados:
- Métricas: uso de CPU, memória, latência de rede.
- Logs: eventos do Kubernetes, logs de pods, falhas.
- Tracing: análise detalhada de requisições entre microsserviços.

Consulta de logs via Kusto Query Language (KQL):

ContainerLog
| where TimeGenerated > ago(1h)
| where LogEntry contains "erro"
| project TimeGenerated, ContainerName, LogEntry

Isso retorna logs de erro dos contêineres nas últimas 1 hora.

Configurando alertas no Azure Monitor


Criando um alerta para alto uso de CPU

Configure um alerta quando um pod ultrapassar 80% de CPU:

az monitor metrics alert create \
  --name "AlertaCPU" \
  --resource-group MeuGrupo \
  --scopes MeuClusterID \
  --condition "avg ContainerCPUPercentage > 80"

Notificando a equipe pelo Azure Action Group

Para receber alertas via e-mail, SMS ou Teams, crie um Action Group:

az monitor action-group create \
  --resource-group MeuGrupo \
  --name MeuActionGroup \
  --short-name "AlertaAKS" \
  --email-receiver "EquipeDevOps" meuemail@empresa.com

Agora, sempre que um pod consumir mais de 80% de CPU, a equipe será notificada automaticamente!

Visualizando dados com Azure Monitor dashboards

Como criar um dashboard personalizado?

  1. Acesse o Azure Monitor → Workbooks.
  2. Escolha um modelo ou crie um do zero.
  3. Adicione gráficos, logs e métricas.
  4. Salve e compartilhe com a equipe.

💡 Dica: para visualizações mais avançadas, use o Grafana integrado ao Azure!

Tracing distribuído no AKS com Application Insights

Para rastrear requisições entre microsserviços, o Application Insights pode ser integrado ao AKS.

Passos para habilitar Application Insights

  1. Instale o SDK do Application Insights na aplicação.
  2. Configure a instrumentação automática no Azure Monitor.
  3. Ative o Distributed Tracing para visualizar chamadas entre serviços.

Exemplo de consulta no Application Insights (KQL):

requests
| where timestamp > ago(30m)
| summarize avg(duration) by name

Isso mostra o tempo médio de execução das requisições nos últimos 30 minutos.

Melhores práticas para observabilidade no AKS

  • Automatize alertas: defina alertas para consumo de CPU, memória e falhas.
  • Use logs para depuração: centralize logs no Log Analytics para análise rápida.
  • Implemente tracing: use Application Insights para rastrear chamadas entre microsserviços.
  • Crie dashboards: utilize Azure Monitor workbooks para visualizações personalizadas.
  • Monitore em tempo real: utilize Grafana no Azure para métricas ao vivo.

Conclusão

A observabilidade no AKS com Azure Monitor permite monitoramento proativo, detecção rápida de problemas e otimização do desempenho.

Principais benefícios:

  • Métricas detalhadas sobre uso de CPU, memória e rede.
  • Logs centralizados para diagnóstico rápido.
  • Tracing distribuído para análise de microsserviços.
  • Alertas automatizados para evitar downtime.

🔗 Referências oficiais:

Agora é sua vez! Implemente observabilidade no seu AKS e melhore a gestão dos seus contêineres!

Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.

Agendar a revisão gratuita do meu ambiente

Share this post

Inscreva-se para novas postagens

Inscreva-se