A obter dados de SLO

Os dados de SLO são armazenados em séries cronológicas. Pode obter séries cronológicas de SLOs especificando um seletor de séries cronológicas no parâmetro filter para o método timeSeries.list ou usando o modo de filtro direto no explorador de métricas.

Políticas de alerta baseadas em SLOs

Se estiver a criar uma política de alerta através da API Cloud Monitoring, especifica o filtro através de um seletor de séries cronológicas como um campo na condição de limite da política. Para ver informações sobre como criar políticas de alertas baseadas em SLOs usando a API Monitoring, consulte o artigo Crie uma política de alertas.

Apenas é possível usar um subconjunto dos seletores de séries cronológicas disponíveis para os SLOs em políticas de alerta. Além disso, as políticas de alerta baseadas em SLOs criadas com a Google Cloud consola usam sempre o seletor select_slo_burn_rate.

Usar um seletor de séries cronológicas num filtro

Para obter dados de séries cronológicas para SLOs, o filtro tem de especificar um seletor de séries cronológicas. Os dados de SLO não são armazenados com tipos de métricas e não podem ser obtidos com o filtro que especifica um par de tipos de métricas e recursos monitorizados.

Nomes e argumentos

Os seletores de séries cronológicas têm um dos seguintes formatos:

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 do seletor é o nome do recurso de um SLO, que tem o seguinte aspeto:

    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 Google Cloud projeto.
    • SERVICE_ID: nome de um serviço.
    • SLO_ID: identificador de um SLO definido para o serviço.

    Para ver informações sobre como encontrar os valores dos campos SERVICE_ID e SLO_ID para o seu Google Cloud projeto, consulte o artigo Trabalhar com a API.

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

Por exemplo, o seletor select_slo_budget usa um argumento SLO_NAME. Por isso, um filtro que use este seletor tem o seguinte aspeto:

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, pelo que um filtro que use este seletor tem o seguinte aspeto:

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

Para ver uma lista e uma descrição de todos os seletores, consulte o artigo Seletores de séries cronológicas.

Obter dados com um seletor

Uma forma de consultar dados de séries cronológicas é usar a ferramenta Explorador de APIs na página de referência do método timeSeries.list. Para mais informações sobre esta ferramenta, consulte o Explorador de APIs.

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

  • name: 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

Para um sistema, depois de as variáveis, como PROJECT_ID, serem substituídas por valores e o método ser executado, são devolvidos os seguintes dados de séries cronológicas:

Um excerto da série cronológica obtida

Seletores de intervalos temporais

Esta secção apresenta os seletores de séries cronológicas disponíveis para os SLOs e descreve o que representam. Pode usar todos os seletores em filtros com o método timeSeries.list para obter dados de séries cronológicas. Nem todos são compatíveis com as políticas de alerta.

select_slo_burn_rate

Sintaxe: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)

O seletor de intervalos temporais da "velocidade de consumo" devolve a proporção da taxa de falhas atual (a taxa de pedidos inválidos no intervalo de análise retrospetiva) para a taxa de falhas sustentável para o SLO. A taxa de falhas sustentável é a taxa à qual o SLO é exatamente cumprido.

Os valores nesta série cronológica podem variar entre 0 e infinito:

  • Um valor de um indica que o serviço apresenta a taxa de falhas ideal: não é demasiado arriscado nem demasiado conservador.
  • Um valor superior a um significa que a taxa de falhas excede a taxa sustentável. Quanto mais elevado for o valor, mais cedo o SLO deixa de estar em conformidade.
  • Um valor inferior a um significa que a taxa de falhas atual é inferior à taxa sustentável.

Recomendamos que use duas políticas de alerta para monitorizar a taxa de consumo: uma política de consumo rápido para receber alertas sobre picos na taxa de consumo e uma política de consumo lento para receber alertas sobre aumentos graduais.

Pode criar e editar políticas de alerta com base neste seletor de séries cronológicas através da API ou da Google Cloud consola.

Todas as políticas de alerta baseadas em SLOs criadas através da Google Cloud consola usam este seletor para obter os dados de SLO.

select_slo_health

Sintaxe: select_slo_health(SLO_NAME)

A série cronológica "Estado da SLO" responde à pergunta: "Durante um período de alinhamento específico, qual foi a proporção de pedidos válidos em relação ao total de pedidos?" O SLI para o serviço define o que conta como um pedido válido. Para mais informações sobre os SLIs, consulte o artigo Vista geral.

Esta série cronológica mede o desempenho do serviço: se cada pedido ao serviço for bom, os pontos de dados nesta série cronológica têm o valor 1. À medida que o número de pedidos inválidos aumenta, os valores dos pontos de dados diminuem.

select_slo_compliance

Sintaxe: select_slo_compliance(SLO_NAME)

A série cronológica "Conformidade com o SLO" responde à pergunta: "Qual é a proporção de boas unidades em relação ao 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 do calendário. A unidade pode ser um pedido ou um período. Para mais informações, consulte o artigo Conformidade nos SLOs baseados em pedidos e janelas.

Esta série cronológica dá-lhe uma ideia geral do desempenho do serviço em relação ao SLO. Não produz um sinal operacionalmente urgente.

Não use este seletor de intervalos temporais em políticas de alerta.

select_slo_budget

Sintaxe: select_slo_budget(SLO_NAME)

A série cronológica "Orçamento do SLO" responde à pergunta: "Que parte da margem de erro permaneceu no momento da medição?" A margem de erro pode ser medida em pedidos ou minutos, e o valor restante é calculado com base no facto de o período de conformidade ser medido em tempo de calendário ou como uma janela contínua. Para mais informações, consulte o artigo Orçamentos de erros.

Esta série cronológica mede o risco na fiabilidade de um serviço. Se o orçamento de erro ficar inferior a zero, pode não ser possível cumprir o SLO para o período atual. O não cumprimento do SLO pode ter consequências reais para o ambiente de produção de uma organização, consoante a forma como a organização gere a fiabilidade.

Não use este seletor de intervalos temporais em políticas de alerta.

select_slo_budget_fraction

Sintaxe: select_slo_budget_fraction(SLO_NAME)

A série cronológica "SLO budget fraction" responde à pergunta: "Que parte da margem de erro, como uma fração de infinito negativo a um, permanece neste momento?"

Não use este seletor de intervalos temporais em políticas de alerta.

select_slo_budget_total

Sintaxe: select_slo_budget_total(SLO_NAME)

A série cronológica "Orçamento total do SLO" responde à pergunta: "Qual é o orçamento total de erros (em pedidos ou minutos) que se prevê que esteja 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 do calendário.

Não use este seletor de intervalos temporais em políticas de alerta.

select_slo_counts

Sintaxe: select_slo_counts(SLO_NAME)

A série cronológica "SLO counts" responde à pergunta "Durante um determinado período de alinhamento, qual é o número de pedidos bons e maus?" Este seletor fornece uma série cronológica que regista o estado geral e é adequado para carregamento em sistemas de armazenamento a longo prazo.

Não use este seletor de intervalos temporais em políticas de alerta.