Recupera datos de SLO

Los datos de SLO se almacenan en series temporales. Puedes recuperar series temporales de SLO si especificas un selector de series temporales en el parámetro filter del método timeSeries.list o si usas la opción modo de filtro directo en el Explorador de métricas.

Políticas de alertas basadas en SLO

Si usas la API de Cloud Monitoring para crear una política de alertas, debes especificar el filtro mediante un selector de series temporales, como un campo en la condición de límite de la política. Si deseas obtener información para crear políticas de alertas basadas en SLO mediante la API de Monitoring, consulta Crea una política de alertas.

Solo se puede usar un subconjunto de los selectores de series temporales disponibles para los SLO en las políticas de alertas. También, las políticas de alertas basadas en SLO que se crearon con Google Cloud Console siempre usan el selector select_slo_burn_rate.

Usa un selector de series temporales en un filtro

Para recuperar los datos de series temporales de los SLO, se debe especificar un selector de series temporales en el filtro. Los datos de SLO no se almacenan con tipos de métricas y no se pueden recuperar con el filtro que especifica un par de tipos de métricas y de recursos supervisados.

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 de un SLO, que se ve así:

    projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID
    

    La expresión anterior contiene tres variables:

    • PROJECT_ID: Es el nombre o número de un proyecto de Google Cloud.
    • SERVICE_ID: Es el nombre de un servicio.
    • SLO_ID: Es el identificador de un SLO que se define para el servicio.

    Si deseas obtener información para encontrar los valores de los campos SERVICE_ID y SLO_ID del proyecto de Google Cloud, consulta Trabaja con la API.

  • 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íodo de visualización. Las unidades de tiempo válidas son “ns”, “us”, “ms”, “s”, “m” y “h”.

Por ejemplo, el selector select_slo_budget toma un argumento SLO_NAME, 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 requiere los argumentos SLO_NAME y LOOKBACK_PERIOD, 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 de consultar datos de series temporales es usar la herramienta del Explorador de API en la página de referencia del método timeSeries.list. Para obtener información sobre esta herramienta, consulta el Explorador de API.

Por ejemplo, para recuperar información sobre el presupuesto de un SLO, completa los siguientes campos en la herramienta del Explorador de API:

  • 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 un sistema, después de que las variables como PROJECT_ID se reemplacen por valores y el método se ejecute, se muestran los siguientes datos de series temporales:

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 con el método timeSeries.list para 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 sostenible del SLO. La tasa de fallas sustentable es la tasa en la que se cumple exactamente el SLO.

Los valores de esta serie temporal pueden variar de 0 a infinito:

  • Un valor de uno indica que el servicio muestra la tasa de fallas ideal: no es demasiado arriesgado ni demasiado conservador.
  • Un valor mayor que uno 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.
  • Un valor inferior a uno significa que la tasa de fallas actual es menor que la tasa sustentable.

Recomendamos que uses dos políticas de alertas a fin de supervisar la tasa de gasto: una política de consumo rápido a fin de alertarte sobre aumentos repentinos en el ritmo de consumo, y una política de consumo lento para advertirte acerca de aumentos graduales.

Puedes crear y editar políticas de alertas en función de este selector de series temporales mediante la API o la consola.

Todas las políticas de alertas basadas en SLO creadas mediante la consola usan este selector para recuperar los datos del SLO.

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 alineación determinado, ¿cuál fue la proporción entre las solicitudes correctas y las totales?”. El SLI para el servicio define lo que se considera una buena solicitud. Para obtener más información sobre los SLI, consulta Descripción general.

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.

select_slo_compliance

Sintaxis: select_slo_compliance(SLO_NAME)

La serie temporal de “cumplimiento de SLO” responde a la siguiente pregunta “¿Cuál es la proporción entre las unidades correctas y las totales desde el comienzo del período de cumplimiento?”. El SLO define el período de cumplimiento como una ventana progresiva o un rango de tiempo calendario. La unidad puede ser una solicitud o un período. Para obtener más información, consulta Cumplimiento en los SLO basados en solicitudes o en períodos.

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. Para obtener más información, consulta Porcentajes de errores aceptables.

Esta serie temporal mide el riesgo en la confiabilidad de un servicio. Si el porcentaje de error aceptable es inferior a cero, 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, según el modo en que 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 del SLO” responde a la pregunta “¿Qué porcentaje de error aceptable, como una fracción entre infinito negativo y uno, 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?”. El SLO define el período de cumplimiento como un período progresivo o un rango de tiempo del calendario.

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 alineación determinado, ¿cuál es la cantidad de solicitudes aceptables e incorrectas?” 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.