> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# Implementando observabilidade em contêineres com Azure Monitor e AKS
- URL: https://www.azurebrasil.cloud/blog/implementando-observabilidade-em-conteineres-com-azure-monitor-e-aks/
- Published: 2025-02-27T20:01:34.000Z
- Updated: 2025-02-28T11:49:28.000Z
- Author: Ricardo Martins

## **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**

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2025/02/image-4.png)

### **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:

```bash
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.

```bash
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**

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2025/02/image-5.png)

💡 **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)**:

```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**:

```bash
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**:

```bash
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**

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2025/02/image-6.png)

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

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2025/02/image-7.png)

**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)**:

```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**:

- [Azure Monitor para contêineres](https://learn.microsoft.com/pt-br/azure/azure-monitor/containers/kubernetes-monitoring-enable?tabs=cli&ref=azurebrasil.cloud)
- [Monitorament do AKS](https://learn.microsoft.com/pt-br/azure/aks/monitor-aks?tabs=cilium&ref=azurebrasil.cloud)
- [Application Insights](https://learn.microsoft.com/pt-br/azure/azure-monitor/app/kubernetes-codeless?ref=azurebrasil.cloud)

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