Ajude a moldar o futuro das operações de software e compartilhe seu feedback com a pesquisa State of DevOps 2021.

Como recuperar dados do SLO

Os dados do SLO são armazenados em séries temporais. É possível recuperar séries temporais do SLO ao especificar um seletor de série temporal no parâmetro filter para o método timeSeries.list.

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 ver informações sobre como criar políticas de alertas baseadas em SLO usando a API Monitoring, consulte Como criar um alerta.

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 do SLO não são armazenados com tipos de métricas padrão e não podem ser recuperados com o tipo mais comum de filtro que especifica um par de tipos de recursos monitorados e métricas.

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

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

Todas as políticas de alertas baseadas em SLO criadas com o Console do 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 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 "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 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 "Contagens de SLO" 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 é adequado para ingestão em sistemas de armazenamento de longo prazo.

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