Recupera datos de SLO

Los datos de SLO se almacenan en series temporales, pero estas no se pueden recuperar mediante la especificación de un tipo de métrica y un recurso supervisado en un componente de la consola, como el Explorador de métricas o el método timeSeries.list en la API de Cloud Monitoring.

En su lugar, debes recuperar las series temporales de SLO mediante la especificación de un selector de series temporales en el parámetro filter del método timeSeries.list.

Usa un selector de series temporales en un filtro

El método usual para recuperar datos de series temporales es especificar un filtro que consista en un par de tipos de métricas y recursos supervisados que identifiquen un conjunto de series temporales. Los datos de SLO no se almacenan con tipos de métricas estándar y no se pueden recuperar con este tipo de filtro. Para recuperar los datos de series temporales de los SLO, en el filtro se debe especificar un selector de series temporales.

Nombres y argumentos

Los selectores de series temporales tienen uno de los siguientes formatos:

SELECTOR_NAME(SLO_NAME)
SELECTOR_NAME(SLO_NAME, LOOKBACK_PERIOD)

Los selectores tienen nombres que comienzan con select_slo_ y toman uno o dos argumentos:

  • El primer argumento del selector es el nombre del recurso para un SLO, que se ve así:

    projects/[PROJECT_ID]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_ID]
    

  • El segundo argumento, si se admite, es un período de retrospectiva. Consulta Tipos de alertas de porcentaje de error aceptable para obtener información sobre los períodos de retrospectiva. Las unidades de tiempo válidas son “ns”, “us”, “ms”, “s”, “m” y “h”.

Por ejemplo, el selector select_slo_budget toma solo el argumento de nombre de SLO, por lo que un filtro que usa este selector se ve de la siguiente manera:

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

Por el contrario, el selector select_slo_burn_rate también toma un período de retrospectiva, por lo que un filtro que usa este selector se ve de la siguiente manera:

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

Para obtener una lista y una descripción de todos los selectores, consulta Selectores de series temporales.

Recupera datos con un selector

Una forma directa de consultar datos de series temporales es mediante el uso de la herramienta Explorador de API en la página de referencia del método timeSeries.list. Para obtener información sobre la herramienta Explorador de API, consulta Explorador de API.

En la siguiente captura de pantalla, se muestra el uso, en el Explorador de API, del selector de series temporales select_slo_budget como un filtro para timeSeries.list:

Especifica un selector de series temporales para el método timeSeries.list.

A continuación, encontrarás un fragmento de los datos de series temporales mostrados:

Un extracto de la serie temporal recuperada

Selectores de series temporales

En esta sección, se enumeran los selectores de series temporales disponibles para los SLO y se describe lo que representan. Todos los selectores se pueden usar en filtros para timeSeries.list a fin de recuperar datos de series temporales. No todos son compatibles con las políticas de alertas.

select_slo_burn_rate

Sintaxis: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)

El selector de series temporales de “ritmo de consumo” muestra la proporción entre la tasa de fallas actual (la tasa de solicitudes incorrectas en el intervalo de retrospectiva) y la tasa de fallas sustentable del SLO. La tasa de fallas sostenible es la tasa en la que se cumple exactamente el SLO: un valor de 1 significa que el servicio muestra la tasa de fallas ideal: no es demasiado arriesgado ni demasiado conservador.

Los valores de esta serie temporal pueden variar de 0 a infinito. Un valor mayor que 1 significa que la tasa de fallas supera la tasa sustentable. Mientras más alto sea el valor, más pronto el SLO dejará de cumplir con las normas.

Usa dos políticas de alertas a fin de controlar tu ritmo de consumo: una política de consumo rápido para alertarte sobre aumentos repentinos en el ritmo de consumo, y una política de consumo lento para advertirte acerca de aumentos graduales. Para obtener más información, consulta Crea la política de alertas.

select_slo_health

Sintaxis: select_slo_health(SLO_NAME)

La serie temporal de “estado de SLO” responde a la siguiente pregunta: “Durante un período de resultado determinado, ¿cuál fue la proporción entre las solicitudes correctas y las totales?”. El SLI del servicio define lo que se considera una solicitud correcta.

Esta serie temporal mide el rendimiento del servicio: si todas las solicitudes al servicio son correctas, los datos de esta serie temporal tienen el valor 1. A medida que aumenta la cantidad de solicitudes incorrectas, los valores de los datos disminuyen.

Puedes crear políticas de alertas que usen este selector de series temporales mediante la API y solo puedes editarlas con la API.

select_slo_compliance

Sintaxis: select_slo_compliance(SLO_NAME)

La serie temporal de “cumplimiento de SLO” responde a la siguiente pregunta: “Cuando se mide el comportamiento del servicio desde el comienzo del período de cumplimiento, que se mide con el calendario o como un período progresivo, ¿cuál es la proporción entre las unidades correctas y las totales en este punto?”. La unidad puede ser una solicitud o un período. Consulta Cumplimiento en los SLO basados en solicitudes o en períodos para obtener más información.

Esta serie temporal te brinda un panorama general de cómo el servicio cumple con el SLO. No produce una señal de operación urgente.

No uses este selector de series temporales en las políticas de alertas.

select_slo_budget

Sintaxis: select_slo_budget(SLO_NAME)

La serie temporal de “porcentaje de SLO” responde a la siguiente pregunta: “¿Qué cantidad del porcentaje de error aceptable se mantuvo en el momento de la medición?”. El porcentaje de error aceptable puede medirse en solicitudes o minutos, y la cantidad restante se calcula en función de si el período de cumplimiento se mide con el calendario o como un período progresivo. Consulta Porcentajes de errores aceptables para obtener más información.

Esta serie temporal mide el riesgo en la confiabilidad de un servicio. Si el porcentaje de error aceptable es inferior a 0, incluso si el servicio funciona de forma correcta en el futuro, es posible que no se cumpla con el SLO del período actual. Un incumplimiento del SLO puede tener consecuencias reales para el entorno de producción de una organización, en función de cómo la organización rija la confiabilidad.

No uses este selector de series temporales en las políticas de alertas.

select_slo_budget_fraction

Sintaxis: select_slo_budget_fraction(SLO_NAME)

La serie temporal de “fracción de presupuesto de SLO” responde a la pregunta “¿Qué porcentaje del presupuesto de error, como una fracción entre infinito negativo y 1, queda en este momento?”

No uses este selector de series temporales en las políticas de alertas.

select_slo_budget_total

Sintaxis: select_slo_budget_total(SLO_NAME)

La serie temporal de “porcentaje total de SLO” responde a la siguiente pregunta: “¿Cuál es el porcentaje de error aceptable total (en solicitudes o minutos) que se espera que esté disponible en este momento, según el comportamiento del servicio desde el inicio del período de cumplimiento, ya sea como calendario o período progresivo?”.

No uses este selector de series temporales en las políticas de alertas.

select_slo_counts

Sintaxis: select_slo_counts(SLO_NAME)

La serie temporal de “recuentos de SLO” responde a la pregunta “Durante un período de resultado determinado, ¿cuál es la proporción entre las solicitudes buenas y las malas?” Este selector proporciona una serie temporal que registra el estado general y es adecuado para la transferencia a sistemas de almacenamiento a largo plazo.

No uses este selector de series temporales en las políticas de alertas.