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