Blog
Domine a plataforma e otimize seus gastos!
Implementando observabilidade em contêineres com Azure Monitor e AKS

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:
- O usuário acessa a aplicação no AKS.
- O Ingress Controller direciona o tráfego para os pods.
- O AKS gera logs e métricas sobre o comportamento dos contêineres.
- O Azure Monitor coleta esses dados.
- Os logs são armazenados no Log Analytics Workspace.
- 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?
- Acesse o Azure Monitor → Workbooks.
- Escolha um modelo ou crie um do zero.
- Adicione gráficos, logs e métricas.
- 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
- Instale o SDK do Application Insights na aplicação.
- Configure a instrumentação automática no Azure Monitor.
- 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!