---
title: "Golden Signals: monitoramento eficiente para um desenvolvimento de software bem-sucedido"
date: 2025-02-22
reading_time: 3 min
---

Golden Signals: monitoramento eficiente para um desenvolvimento de software bem-sucedido

As Golden Signals são quatro métricas básicas essenciais para o monitoramento do nosso sistema. Com elas, podemos detectar possíveis problemas no nosso sistema com maior facilidade, reduzindo os tempos de depuração e análise pela equipe de suporte da sua organização.

Pessoalmente, sinto uma grande afinidade pelas métricas Golden Signals, pois têm sido de grande ajuda no meu trabalho nos últimos anos, tanto como Software Engineer quanto Engineering Manager. Com um rápido olhar no dashboard, consigo avaliar a saúde e o desempenho do meu serviço, sem perder tempo com múltiplos dashboards, queries ou ferramentas. Além disso, me dão a segurança de que as mudanças que faço no meu código não terão um impacto negativo nos clientes, o que facilita consideravelmente a adoção do Continuous Delivery.

As quatro Golden Signals

Traffic

É a quantidade de requisições que chegam ao seu sistema. Em serviços web, normalmente medimos a quantidade de HTTP requests por segundo. Em outros serviços, mede-se a quantidade de transações executadas por segundo.

Errors

É a quantidade de erros no seu sistema, normalmente diferenciados por tipo. Em serviços web, temos os diferentes HTTP status. Em outros serviços, podemos fornecer uma descrição mais detalhada do erro, o que nos ajuda a ser mais eficientes na depuração.

HTTP Status:

  • 500: erro interno do servidor
  • 502: bad gateway
  • 503: serviço temporariamente indisponível
  • 504: timeout na conexão
  • 400: requisição inválida
  • 401: não autorizado
  • 403: sem permissão
  • 404: não encontrado
  • 409: inconsistência na solicitação, pode ocorrer quando tentamos responder uma solicitação que o cliente já desistiu

Latency

A latência, ou tempo de resposta de uma requisição, é medida desde o recebimento da requisição até o envio da resposta. É crucial diferenciar os tempos de resposta das requisições bem-sucedidas e das que falharam. Misturar ambos os tipos de requisições pode contaminar as métricas e dificultar a identificação de problemas.

Saturation

Esta métrica mede o nível de saturação dos recursos operacionais do sistema, ou seja, o quão perto estamos de atingir o limite. Por exemplo: uso de CPU, memória, armazenamento, operações de I/O (entrada e saída) no disco rígido e rede.

Alertas

Essas métricas nos ajudam a avaliar a saúde e o desempenho do nosso sistema, no entanto, sua utilidade fica limitada se não forem monitoradas continuamente. Para evitar a necessidade de pessoal acompanhando monitores 24 horas por dia, podemos utilizar tecnologia para criar alertas baseados em regras e limiares, permitindo um monitoramento mais eficiente. As notificações são ativadas quando as regras são atendidas e os limiares predefinidos são ultrapassados.

Dashboard

É fundamental que as quatro métricas sejam visualizadas em um único dashboard, para facilitar a identificação de problemas pelos desenvolvedores e pela equipe de suporte, evitando a perda de tempo ao navegar entre dashboards e ferramentas de monitoramento buscando cada métrica separadamente.

Também é crucial ter visibilidade de todos os serviços do seu sistema. Se você possui bancos de dados, workers, Kafka ou microsserviços, deve dispor de um dashboard para cada um deles. Seguindo esse mesmo princípio, no mínimo, as métricas de Golden Signals devem ser incluídas.

Conclusão

Que organização não experimentou discussões intensas entre desenvolvedores e DevOps sobre a causa de uma falha que afeta o cliente final? Que engenheiro de software não perdeu tempo tentando identificar um erro de origem desconhecida? Para isso, e para outras coisas, servem as métricas Golden Signals — ferramentas-chave para detectar a origem do problema. Sua implementação reduz consideravelmente os tempos de depuração de problemas e facilita a adoção do Continuous Delivery em um sistema, o que ajuda a manter o SLA de suporte sob controle.

Então, se você está buscando um desenvolvimento de software bem-sucedido, é essencial contar pelo menos com as métricas Golden Signals em cada serviço do seu sistema.

Referências