Crear un acuerdo de nivel de servicio

Para monitorizar un servicio, debes tener al menos un objetivo de nivel de servicio. Los SLOs encapsulan tus objetivos de rendimiento del servicio. Todos los SLOs se basan en una métrica de rendimiento, denominada indicador de nivel de servicio (SLI). Para obtener información general sobre los indicadores y los objetivos de nivel de servicio, consulta Conceptos de la monitorización de servicios.

Puedes crear hasta 500 SLOs para un servicio.

Antes de empezar

Para obtener los permisos que necesitas para ver y crear SLOs, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Primeros pasos

Para definir un SLO, ve al panel Crear un objetivo de nivel de servicio (SLO).

  1. En la Google Cloud consola, ve a la página  SLOs:

    Ve a Objetivos de nivel de servicio.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. Abre el panel Crear un objetivo de nivel de servicio (SLO):

    Para un servicio nuevo:

    1. Haz clic en Definir servicio y, a continuación, define tu servicio.
    2. Después de hacer clic en Enviar en el panel Definir servicio, haz clic en Crear SLO.

    En el caso de un servicio ya creado:

    1. En la lista Servicios, haz clic en el nombre del servicio.
    2. En la página Detalles del servicio, haz clic en Crear SLO.

El panel de creación de SLO te guía por los pasos para crear un SLO. En el resto de este documento se describe cada uno de los siguientes pasos del proceso de creación de SLOs:

  1. Define el SLI.
  2. Define los detalles del SLI.
  3. Define el SLO.
  4. Revisa y guarda el SLO.

Para ir al siguiente paso, haz clic en Continuar. Puedes hacer clic en un paso anterior para hacer cambios antes de guardar el SLO. Para salir del proceso de creación de SLO, haz clic en Cancelar.

Configurar SLI

El panel Configurar SLI tiene los siguientes subpaneles:

  • Detalles del servicio: informes que identifican información sobre tu servicio. Es lo mismo que el panel Detalles del servicio del panel de control del servicio.

  • Elige una métrica: selecciona una métrica para el rendimiento que quieras monitorizar.

  • ¿Basada en solicitudes o en periodos?, donde puedes elegir cómo se va a evaluar la métrica.

En la siguiente captura de pantalla se muestra el panel de SLI:

Usa el panel **Configurar SLI** para elegir una métrica de rendimiento.

Para obtener más información sobre las métricas que se usan en los indicadores de nivel de servicio y los métodos de evaluación, consulta el artículo conceptual Indicadores de nivel de servicio.

Elegir una métrica

La métrica de SLI especifica el tipo de rendimiento que quieres medir. En el SLI, se crea una proporción a partir de la métrica para medir el buen rendimiento a lo largo del tiempo. Tienes las siguientes opciones para los SLIs:

  • Disponibilidad, que mide el grado en que tu servicio está disponible para los usuarios.
  • La latencia, que mide la capacidad de respuesta de tu servicio a los usuarios.
  • Otro, que te permite indicar que quieres usar una métrica específica. Especifica la métrica y describe cómo crear el SLI en el panel Definir detalles del SLI.

Las opciones válidas dependen del tipo de servicio que estés configurando.

  • En el caso de los servicios de Cloud Service Mesh, Istio en Google Kubernetes Engine y App Engine, puedes elegir cualquiera de las opciones. Las métricas de disponibilidad y latencia de estos servicios ya se conocen o bien has elegido Otro para usar un indicador de nivel de servicio personalizado.

  • En el caso de los servicios basados en GKE y los servicios personalizados, la única opción es Otro. Las métricas de Prometheus no se incluyen en los SLOs de disponibilidad y latencia predeterminados, y no se conocen de antemano otras métricas significativas de disponibilidad o latencia de estos servicios.

    Si has configurado la recogida de métricas de Prometheus mediante Google Cloud Managed Service para Prometheus, puedes definir una métrica de Prometheus recogida como SLI personalizado.

Elegir el método de evaluación

Después de seleccionar la métrica del SLI, especifica cómo se debe evaluar.

  • La evaluación basada en solicitudes mide el número de solicitudes que cumplen el criterio de evaluación en comparación con el número total de solicitudes de un periodo determinado.

  • La evaluación basada en periodos mide el número de periodos de evaluación que cumplen un criterio de corrección en comparación con el número total de periodos de evaluación.

En ambos métodos de evaluación, los criterios se especifican en la página Definir detalles del SLI.

Para obtener más información sobre estos tipos de evaluación, consulta Cumplimiento de los SLOs basados en solicitudes y ventanas.

Configurar los detalles del SLI

El contenido del panel Definir detalles del SLI depende de la métrica y del método de evaluación que hayas elegido en el paso anterior.

Si ha elegido la métrica de disponibilidad y la evaluación basada en solicitudes, no necesita proporcionar más detalles.

Evaluación basada en Windows

Si has seleccionado la evaluación basada en ventanas, puedes definir los criterios adicionales de la ventana en este panel: un criterio de calidad y una duración.

Define el periodo del SLI eligiendo un criterio de corrección y un periodo de evaluación.

El criterio de corrección indica el porcentaje de ventanas que deben evaluarse como "buenas" durante el periodo de cumplimiento. La duración especifica la longitud del periodo.

Métrica de latencia

Si ha elegido la métrica de latencia, especifique el valor de umbral que determina el rendimiento aceptable en este panel:

Define el umbral de latencia del SLI.

Cualquier valor por encima del umbral de latencia se considera un rendimiento "malo" al evaluar el indicador de nivel de servicio.

Indicador de nivel de servicio personalizado

Si has seleccionado Otro como métrica del SLI, especifica la métrica que quieras usar en este panel. Puede seleccionar una métrica escribiéndola en el campo Métrica de rendimiento o eligiendo una de la lista.

Las métricas de la lista se dividen en dos tipos:

  • Indicadores de corte de distribución
  • Indicadores de proporción de series temporales

Si recoges métricas de Prometheus con Google Cloud Managed Service para Prometheus, el nombre de la métrica empieza por prometheus.googleapis.com/.

En la siguiente captura de pantalla se muestra una lista parcial:

Las métricas del menú se clasifican por tipo de indicador.

Si seleccionas un indicador de corte de distribución, debes configurar el SLI proporcionando un intervalo (superior, inferior o entre) y un filtro para especificar el recurso monitorizado y las etiquetas que quieras incluir. El panel de configuración tiene el siguiente aspecto:

Definir un intervalo y un filtro para un indicador de corte de distribución

Si selecciona un indicador de ratio de serie temporal, configure el ratio creando filtros de numerador y denominador para clasificar los datos de la métrica. Normalmente, esto se hace seleccionando los valores de las etiquetas de la métrica o del tipo de recurso. El panel de configuración tiene el siguiente aspecto:

Define filtros de numerador y denominador para una relación de serie temporal.

Para obtener más información sobre estos tipos de SLI, consulta las páginas de referencia de la API Monitoring sobre DistributionCut y TimeSeriesRatio.

Métricas del plano de control de GKE

Las métricas del plano de control de GKE son indicadores útiles del estado del sistema que puedes usar para crear SLIs personalizados. Para poder usar estas métricas, debes habilitar su recogida. Google Cloud Managed Service para Prometheus recoge estas métricas.

  • Usa las [métricas del servidor de la API][gke-api-metrics] para monitorizar la carga del servidor de la API, la fracción de solicitudes del servidor de la API que devuelven errores y la latencia de respuesta de las solicitudes recibidas por el servidor de la API.
  • Usa las métricas del programador para responder de forma proactiva a los problemas de programación cuando no haya suficientes recursos para los pods pendientes.

Para obtener más información sobre las métricas del plano de control y cómo usarlas para monitorizar el estado del sistema, consulta Usar métricas del plano de control.

Vista previa del gráfico

Una vez que hayas configurado el SLI, el panel Definir detalles del SLI incluirá un gráfico de vista previa que te mostrará cómo se mide el rendimiento histórico de este servicio con el SLI. Por ejemplo:

El SLI completado muestra un gráfico basado en el historial de datos.

Si acabas de crear o implementar un servicio, puede que aún no haya datos. Puedes crear el SLI, pero no obtendrás la perspectiva histórica.

Configurar el objetivo de nivel de servicio

El panel Configurar objetivo de nivel de servicio tiene las siguientes secciones:

  • Periodo de cumplimiento: define el periodo durante el que quieres evaluar el SLI.

  • Objetivo de rendimiento: especifica el umbral de rendimiento durante el periodo de cumplimiento.

  • Vista previa: muestra un gráfico con el umbral del objetivo de rendimiento y otro con los resultados de la evaluación del SLI durante el periodo de cumplimiento.

Define el SLO eligiendo un periodo de cumplimiento y un objetivo de rendimiento.

Periodo de cumplimiento

Hay dos tipos de periodo de cumplimiento, que puedes seleccionar en el menú:

  • Periodo natural
  • Ventana de tiempo

Un periodo de calendario mide el cumplimiento durante un periodo fijo, la duración del periodo. Cuando finaliza el periodo, el presupuesto de errores se restablece y empieza un nuevo periodo de cumplimiento.

Un periodo ininterrumpido es un periodo que se va desplazando. También tiene una duración, pero el cumplimiento se calcula en los últimos n días. Cuando empieza un nuevo día, se vuelven a calcular el cumplimiento y el presupuesto de errores restante de los n días anteriores.

Para obtener más información sobre los periodos de cumplimiento de calendario y de ventana de tiempo, consulta Periodos de cumplimiento.

Vista previa del gráfico

Una vez que hayas configurado el objetivo de nivel de servicio, el panel Configurar objetivo de nivel de servicio incluirá un gráfico de vista previa que te mostrará cómo se mide el rendimiento histórico de este servicio con el objetivo de nivel de servicio. Por ejemplo:

El SLO completado muestra un gráfico basado en el historial de datos.

Si acabas de crear o implementar un servicio, puede que aún no haya datos. Puedes crear el SLO, pero no obtendrás la perspectiva histórica.

Guardar un SLO

El panel Revisar y guardar tiene un solo campo, el nombre visible del SLO. El campo tiene un valor predeterminado basado en las selecciones que hayas hecho al definir el SLO, pero puedes cambiarlo para que el nombre visible sea más descriptivo.

El panel también ofrece una vista previa de tu SLO en formato JSON. El bloque JSON resume tu SLO y se puede copiar para usarlo con el método serviceLevelObjectives.create. Si cambias alguno de los valores del SLO, la vista previa de JSON se actualizará automáticamente.

En la siguiente captura de pantalla se muestra el campo con un nombre predeterminado:

Monitoring genera un nombre predeterminado para tu SLO.

Cuando estés conforme con el nombre visible, haz clic en Crear SLO.

Siguientes pasos

Después de crear un SLO, puedes hacer lo siguiente: