Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Deprecated configuration property 'management.metrics.distribution.sla'

Olá,

Tentei usar a propriedade "management.metrics.distribution.sla.http.server.requests" mas o Spring mostra um aviso dizendo que esta propriedade de SLA está depreciada e sugere usar a de SLO em substituição "management.metrics.distribution.slo.http". Outro ponto é que o Spring também não encontra o final "server.requests", permitindo deixar só até o ".http".

Notei que substituindo o "sla.http.server.requests" pelo "slo.http" e acessando o endpoint /actuator/prometheus a métrica "http_server_requests_seconds_bucket" está aparecendo corretamente, com as mesmas definições configuradas no properties de 50ms, 100ms, 200ms e 400ms.

O uso dessas métricas mais para frente no curso continuaria a mesma ou mudaria algum ponto por conta dessa substituição?

1 resposta
solução!

Oi, Laura! Tudo bem?

Pode utilizar o SLO sim, estas siglas estão relacionadas a valores de acordo de nível de serviço.

SLA é um acordo de nível de serviço que consta na ISO 27001, que basicamente consiste em uma definição de nível de serviço com um cliente que deve ser cumprida, caso não seja penalidades devem ocorrer ao seu não cumprimento, normalmente financeiras, por exemplo, meu SLA de disponibilidade consiste em manter a latência de resposta da minha aplicação abaixo de 100ms para 99% das requisições. SLA envolve muito a área de negócios e o cliente final.

SLO é um acordo de nível de serviço executado internamente, entre a equipe que desenvolve o sistema, engenheiros de confiabilidade e operações de infraestrutura, ele visa manter o serviço em um nível de serviço que mesmo que não seja cumprido, não agrida ao SLA deifnido entre a área de negócios e o cliente final, desta maneira nosso SLO costuma ser mais agressivo que o SLA, como por exemplo, latência de resposta abaixo de 100ms para 99.9% das requisições, essa definião de serviço é mensurada por indicadores (métricas) como as que você esta configurando com o "management.metrics.distribution.slo.http".

SLI são os indicadores de níveis de serviço que serão avaliados em tempo de execução e alimentarão os buckets da sua métrica "management.metrics.distribution.slo.http". eles são nossos dados para medição de que estamos ou não dentro do cumrpimento do nosso SLO e consequentemente mantendo nosso SLA.

Um ponto importante é definir o Error Budget, que é o que sobra da subtração de 100% - valor do SLO, e basicamente ele serve como porcentagem de falhas sem gerar impactos para o cliente final, por não deteriorar SLO e SLA, mas essa é uma conversa para deixarmos em um tópico especifico sobre SRE, se quiser saber mais, aconselho que leia este conteúdo:

Service Level Objectives - Google SRE Book

Espero que esse conteúdo possa agregar a sua jornada, abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software