Pular para o conteúdo
Tecnologia

Kubernetes sem monitoring é caixa preta. Prometheus para métricas, Loki para logs, Jaeger para tracing. Observabilidade completa.

Conceitos Principais

Prometheus

Time-series database. Scrape metrics de Pods. PromQL para queries. AlertManager para alertas. Integra com Grafana.

Grafana

Visualização de métricas. Dashboards pré-prontos para K8s. Multi-datasource (Prometheus, Loki). Alerting integrado.

Loki

Log aggregation. Lightweight (não indexa tudo). Integra com Grafana. Query logs por labels. Alternativa ao ELK (mais leve).

OpenTelemetry

Traces distribuídos. Rastreia requests entre microserviços. Jaeger backend. Detecta latência e falhas.

Passo a Passo

  1. Deploy Prometheus: Helm: helm install prometheus prometheus-community/kube-prometheus-stack. Inclui Grafana, AlertManager. Acesse Grafana via port-forward.
  2. Configure Scraping: ServiceMonitor CRD define targets. Prometheus auto-descobre Pods com annotations. prometheus.io/scrape: true, path, port.
  3. Dashboards Grafana: Importe dashboards: 6417 (K8s cluster), 8588 (Deployments). Customize para seus Pods. Variáveis para namespace, pod.
  4. Deploy Loki: Helm: helm install loki grafana/loki-stack. Promtail DaemonSet coleta logs. Grafana data source adiciona Loki. Query logs com LogQL.
  5. Alertas: PrometheusRule YAML: alert PodCrashing if rate(kube_pod_container_status_restarts_total) > 0. AlertManager envia Slack/email.

Boas Praticas

Recomendacoes

• Metrics de negócio (não só infra)

• Retention policy para logs (30 dias)

• Alertas acionáveis (não spam)

• SLO/SLI tracking

• Dashboards por equipe

Erros Comuns

Evite estes erros

• Não configurar resource limits (Prometheus OOM)

• Retention infinito (storage explode)

• Alertas sem runbook

• Não testar alertas

Checklist

  • Prometheus deployado
  • Grafana acessível
  • Dashboards configurados
  • Loki para logs
  • Alertas configurados e testados
  • Retention policies definidas
  • SLO definidos