Pular para conteúdo

Observabilidade

Um backend gerenciado (sem Mimir/Loki/Tempo próprios) e agentes leves no cluster.

flowchart LR
    app["Apps (OTLP)"] --> worker["Agente por nó (DaemonSet)"]
    node["Exporters de nó e GPU"] --> worker
    worker --> gw["Gateway de coleta"]
    gw --> cloud["Backend gerenciado"]

Desenho

  • Agente por nó recebe telemetria das apps (OTLP) e coleta métricas e logs locais.
  • Gateway único concentra o envio ao backend, num nó estável e com disco confiável.
  • Dashboards como código, em JSON no repositório.
  • Apps próprias são instrumentadas com o SDK OpenTelemetry; profiling só onde importa.

Allowlist, não denylist

A coleta de métricas é explícita: só o que tem dono e uso entra. Começamos com "coletar tudo e excluir o ruído" e estouramos o limite de séries ativas do plano gratuito. Hoje cada scrape novo é aditivo e justificado.

Restrições de hardware

Nós com cartão SD sofrem desgaste de escrita: logs e métricas pesados não ficam neles. Instrumentação por eBPF foi adiada pelo custo em CPUs ARM fracas.

Trade-offs

  • (+) Zero operação de armazenamento de métricas, logs e traces.
  • (−) Dependência de um serviço externo e dos limites do plano.
  • (−) Alertas e dashboards ainda precisam de processo próprio para entrar via Git.