Como recuperar dados do SLO

Os dados SLO são armazenados em séries temporais, mas não é possível recuperar essas séries determinando um tipo de métrica e um recurso monitorado para um componente de console, como o Metrics Explorer ou o método timeSeries.list na API Cloud Monitoring.

Em vez disso, você recupera série temporal SLO especificando um seletor série temporal no parâmetro filter para o método timeSeries.list.

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

A abordagem usual para recuperar dados de série temporal é especificar um filtro que consiste em um par de tipos de métrica e de recursos monitorados que identificam um conjunto de séries temporais. Os dados do SLO não são armazenados com tipos de métricas padrão e não podem ser recuperados com esse tipo de filtro. Para recuperar dados de série temporal de SLOs, o filtro precisa especificar um seletor de série temporal.

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]
        

  • O segundo argumento, se suportado, é um período de lookback. Consulte Tipos de alertas de erro de orçamento para obter 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 apenas o argumento de nome do SLO. Por isso, um filtro usando 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 também tem um período de lookback, portanto, um filtro usando 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 simples de consultar dados de série temporal é usar a ferramenta API Explorer na página de referência do método timeSeries.list. Para obter informações sobre a ferramenta API Explorer, consulte API Explorer.

A captura de tela a seguir mostra o uso, no API Explorer, do seletor de série de tempo select_slo_budget como um filtro para timeSeries.list:

Como especificar um seletor de série temporal para o método timeSeries.list.

Veja a seguir um fragmento dos dados retornados de série temporal:

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 para 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 para o SLO. A taxa de falha sustentável é a taxa na qual o SLO é atendido exatamente: o valor 1 significa que o serviço exibe a taxa de falha ideal: não muito arriscada, nem muito conservadora.

Os valores nesta série temporal podem variar de 0 a infinito. Um valor acima de 1 significa que a taxa de falha está acima da taxa sustentável. Quanto maior o valor, mais cedo o SLO sairá da conformidade.

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 alertá-lo sobre aumentos graduais. Para obter mais informações, consulte Como criar a política de alertas.

select_slo_health

Sintaxe: select_slo_health(SLO_NAME)

A série temporal "SLO Health" responde à pergunta: "Durante um dado período de saída, qual foi a proporção de solicitações boas dentre o total de solicitações?". O que conta como solicitação boa é definida pelo SLI para o serviço.

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.

É possível criar políticas de alerta que usem esse seletor de série temporal usando a API, e você só pode editar essas políticas usando a API.

select_slo_compliance

Sintaxe: select_slo_compliance(SLO_NAME)

A série temporal "SLO compliance" responde à pergunta: "Ao avaliar o comportamento do serviço desde o início do período de conformidade, medido no tempo do calendário ou como uma janela contínua, qual é a proporção entre unidades boas e unidades totais nesse ponto?". A unidade pode ser uma solicitação ou uma janela de tempo. Consulte Conformidade em SLOs com base em solicitações e em janelas para obter mais informações.

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 alerta.

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. Consulte Erros de orçamento para mais informações.

Essa série temporal mede o risco na confiabilidade de um serviço. Se o erro de orçamento ficar abaixo de 0, mesmo se o serviço funcionar perfeitamente no futuro, 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 alerta.

select_slo_budget_fraction

Sintaxe: select_slo_budget_fraction(SLO_NAME)

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

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

select_slo_budget_total

Sintaxe: select_slo_budget_total(SLO_NAME)

A série temporal "SLO total budget" responde à pergunta: "Qual é o erro de orçamento total previsto em solicitações ou minutos no momento, com base no comportamento do serviço desde o início do período de conformidade, tempo de calendário ou janela contínua?".

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

select_slo_counts

Sintaxe: select_slo_counts(SLO_NAME)

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

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