Aula #9 · ToolBoX

Monitoramento e
Observabilidade

Entenda a diferença entre monitorar e observar sistemas, os pilares, benefícios e as ferramentas que dominam o mercado de APM.

Meme: Monitoramento vs Observabilidade
Fundamentos
Monitoramento vs Observabilidade
Conforme o Google SRE define, são conceitos complementares — a observabilidade vai além do monitoramento tradicional.

📊 Monitoramento

Ferramenta ou solução técnica que permite às equipes observar e entender o estado de seus sistemas, baseada na coleta de métricas ou logs pré-definidos.

É saber o que está sendo observado. Inclui métricas pré-definidas como latência, taxas de erro e os 4 golden signals.

🔭 Observabilidade

Ferramenta ou solução técnica que permite às equipes depurar ativamente seu sistema, baseada na exploração de propriedades e padrões não definidos previamente.

Vai além, permitindo exploração e compreensão mais profunda — métricas desconhecidas, logs, traces e eventos.

Monitoramento vs Observabilidade — iceberg

Pilares
Os 3 Pilares da Observabilidade
Conhecidos como "The Three Pillars", estabelecidos na KubeCon 2019 — Métricas, Logs e Traces são a base de qualquer estratégia de observabilidade.
Three Pillars: Metrics, Logs, Traces
Metrics
Medidas numéricas para o desempenho de alto nível do sistema. Permitem retenção de dados, consulta simplificada e análise de tendências.
Logs
Registros descritivos do comportamento do sistema. Essenciais para depuração e segurança. Disponíveis em vários formatos como texto e JSON.
Traces
Capturam o fluxo de solicitações de ponta a ponta em sistemas distribuídos. Oferecem insights sobre desempenho e comportamento.

Por que importa
Benefícios da Observabilidade
🔍
Identificação Rápida de Problemas
Detecte e isole falhas antes que afetem usuários finais.
🏥
Compreensão do Estado de Saúde
Visão completa da saúde dos sistemas em tempo real.
Resolução Eficiente
Reduza o MTTR com diagnósticos baseados em dados concretos.
📈
Otimização de Desempenho
Identifique gargalos e otimize continuamente a performance.
🔔
Melhor Alertas
Alertas mais precisos e menos ruído nos seus dashboards.
🚀
Velocidade do Desenvolvedor
Times de dev ganham autonomia para diagnosticar problemas em produção.

Componentes
4 Componentes-chave da Observabilidade
Instrumentation
Processo de adicionar código às aplicações para coletar dados de telemetria — métricas, logs e traces.
Data Correlation
Correlaciona dados de múltiplas fontes para identificar padrões e causas raiz de incidentes.
Incident Response
Processo de resposta a incidentes usando alertas, runbooks e automação para restaurar serviços rapidamente.
AIOps
Uso de Inteligência Artificial para automatizar a análise de dados operacionais e a resolução proativa de incidentes.
Telemetria · ToolBoX

MELT & Golden Signals

Métricas, Eventos, Logs e Traces — a estrutura MELT e os 4 Golden Signals do Google SRE formam a base da observabilidade moderna.

Framework
MELT — Métricas, Eventos, Logs e Traces
A estrutura MELT oferece uma abordagem abrangente para observabilidade, fornecendo insights valiosos sobre a integridade, desempenho e comportamento do sistema. Telemetria refere-se à coleta e transmissão automática de dados de fontes remotas para um local centralizado.
M
Métricas (Metrics)
Medidas numéricas para o desempenho de alto nível do sistema. Permitem retenção de dados, consulta simplificada e análise de tendências. Menor volume, altamente agregáveis.
ex: CPU usage, Error Rate, Throughput
E
Eventos (Events)
Ocorrências discretas com carimbos de data/hora. Usados para rastrear eventos cruciais e detectar problemas com precisão temporal.
ex: User login attempts, Deploy events
L
Logs
Registros descritivos do comportamento do sistema. Essenciais para depuração e segurança. Disponíveis em vários formatos. Alto volume, não distribuídos.
ex: Application errors, Access logs (JSON)
T
Traces
Capturam o fluxo de solicitações de ponta a ponta em sistemas distribuídos. Traces representam operações individuais dentro dos fluxos. Alto volume.
ex: Request spans, Service call chains

Google SRE
4 Golden Signals of Monitoring
"Se você só pode medir quatro métricas do seu sistema voltado para o usuário, concentre-se nestes quatro." — Google SRE Book
4 Golden Signals of Monitoring
SIGNAL 01
⏱️ Latência
O tempo necessário para atender a uma solicitação. "Slow is the new down." Diferencie latência de requisições com sucesso e com erro.
SIGNAL 02
📶 Tráfego
Quanto de demanda está sendo colocada em seu sistema. Medido em requests/segundo, conexões ativas, transações por segundo.
SIGNAL 03
❌ Erros
A taxa de solicitações que falham — explicitamente (HTTP 500) ou implicitamente (retornos incorretos com status 200).
SIGNAL 04
🔋 Saturação
O quão "cheio" está o seu serviço. Mede a utilização de recursos como CPU, memória e I/O. Evite valores absolutos, use porcentagens.

Boas Práticas
10 Práticas para Monitorar e Observar
1
Continuously improve — melhore continuamente sua estratégia
2
Define clear performance and availability targets
3
Monitor the system end-to-end, não apenas componentes isolados
4
Implement distributed tracing para sistemas complexos
5
Monitor the performance of individual components
6
Visualize your data — dashboards claros e acionáveis
7
Enable log analysis and searching para investigações rápidas
8
Use alerts and notifications wisely — qualidade > quantidade (AQM)
9
Monitor your monitoring — verifique que seus alertas funcionam
10
Use a variety of monitoring tools and techniques
APM & Alertas · ToolBoX

Ferramentas & APM

OpenTelemetry, New Relic, Datadog, Grafana — conheça o landscape de observabilidade e os alertas que mantêm sistemas saudáveis.

Alertas
Tipos de Alertas
O monitoramento proativo se dá através de Alerts, Incidents, Anomalies, Monitors, Triggers e Notifications.
Reativo
Monitoramento Reativo
Alertar apenas quando existe um problema já confirmado. Reação após a falha.
ex: Alta taxa de erros 500 há mais de 10 minutos
Proativo
Monitoramento Proativo
Alertar antes da falha com base em tendências e thresholds. Previne incidentes.
ex: CPU acima de 90% pelos últimos 10 minutos
Preditivo
Monitoramento Preditivo
Algoritmos de Machine Learning preveem possíveis falhas antes que ocorram.
ex: ML prevendo falha em memória ou disco

OpenTelemetry
OTel vs Agentes APM Proprietários
OpenTelemetry é uma estrutura de observabilidade de código aberto para rastrear métricas, eventos, logs e traces em sistemas distribuídos. É o segundo projeto com maior contribuição do CNCF.

✅ Benefícios do OTel

Padrão Aberto: Padronização universal vs. soluções proprietárias. Evite vendor lock-in.

Customização: Controle total sobre quais dados são coletados e como são usados.

Redução de Custos: Sampling e agregação diminuem drasticamente a quantidade de dados ingeridos.

Comunidade Ativa: Segundo projeto CNCF mais contribuído depois do Kubernetes.

🏢 Agentes Proprietários (New Relic, Datadog)

Auto-instrumentação: Configuração mais simples e rápida out-of-the-box.

Full-stack integrado: Dashboards, alertas e correlação tudo em um único produto.

Suporte comercial: SLAs, suporte dedicado e documentação extensa.

Tradeoff: Custo de licenciamento e dependência de um único vendor.


Líderes de mercado
APM & Observabilidade — Principais Ferramentas
🔵
New Relic
Telemetry Data Platform unificada para métricas, eventos, logs e traces. Full-stack monitoring com pricing baseado em uso. Free tier disponível.
🐶
Datadog
600+ integrações, Watchdog AI para detecção de anomalias, Cloud Cost Management e suporte a OpenTelemetry. Líder Gartner 2023.
🔶
Grafana
Open-source, integra Prometheus, Loki e Tempo para métricas, logs e traces. Amplamente usado em ambientes cloud-native e Kubernetes.
🦅
Dynatrace
Líder absoluto no Gartner Magic Quadrant 2023. Davis AI para detecção automática de causas raiz e performance management avançado.
🔍
Elastic (ELK)
Elasticsearch, Logstash e Kibana — stack open-source poderosa para log analytics e search. APM integrado ao Elastic Observability.
🍯
Honeycomb
Especializado em distributed tracing e observabilidade de alta cardinalidade. Focado em developer experience e debugging em produção.

Exercícios
Labs Práticos
Exercícios para praticar observabilidade com as principais ferramentas do mercado. O código-fonte está disponível em toolbox-playground/aulas-cloud-devops-exercicios-labs.
Lab 001
Criar conta e navegar no New Relic
Instalar o agente de infraestrutura e visualizar métricas básicas
Iniciante
Criar uma conta gratuita no New Relic, instalar o agente de infraestrutura via Guided Install e visualizar métricas básicas do host (CPU, memória, disco e rede) no dashboard de Infrastructure.
New Relic Infrastructure ~30-45 min
📁 Ver lab-001-new-relic-infra-agent no GitHub →
Lab 002
Criar conta e instalar agente Datadog
Monitorar infraestrutura e instrumentar aplicação demo
Iniciante
Criar uma conta gratuita no Datadog, instalar o agente de infraestrutura via Guided Install e visualizar métricas de CPU, memória, disco e rede no Infrastructure List. Opcionalmente, instrumentar uma aplicação demo com o agente Datadog ou OpenTelemetry.
Datadog Infrastructure OpenTelemetry ~30-45 min
📁 Ver lab-002-datadog-infra-agent no GitHub →
Lab 003
Observabilidade local com OpenTelemetry e Grafana (Docker)
Stack LGTM completa com OTel Collector via Docker Compose
Intermediário
Subir um ambiente local de observabilidade usando Docker Compose com o Grafana LGTM (all-in-one: Grafana + Loki + Mimir + Tempo) e um OpenTelemetry Collector configurado para coletar métricas de host (CPU, memória, disco, rede) e enviá-las ao Grafana.
OpenTelemetry Grafana Docker LGTM ~30-40 min
📁 Ver lab-003-opentelemetry-grafana-docker no GitHub →
Lab 004
Dashboard de clima em tempo real com Grafana e OpenWeatherMap
Conectar Grafana na API do OpenWeatherMap e criar dashboard
Intermediário
Subir o Grafana via Docker com o plugin Infinity, conectar na API gratuita do OpenWeatherMap e importar um dashboard pronto com dados meteorológicos reais (temperatura, umidade, vento) da sua cidade.
Grafana API Docker Dashboard ~30-45 min
📁 Ver lab-004-grafana-openweathermap no GitHub →
Hands-on · ToolBoX

Labs Práticos

Exercícios para praticar observabilidade com as principais ferramentas do mercado. Código-fonte disponível no GitHub.

Repositório
4 Labs de Observabilidade
Lab 001
Criar conta e navegar no New Relic
Instalar o agente de infraestrutura e visualizar métricas básicas
Iniciante
Criar uma conta gratuita no New Relic, instalar o agente de infraestrutura via Guided Install e visualizar métricas básicas do host (CPU, memória, disco e rede) no dashboard de Infrastructure.
New Relic Infrastructure ~30-45 min
📁 Ver lab-001-new-relic-infra-agent no GitHub →
Lab 002
Criar conta e instalar agente Datadog
Monitorar infraestrutura e instrumentar aplicação demo
Iniciante
Criar uma conta gratuita no Datadog, instalar o agente de infraestrutura via Guided Install e visualizar métricas de CPU, memória, disco e rede. Opcionalmente instrumentar uma aplicação demo com OpenTelemetry.
Datadog Infrastructure OpenTelemetry ~30-45 min
📁 Ver lab-002-datadog-infra-agent no GitHub →
Lab 003
Observabilidade local com OpenTelemetry e Grafana (Docker)
Stack LGTM completa com OTel Collector via Docker Compose
Intermediário
Subir um ambiente local de observabilidade usando Docker Compose com o Grafana LGTM (Grafana + Loki + Mimir + Tempo) e um OpenTelemetry Collector para coletar métricas de host e enviá-las ao Grafana.
OpenTelemetry Grafana Docker LGTM ~30-40 min
📁 Ver lab-003-opentelemetry-grafana-docker no GitHub →
Lab 004
Dashboard de clima em tempo real com Grafana e OpenWeatherMap
Conectar Grafana na API do OpenWeatherMap e criar dashboard
Intermediário
Subir o Grafana via Docker com o plugin Infinity, conectar na API gratuita do OpenWeatherMap e importar um dashboard com dados meteorológicos reais (temperatura, umidade, vento) da sua cidade.
Grafana API Docker Dashboard ~30-45 min
📁 Ver lab-004-grafana-openweathermap no GitHub →

Links de estudo
Material Complementar