NOTAS DE CAPACIDADE
O que registrar de um poller de odds
Registre as transições, não os polls. Quais eventos merecem uma linha, quais manter fora, e como um pequeno resumo por hora alimenta cada métrica.
Um poller que registra todo poll bem-sucedido enche o log com a única linha que não te diz nada. O log útil é uma lista de transições: erros, travamentos, retomadas e reinícios, mais um pequeno resumo por hora. Métricas dizem que algo está errado; este log diz o quê.
Métricas não são logs
O guia de monitoramento acompanha cinco métricas por board: idade do snapshot, progresso do cursor, latência, taxa de erro e taxa de requisições. Esses números respondem se o pipeline está saudável agora. Eles não respondem o que aconteceu às 03:14 quando o cursor travou, e essa segunda pergunta é a que você vai realmente fazer num incidente. O log existe para a segunda pergunta.
O que merece uma linha
Registre os eventos que mudam estado, com contexto suficiente para agir depois:
- Todo 429, com o valor do Retry-After e a chamada que o disparou, como o guia de limites de taxa recomenda para alerta precoce.
- Todo 401 e 403, imediatamente e em alto volume, porque esses são erros de parada, não de nova tentativa.
- Todo 200 que falha na validação, com o formato de envelope que você realmente recebeu.
- Salvamentos e retomadas de cursor, incluindo o valor do qual você retomou após um reinício.
- Leituras completas do board, que devem ser raras o bastante para cada uma carregar um motivo declarado.
- Inícios e paradas de processo, para que uma janela de queda seja comprovável depois.
Cada linha precisa do board, do timestamp e do motivo. Uma linha sem o nome do board é uma agulha num palheiro de treze boards.
O que manter fora
Não registre todo poll bem-sucedido em nível info, e nunca empurre payloads completos de resposta para o fluxo de eventos. O guia de armazenamento já responde à questão dos payloads: guarde respostas cruas comprimidas por alguns dias se quiser rederivar linhas após um bug de parser, e consulte a tabela normalizada. Uma linha por seleção alterada pertence à tabela de mudanças, não ao syslog.
O resumo por hora paga tudo
Uma linha de resumo por board por hora, polls feitos, eventos alterados, erros por status, alimenta tanto as métricas quanto as autópsias. Do resumo você recomputa qualquer uma das cinco métricas para qualquer hora que guardou, o que significa que o log detalhado de eventos pode ficar curto e o dashboard pode ficar honesto.
Registre as mudanças, conte a rotina, mantenha os payloads fora. O próximo incidente então começa com respostas, não com um grep por um milhão de linhas idênticas.