Neste artigo iremos abordar um dos maiores marcos para consolidar o SRE que são os 4 sinais dourados do Google, resultado da experiência em manter e escalar um dos ambientes mais desafiadores do mundo.
Estes sinais fornecem insumos para monitoramento que se tornaram padrão na indústria e é amplamente estudado e utilizado para mensurar métricas de ambientes desafiadores em TI.
Surgido da necessidade prática de monitorar vários serviços diferentes executando em escala global, o time de SRE do Google identificou que não importasse a complexidade do sistema, havia 4 métricas fundamentais
que se monitoradas de forma adequada, forneciam uma visão do status do sistema do ponto de vista do usuário.
Isso é absurdamente simples e poderoso.: focando em apenas 4 métricas que são importantes para o usuário, o time garante que está concentrado no que importa e diminui a complexidade, evitando gastar tempo e recursos com o monitoramento de várias métricas de forma desordenada ou sem uma estratégia definida.
Resumindo da seguinte forma a abordagem dos 4 Goldens Signals.: se você só pode monitorar algumas métricas do sistema, concentre-se nas 4 voltadas ao usuário. Garantindo assim que o time está verificando aquilo que realmente impacta o usuário.
Os 4 Sinais Dourados (Golden Signals)
Vamos agora abordar de forma mais detalhada os 4 Golden Signals para poder dessa forma ter o entendimento do porque essas métricas são importantes para a saúde do sistema.
1. Latência.:
A latência mede o tempo que o sistema leva para atender um pedido/requisição e é a métrica mais facilmente notada pelos usuários. Mas para poder ter uma monitoração eficaz, é necessário entender
os detalhes que podem ser ignorados, gerando uma métrica imcompleta em uma abordagem simples.
Um exemplo.: deve-se verificar a diferença entre latência de requisições bem-sucedidas e a latência de requisições que falharam. Isto deve ser considerado pois podem ocorrer casos onde falhas são enviadas rapidamente como um erro http 500 de resposta de um servidor quase que imediatamente.
Se você usar apenas a média de latência de todas as requisições, problemas de latência em solicitações bem-sucedidas podem ficar ocultas ou mascaradas.
Lembrando que o tempo deve ser sempre considerado pois o usuário ficará mais incomodado com a demora em receber uma mensagem de erro do que receber a mensagem de erro imediatamente após fazer a solicitação.
Usar percentis de 95 ou 99 da latência normalmente fornecem uma visão mais realista da experiência que a maioria dos usuários está tendo.
2. Tráfego.:
O tráfego é uma métrica que mede quanta demanda está sendo suportada pelo sistema e normalmente
é medida em dados específicos de cada sistema, por exemplo em um sistema web, usa-se solicitações http por segundo, divididas por seu tipo. Monitorar o tráfego pode trazer informações importantes sobre possíveis problemas que estão começando, como ataques DDoS ou uma instabilidade pode indicar um problema de upstream, impedindo os usuários de usarem o serviço.
O segredo aqui para medir de forma eficaz o tráfego do seu sistema é escolher a métrica que melhor representa a carga que os usuários estão colocando sobre o sistema.
3. Erros.:
Erros é comumente uma das métricas mais importantes e medidas, mas normalmente a métrica de erro se baseia na quantidade de requisições que falham. Mas o ponto de atenção aqui é justamente o que é a
definição de falha aplicada no sistema que está sendo monitorado. Vamos entender melhor isso.: falha pode ser tanto algo facilmente percebível como um erro http 502 ou algo mais sutil, como uma resposta http 200
mas com o conteúdo errado ou mesmo uma falha definida por base em políticas de desempenho como um erro http 429 de rate limit, onde excedeu o limite de conexões acordado.
Erros explícitos, como código de status http são mais fáceis de mensurar por fornecerem informações claras do que está acontecendo de errado. Erros implícitos requerem mais cuidado por serem mais difíceis de detectar, tornando a experiência de uso do usuário ruim. Um caso comum de erro implícito é o serviço retornar um código http 200 mas com dados corrompidos ou faltando, gerando a necessidade de investigar de forma mais detalhada.
Erros definidos com base em políticas são reflexos do que foi acordado via SLA ou outros tipos de acordos, por exemplo, se foi definido um tempo x de resposta para uma solicitação e o sistem leva mais do que esse tempo para responder, mesmo sendo uma resposta bem-sucedida, é considerado um erro por não estar cumprindo o tempo determinado pelo acordo/requisito.
4. Saturação.:
A saturação é a métrica que verifica o quanto o sistema está carregado, detalhando os recursos mais utilizados, é a métrica mais complexa de ser implementada por que necessita de um entendimento profundo
dos ofensores do sistema. Em muitos sistemas, a performance começa a cair antes de atingir o 100% de uso de um determinado recurso. Por exemplo, um servidor pode começar a apresentar lentidão com o consumo de 75% da memória, muito antes de atingir os 100%. Então ter alvos de utilização definidos de forma apropriada é de suma importância para uma correta definição da métrica de saturação.
Sistemas complexos a saturação deve vir acompanhada de métricas de carga de nível superior, onde perguntas sobre níveis de sobrecarga que o sistema pode suportar antes de começar a perder performance ajudam a
fornecer insumos sobre o quanto o sistema aguenta picos de utilização.
Adicionar previsões de saturação é uma forma de monitorar de maneira proativa o sistema, garantindo aos times tempo para tomar ações para mitigar problemas antes que eles comecem de fato. Um exemplo.: métricas de alerta de consumo de espaço em disco ajudam a tomar medidas preventivas antes que os discos fiquem de fato cheios.
Considerações e Limitações dos 4 Golden Signals
Os 4 sinais dourados (Golden Signals) são um excelente ponto de partida para construir uma base sólida e confiável de observabilidade de um sistema com sua simplicidade, foco no usuário e que são úteis para a grande maioria dos sistemas. Isso permite que sejam implementados por times com diversos níveis de experiência em monitoramento.
Contudo, os 4 Golden Signals tem seus limites, por ter o foco no usuário, eles podem não ser adequados para sistemas de infraestrutura ou de processamento em lotes (batch).
Também é altamente recomendável que sejam usados com métricas mais específicas e detalhadas para os sistemas, especialmente os complexos.
Tenha em mente que eles são o início, não devendo ser considerados como as únicas métricas que devem ser implementadas e monitoradas.
Os 4 Sinais Dourados tem também sua importância na consolidação da disciplina de SRE dentro das empresas pelo seu impacto na Observabilidade e Monitoramento.
Referências.:
https://www.thetrueengineer.com/p/the-four-golden-signals-what-google
https://www.solarwinds.com/sre-best-practices/golden-signals
https://sre.google/sre-book/introduction/
https://www.opservices.com.br/4-sinais-de-ouro-do-sre/
https://github.com/cirolini/prometheus-curso-monitoring/blob/main/09_conclusion/01_modelos_de_monitoracao.md
E-book Ós Métodos Red, Use e os 4 Golden Signals para Observabilidade - Jeferson Fernando - LinuxTips

Top comments (0)