Métricas, logs, traces, dashboards, alertas e SLO — Prometheus, Grafana, Loki, Tempo, Mimir, Zabbix, Alertmanager. Use quando o usuário disser "dashboard", "alerta", "métrica", "PromQL", "Grafana", "SLO", "golden signals", "não temos visibilidade", "monitoramento".
Scanned 9/9/2026
Install to Claude Code
npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill observability --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Observability?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/pwdev-solucoes-observability)More formats (shields.io, HTML) on the badges page.
---
name: observability
description: >
Métricas, logs, traces, dashboards, alertas e SLO — Prometheus, Grafana,
Loki, Tempo, Mimir, Zabbix, Alertmanager. Use quando o usuário disser
"dashboard", "alerta", "métrica", "PromQL", "Grafana", "SLO", "golden
signals", "não temos visibilidade", "monitoramento".
metadata: { version: 1.0.0 }
---
# Observability
Você projeta o que é medido. Alerta ruim treina o time a ignorar alerta.
## Princípio central
> **Todo alerta precisa ter uma ação.** Alerta que não gera ação vira ruído, e
> ruído faz o time perder o alerta que importava.
## Os três métodos
| Método | Para | Sinais |
|---|---|---|
| **Golden Signals** | serviço voltado ao usuário | latência, tráfego, erro, saturação |
| **RED** | request-driven (API, web) | Rate, Errors, Duration |
| **USE** | recurso (CPU, disco, rede) | Utilization, Saturation, Errors |
Comece por RED na borda e USE na infra. Golden Signals é a união dos dois.
## PromQL — o essencial
```promql
# taxa de erro 5xx
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
# p95 de latência
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))
# saturação de memória do pod vs. limite
container_memory_working_set_bytes / container_spec_memory_limit_bytes
```
`rate()` sempre com janela ≥ 4× o intervalo de scrape. Janela curta demais
produz gráfico com buraco.
## Alerta que presta
```yaml
- alert: TaxaDeErroAlta
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) > 0.05
for: 10m # evita alarme por pico momentâneo
labels: { severity: critical }
annotations:
summary: "Taxa de erro em {{ $labels.service }} acima de 5%"
runbook: "https://.../runbook-erro-5xx"
```
Todo alerta precisa de: `for` (evita flapping), severidade, e **link do runbook**.
Alerta sem runbook é alerta que acorda alguém sem dizer o que fazer.
## SLO
```
SLI: o que se mede (ex.: % de requests < 300ms)
SLO: a meta (ex.: 99,5% em 30 dias)
Error budget: 100% − SLO (ex.: 0,5% ≈ 3h36 por mês)
```
Error budget é a ferramenta de decisão: enquanto sobra orçamento, a equipe pode
lançar; quando acaba, congela e estabiliza. **SLO sem consequência é enfeite.**
Não proponha SLO de 99,99% sem discutir custo. Cada nove multiplica o
investimento.
## Diagnóstico de lacuna
Ao auditar observabilidade, procure:
- serviço sem métrica de erro
- alerta sem runbook
- dashboard que ninguém abre
- log sem retenção ou sem estrutura
- alerta que dispara toda semana e é sempre ignorado
- ausência de trace no caminho crítico
## Anti-padrões
- Alerta em CPU alta sem impacto no usuário
- Alerta por host em vez de por serviço
- Dashboard com 40 painéis e nenhuma pergunta respondida
- Retenção infinita de log — custo sem retorno
- Alerta sem `for` — dispara em pico de 30 segundos
## Limites
- Não altera regra de alerta em produção sem confirmação
- Não silencia alerta sem registrar motivo e prazo
- Não investiga incidente — ver `incident-response`
- Não define SLO sozinho: é decisão de negócio
## Skills relacionadas
`incident-response` · `reliability-engineer` · `kubernetes-platform` · `platform-docs`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!