
Se você já se pegou em plena produção tentando entender por que o sistema está lento, por que usuários estão reclamando ou por que o monitoramento não gritou antes do caos, bem-vindo ao clube. Monitorar aplicações modernas vai muito além de saber se o servidor está no ar. É fundamental entender como o sistema está se comportando e, principalmente, como os usuários estão percebendo esse comportamento. É aí que entram os Golden Signals, quatro métricas essenciais para qualquer sistema que se leve a sério em produção. No artigo Golden Signals, vamos explorar de onde surgiu esse conceito, por que ele é tão importante e como você pode aplicá-lo na prática.
Mas, além do artigo Golden Signals, aqui no blog também temos diversos outros artigos sobre kubernetes, desenvolvimento, gestão, devops, etc. Veja alguns exemplos: Diferenças entre Paradigmas, Axiomas e Hipóteses, Desenvolver na empresa ou comprar pronto, Fuja da otimização prematura, entre outros.
Sumário
- De onde vem isso?
- Os Sinais de Ouro
- Conclusão de Golden Signals
- Crédito ou Débito?
- Como é a informação, vista como bem econômico?
- Porque você já deveria estar usando Hashicorp Consul?
- Kubernetes e o deployment quase perfeito
- FakeStore API
- Não basta ser, tem que parecer
- Voto nulo não anula eleição!
- Diversifique sua carteira! Ou melhor não?
De onde vem isso?
Imagine que a infraestrutura de uma empresa seja construída e gerida pelo time de desenvolvimento. Pode parecer um pouco estranho, mas imaginaram isso e daí surgiu uma inspiração cultural para o DevOps. Esse modelo traz uma ideia que coloca as soluções entregues sempre num prisma da engenharia de software. O modelo tradicional gera a tendência do isolamento da infraestrutura e do desenvolvimento, quando não do QA com desenvolvimento, do front com o back e assim por diante. Seguindo esse modelo baseado em DevOps, todos respiram a mesma forma de trabalho e, por isso, muitos entendem como Cultura, além de sua forte correlação com o pensamento ágil de trabalho.
“SRE is what happens when you ask a software engineer to design an operations team.”, Ben Treynor Sloss
Essa ideia veio do livro Site Reliability Engineering: How Google Runs Production Systems, referência para a estruturação do SRE como sendo algo concreto da cultura DevOps. Veja que o livro fala sobre muitos conceitos interessantes, entre eles SLI, SLA e SLO; Error Budget; automação como um mantra; os Golden Signals; o gerenciamento dos incidentes; gerenciamento das capacidades; times e cultura; entre outros. O artigo detalha essa visão do monitoramento e os sinais de ouro.
Os Sinais de Ouro
Se você não sabe por onde começar, comece pelo Hello World. Quando estamos falando de monitoramento de aplicações o Hello World são os Golden Signals. Essencialmente o livro SRE indica quarto sinais que não podem ser ignorados em um serviço (aplicação + infraestrutura) em produção.
Mas primeiro, vale fazer um comentário sobre observabilidade. Ela é a capacidade de saber o que está acontecendo com o sistema sem precisar perguntar para o cliente. O artigo Observabilidade aprofunda mais nesse tópico. Mas veja que se você quer adotar práticas de observabilidade e não sabe por onde começar, é por aqui que começa. Caso queira mais detalhes, veja também o artigo SLI, SLO e SLA que suplemente esse.
Latência
Latência é, geralmente, o primeiro sintoma que o cliente percebe quando algo começa a falhar. Ela mede o tempo entre o pedido e a resposta: pode ser o carregamento de uma página, a resposta de uma API ou a finalização de uma compra. É importante separar a latência das requisições bem-sucedidas daquelas que falham, porque erros costumam vir acompanhados de lentidão. Ignorar essa distinção pode te deixar cego nos piores momentos.
Tráfego
Tráfego representa o volume de demandas que seu sistema está recebendo. Pode ser medido em requisições por segundo, número de usuários simultâneos ou quantidade de operações de leitura e escrita. Essas métricas ajudam a identificar picos de uso, quedas inesperadas e tendências que impactam diretamente a performance. Vale a pena separar tráfego de recursos estáticos (como imagens e arquivos cacheados) de endpoints dinâmicos que realmente exercem pressão sobre a infraestrutura.
Erros
Contar erros vai muito além de monitorar códigos 500. Você precisa entender quantos erros estão acontecendo, de que tipo e onde. Isso inclui respostas 4xx e 5xx, mas também falhas de autenticação, timeouts, exceções não tratadas que entregam 2xx, transações incompletas ou inconsistentes. A chave aqui é construir uma categorização de erros que ajude na ação rápida e assertiva. Esse trabalho precisa ser feito em parceria entre DEV e OPS, porque só assim ele será realmente útil no calor da produção.
Saturação
Saturação mede o quanto seu sistema está se aproximando do limite e serve como alerta precoce para quando a infraestrutura começa a sofrer. Não espere a CPU bater 100% para perceber que tem algo errado. Se o banco está travando, se as filas estão crescendo, se a memória está quase estourando, você já está operando no vermelho. Monitore CPU, memória, disco, uso de rede e conexões. Se isso virar rotina, talvez seja hora de pensar em escalar a infraestrutura.
Como monitorar isso?
Você pode usar ferramentas como Graylog, Datadog, New Relic, Dynatrace ou Prometheus, entre outras. A escolha depende do conhecimento da sua equipe, do orçamento disponível e da maturidade da operação. Mas se você quer um bom ponto de partida, o Prometheus costuma ser uma escolha sólida, flexível e open source, juntamente com o Grafana para visualização.
Conclusão de Golden Signals
Os Golden Signals não são uma fórmula mágica, mas são o melhor ponto de partida para quem quer monitorar com inteligência e foco no que realmente importa. Eles ajudam a enxergar antes que o cliente reclame, a agir antes que o sistema caia e a tomar decisões baseadas em dados, não em palpites.
Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.
