Como recuperar dados do SLO

Os dados do SLO são armazenados em séries temporais. É possível recuperar séries temporais do SLO especificando um seletor de série temporal no parâmetro filter para o método timeSeries.list ou usando o modo de filtro direto no Metrics Explorer.

Políticas de alertas baseadas em SLO

Se estiver criando uma política de alertas usando a API Cloud Monitoring, você especificará o filtro usando um seletor de série temporal como um campo na condição de limite da política. Para informações sobre como criar políticas de alertas baseadas em SLO usando a API Monitoring, consulte Criar uma política de alertas.

Somente um subconjunto dos seletores de série temporal disponíveis para SLOs pode ser usado nas políticas de alertas. Além disso, as políticas de alertas baseadas em SLO criadas com o console do Google Cloud sempre usam o seletor select_slo_burn_rate.

Como usar um seletor de série temporal em um filtro

Para recuperar dados de série temporal de SLOs, o filtro precisa especificar um seletor de série temporal. Os dados de SLO não são armazenados com tipos de métricas e não podem ser recuperados com o filtro que especifica um par de tipos de métricas e de recursos monitorados.

Nomes e argumentos

Os seletores de série temporal têm uma das seguintes formas:

SELECTOR_NAME(SLO_NAME)
SELECTOR_NAME(SLO_NAME, LOOKBACK_PERIOD)

Os seletores têm nomes que começam com select_slo_ e aceitam um ou dois argumentos:

  • O primeiro argumento para o seletor é o nome do recurso para um SLO, que tem a seguinte aparência:

    projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID
    

    A expressão anterior contém três variáveis:

    • PROJECT_ID: nome ou número de um projeto do Google Cloud.
    • SERVICE_ID: nome de um serviço.
    • SLO_ID: identificador de um SLO definido pelo serviço.

    Para informações sobre como encontrar os valores dos campos SERVICE_ID e SLO_ID do seu projeto do Google Cloud, consulte Como trabalhar com a API.

  • O segundo argumento, se suportado, é um período de lookback. Consulte Tipos de alertas de erro de orçamento para ver informações sobre períodos de lookback. As unidades de tempo válidas são "ns", "us", "ms", "s", "m", "h".

Por exemplo, o seletor select_slo_budget usa um argumento SLO_NAME, então um filtro que usa esse seletor tem a seguinte aparência:

select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")

Por outro lado, o seletor select_slo_burn_rate requer os argumentos SLO_NAME e LOOKBACK_PERIOD. Portanto, um filtro que usa esse seletor tem a seguinte aparência:

select_slo_burn_rate("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID", "3600s")

Para obter uma lista e uma descrição de todos os seletores, consulte Seletores de série temporal.

Como recuperar dados com um seletor

Uma maneira de consultar dados de série temporal é usar a ferramenta APIs Explorer na página de referência do método timeSeries.list. Para informações sobre essa ferramenta, consulte APIs Explorer.

Por exemplo, para recuperar informações sobre o orçamento de um SLO, preencha os seguintes campos na ferramenta APIs Explorer:

  • nome: projects/PROJECT_ID
  • filter: select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")
  • interval.startTime: 2021-10-07T13:00:20-04:00
  • interval.endTime: 2021-10-08T13:00:20-04:00

Em um sistema, depois que variáveis como PROJECT_ID são substituídas por valores e o método é executado, os seguintes dados de série temporal são retornados:

Um trecho da série temporal recuperada

Seletores de série temporal

Esta seção lista os seletores de série temporal disponíveis para SLOs e descreve o que eles representam. Todos os seletores podem ser usados em filtros com o método timeSeries.list para recuperar dados de série temporal. Nem todos eles são compatíveis com políticas de alerta.

select_slo_burn_rate

Sintaxe: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)

O seletor de série temporal "burn-rate" retorna a proporção da taxa de falha atual (a taxa de solicitações ruins no intervalo de lookback) para a taxa de falha sustentável do SLO. A taxa de falha sustentável é a taxa em que o SLO é atendido exatamente.

Os valores nesta série temporal podem variar de 0 a infinito:

  • O valor de um indica que o serviço exibe a taxa de falha ideal: não muito arriscado, nem muito conservador.
  • Um valor acima de um significa que a taxa de falha está acima da taxa sustentável. Quanto maior o valor, mais cedo o SLO sairá da conformidade.
  • Um valor menor que um significa que a taxa de falha atual é menor que a taxa sustentável.

Recomendamos que você use duas políticas de alerta para monitorar a taxa de gravação: uma política de gravação rápida para alertar sobre picos na taxa de gravação e uma política de gravação lenta para gerar alertas sobre aumentos graduais.

É possível criar e editar políticas de alertas com base nesse seletor de série temporal usando a API ou o Console do Google Cloud.

Todas as políticas de alertas baseadas em SLO criadas usando o Console do Google Cloud usam esse seletor para recuperar os dados do SLO.

select_slo_health

Sintaxe: select_slo_health(SLO_NAME)

A série temporal "SLO Health" responde à pergunta: "Durante um determinado período de alinhamento, qual foi a proporção de boas solicitações para o total de solicitações?". O SLI do serviço define o que conta como uma boa solicitação. Para mais informações sobre SLIs, consulte Visão geral.

Esta série temporal mede o desempenho do serviço: se cada solicitação para o serviço for boa, os pontos de dados nessa série temporal terão o valor 1. À medida que o número de solicitações ruins aumenta, os valores dos pontos de dados caem.

select_slo_compliance

Sintaxe: select_slo_compliance(SLO_NAME)

A série temporal "SLO Compliance" responde à pergunta "Qual é a proporção de boas unidades para o total de unidades desde o início do período de conformidade?". O SLO define o período de conformidade como uma janela contínua ou um intervalo de tempo da agenda. A unidade pode ser uma solicitação ou uma janela de tempo. Para mais informações, consulte Conformidade em SLOs com base em solicitações e janelas.

Essa série temporal fornece uma visão geral de como o serviço está atendendo o SLO. Ele não produz um sinal urgentemente operacional.

Não use esse seletor de série temporal em políticas de alertas.

select_slo_budget

Sintaxe: select_slo_budget(SLO_NAME)

A série temporal "SLO budget" responde à pergunta: "Quanto do erro de orçamento permaneceu no momento da medição?". O erro e orçamento pode ser medido em solicitações ou minutos, e o valor restante é calculado baseado em se o período de conformidade é medido no tempo da agenda ou como uma janela contínua. Para ver mais informações, leia Erros de orçamento..

Essa série temporal mede o risco na confiabilidade de um serviço. Se a margem de erro se tornar menor que zero, talvez não seja possível atender ao SLO do período atual. O não cumprimento do SLO pode ter consequências reais para o ambiente de produção de uma organização, dependendo de como a organização controla a confiabilidade.

Não use esse seletor de série temporal em políticas de alertas.

select_slo_budget_fraction

Sintaxe: select_slo_budget_fraction(SLO_NAME)

A série temporal "fração do orçamento do SLO" responde à pergunta: "Quanto do erro de orçamento, como uma fração entre infinito negativo e 1, permanece nesse momento?"

Não use esse seletor de série temporal em políticas de alertas.

select_slo_budget_total

Sintaxe: select_slo_budget_total(SLO_NAME)

A série temporal "Orçamento total do SLO" responde à pergunta "Qual é o erro de orçamento total (em solicitações ou minutos) projetado para estar disponível neste momento, com base no comportamento do serviço desde o início do período de conformidade?". O SLO define o período de conformidade como uma janela contínua ou um intervalo de tempo da agenda.

Não use esse seletor de série temporal em políticas de alertas.

select_slo_counts

Sintaxe: select_slo_counts(SLO_NAME)

A série temporal "Contagens de SLO" responde à pergunta: "Durante um determinado período de alinhamento, qual é o número de solicitações boas e ruins?". Esse seletor fornece uma série temporal que registra a integridade geral e é adequado para ingestão em sistemas de armazenamento de longo prazo.

Não use esse seletor de série temporal em políticas de alertas.