Configura la supervisión, las alertas y los registros

Last reviewed 2023-08-08 UTC

En este documento del framework de arquitectura de Google Cloud, se muestra cómo configurar la supervisión, las alertas y el registro para que puedas actuar según el comportamiento del sistema. Esto incluye identificar métricas significativas para hacer un seguimiento y crear paneles a fin de facilitar la visualización de la información sobre tus sistemas.

El programa de investigación de Recursos y evaluación de DevOps (DORA) define la supervisión de la siguiente manera:

"La supervisión es el proceso de recopilar, analizar y usar la información para hacer un seguimiento de las aplicaciones y la infraestructura a fin de poder orientarse en el momento de tomar decisiones empresariales. La supervisión es una función clave porque te brinda estadísticas sobre tus sistemas y tu trabajo".

La supervisión permite a los propietarios del servicio realizar las siguientes acciones:

  • Tomar decisiones fundamentadas cuando los cambios en el servicio afecten el rendimiento
  • Aplicar un enfoque científico a la respuesta ante incidentes
  • Medir la alineación del servicio con los objetivos comerciales

Con la supervisión, el registro y las alertas implementadas, puedes hacer lo siguiente:

  • Analizar las tendencias a largo plazo
  • Comparar tus experimentos en el tiempo
  • Definir alertas sobre métricas críticas
  • Crear paneles relevantes en tiempo real
  • Realizar un análisis retrospectivo
  • Supervisar las métricas basadas en negocios y las métricas de estado del sistema.
    • Las métricas basadas en negocios te ayudan a comprender cómo los sistemas respaldan tu negocio. Por ejemplo, usa las métricas para supervisar lo siguiente:
      • El costo de una aplicación que se entregará a un usuario
      • El cambio de volumen en el tráfico del sitio después de un nuevo diseño
      • Cuánto tiempo le toma a un cliente comprar un producto en tu sitio
    • Las métricas de estado del sistema te ayudan a comprender si los sistemas funcionan de forma correcta y dentro de niveles de rendimiento aceptables.

Usa los siguientes cuatro indicadores de oro para supervisar tu sistema:

  • Latencia. Es el tiempo que toma realizar una solicitud.
  • Tráfico. Cuánta demanda se coloca en su sistema.
  • Errores. La tasa de solicitudes que fallan. El error puede ser explícito (por ejemplo, HTTP 500), implícito (por ejemplo, una respuesta HTTP 200 exitosa con el contenido incorrecto) o por política (por ejemplo, si confirmaste tiempos de respuesta de un segundo, las solicitudes de más de un segundo son un error).
  • Saturación. Qué tan completo es tu servicio. La saturación es una medida de la fracción de sistema, que destaca los recursos más restringidos (es decir, en un sistema con restricción de memoria, muestra la memoria; en un sistema con restricción de E/S, muestra E/S).

Crea un plan de supervisión

Crea un plan de supervisión que se alinee con la misión y la estrategia de operaciones de la organización. Incluye la planificación de la supervisión y la observabilidad durante el desarrollo de la aplicación. Incluir un plan de supervisión al principio del desarrollo de la aplicación puede llevar a una organización hacia la excelencia operativa.

Incluye los siguientes detalles en tu plan de supervisión:

  • Incluye todos tus sistemas, como los recursos locales y los recursos en la nube.
  • Incluye la supervisión de los costos de la nube para asegurarte de que los eventos de escalamiento no hagan que el uso supere los límites del presupuesto.
  • Crea diferentes estrategias de supervisión para medir el rendimiento de la infraestructura, la experiencia del usuario y los indicadores clave de rendimiento de la empresa (KPI). Por ejemplo, los umbrales estáticos pueden funcionar bien para medir el rendimiento de la infraestructura, pero no reflejan la experiencia del usuario.

Actualiza el plan a medida que crezcan las estrategias de supervisión. Itera en el plan para mejorar el estado de tus sistemas

Define métricas que midan todos los aspectos de tu organización

Define las métricas necesarias para medir el comportamiento de tu implementación. Para ello, deberás hacer lo siguiente:

  • Define tus objetivos comerciales.
  • Identifica las métricas y los KPI que pueden brindarte información cuantificable para medir el rendimiento. Asegúrate de que las definiciones de métricas se traduzcan en todos los aspectos de tu organización, desde las necesidades comerciales, incluidos los costos de la nube, hasta los componentes técnicos.
  • Usa estas métricas a fin de crear indicadores de nivel de servicio (SLIs) para tus aplicaciones. Para obtener más información, consulta Elige los SLIs adecuados.

Métricas comunes para diversos componentes

Las métricas se generan en todos los niveles de tu servicio, desde la infraestructura y las herramientas de redes hasta la lógica empresarial. Por ejemplo:

  • Métricas de infraestructura:
    • Estadísticas de máquinas virtuales, incluidas las instancias, la CPU, la memoria, el uso y los recuentos
    • Estadísticas basadas en el contenedor: utilización de clúster, capacidad de clúster, utilización del nivel de pods y recuentos.
    • Estadísticas de las Herramientas de redes, incluidas la entrada/salida, el ancho de banda entre los componentes, la latencia y la capacidad de procesamiento
    • Solicitudes por segundo, según lo que mida el balanceador de cargas
    • Total de bloques de disco leídos, por disco
    • Paquetes enviados a través de una interfaz de red determinada
    • Tamaño del montón de memoria para un proceso determinado
    • Distribución de las latencias de respuesta
    • Cantidad de consultas no válidas que rechazó una instancia de base de datos
  • Las métricas de la aplicación:
    • Comportamiento específico de la aplicación, que incluye consultas por segundo, escrituras por segundo y mensajes enviados por segundo
  • Métricas de estadísticas de servicios administrados:
    • Las QPS, la capacidad de procesamiento, la latencia y el uso de los servicios administrados por Google (API o productos como BigQuery, App Engine y Bigtable)
  • Métricas de estadísticas de conectividad de red:
    • Estadísticas relacionadas con la VPN o la interconexión sobre cómo conectarse a sistemas locales o externos a Google Cloud.
  • SLI
    • Las métricas asociadas con el estado general del sistema.

Configura la supervisión

Configura la supervisión para supervisar los recursos locales y los recursos en la nube.

Elige una solución de supervisión que cumpla con las siguientes características:

  • Sea independiente de la plataforma
  • Proporcione capacidades uniformes para supervisar entornos locales, híbridos y de múltiples nubes.

Use una sola plataforma para consolidar los datos de supervisión que provienen de diferentes fuentes te permite compilar métricas uniformes y paneles de visualización.

A medida que configures la supervisión, automatiza las tareas de supervisión cuando sea posible.

Supervisión con Google Cloud

Usar un servicio de supervisión, como Cloud Monitoring, es más fácil que crear un servicio de supervisión. La supervisión de una aplicación compleja es una tarea de ingeniería importante por sí sola. Incluso con la infraestructura existente de instrumentación, recopilación y visualización de datos, y alertas implementadas, es un trabajo de tiempo completo para alguien que realice la compilación y el mantenimiento.

Considera usar Cloud Monitoring a fin de obtener visibilidad en el rendimiento, la disponibilidad y el estado de las aplicaciones y la infraestructura para los recursos locales y en la nube.

Cloud Monitoring es un servicio administrado que forma parte de Google Cloud Observability. Puedes usar Cloud Monitoring para supervisar los servicios de Google Cloud y las métricas personalizadas. Cloud Monitoring proporciona una API para la integración en herramientas de supervisión de terceros.

Cloud Monitoring agrupa métricas, registros y eventos de la infraestructura basada en la nube de tu sistema. Los datos les brindan a los desarrolladores y operadores un conjunto abundante de indicadores visibles que pueden acelerar el análisis de las causas de origen y reducir el tiempo promedio de resolución. Puedes usar Cloud Monitoring para definir alertas y métricas personalizadas que cumplan con tus objetivos comerciales y te ayuden a agregar, visualizar y supervisar el estado del sistema.

Cloud Monitoring proporciona paneles predeterminados para servicios de aplicaciones de código abierto y en la nube. Mediante el modelo de métricas, puedes definir paneles personalizados con herramientas de visualización potentes y configurar gráficos en el Explorador de métricas.

Configurar las alertas

Un buen sistema de alertas mejora tu capacidad de lanzar funciones. Ayuda a comparar el rendimiento en el tiempo para determinar la velocidad de los lanzamientos de funciones o la necesidad de revertirlos. Si deseas obtener información sobre las reversiones, consulta Restablece versiones anteriores sin problemas.

A medida que configuras las alertas, asigna las alertas directamente a las métricas críticas. Entre estas métricas críticas, se incluyen las siguientes:

  • Los cuatro indicadores clave:
    • Latencia
    • Tráfico
    • Errores
    • Saturación
  • Estado del sistema
  • Uso del servicio
  • Eventos de seguridad
  • Experiencia del usuario

Haz que las alertas sean prácticas a fin de minimizar el tiempo de resolución. Para ello, haz lo siguiente en cada alerta:

  • Incluye una descripción clara, como qué se supervisa y el impacto en la empresa.
  • Proporciona toda la información necesaria para actuar de inmediato. Si se necesitan algunos clics y navegación para comprender las alertas, es difícil que la persona de turno actúe.
  • Define los niveles de prioridad para varias alertas.
  • Identifica con claridad a la persona o el equipo responsable de responder a la alerta.

Para aplicaciones y servicios críticos, compila acciones de autorreparación en las alertas activadas debido a condiciones de falla comunes, como falla de estado del servicio, cambio de configuración o aumentos de la capacidad de procesamiento.

A medida que configures las alertas, intenta eliminar el trabajo repetitivo. Por ejemplo, elimina el trabajo repetitivo mediante la eliminación de los errores frecuentes o la automatización de las correcciones de estos errores, lo que posiblemente evita que se active una alerta. Quitar el trabajo repetitivo permite que quienes estén en las llamadas se enfoquen en hacer que los componentes operativos de tu aplicación sean confiables. Para obtener más información, consulta Crea una cultura de automatización.

Crea paneles de supervisión y alertas

Una vez implementada la supervisión, compila paneles relevantes y sin complicaciones que incluyan información de tus sistemas de supervisión y alertas.

Elegir una forma adecuada de visualizar tu panel puede ser difícil de relacionar con tus objetivos de confiabilidad. Crea paneles para visualizar ambos:

  • Análisis a corto plazo y en tiempo real
  • Análisis a largo plazo

Para obtener más información sobre la implementación de la administración visual, consulta el artículo de capacidad Administración visual.

Habilita el registro para aplicaciones críticas

Los servicios de registro son fundamentales para supervisar tus sistemas. Si bien las métricas forman la base de los elementos específicos que se supervisan, los registros contienen información valiosa que necesitas para la depuración, el análisis relacionado con la seguridad y los requisitos de cumplimiento.

El registro de los datos que generan tus sistemas te ayuda a garantizar una postura de seguridad eficaz. Para obtener más información sobre el registro y la seguridad, consulta Implementa controles de registro y de detección en la categoría de seguridad del framework de arquitectura.

Cloud Logging es un servicio de registro integrado que puedes usar para almacenar, buscar, analizar, supervisar y generar alertas sobre eventos y datos de registro. Logging recopila de forma automática los registros de los servicios de Google Cloud y otros proveedores de servicios en la nube. Puedes usar estos registros a fin de compilar métricas para supervisar y crear exportaciones de registros a servicios externos, como Cloud Storage, BigQueryPub/Sub.

Configura un registro de auditoría

Para responder preguntas como “quién hizo qué, dónde y cuándo” en los proyectos de Google Cloud, usa los Registros de auditoría de Cloud.

Los Registros de auditoría de Cloud capturan varios tipos de actividad, como las siguientes:

  • Los registros de actividad del administrador contienen entradas de registro de las llamadas a la API o las otras acciones administrativas que modifican la configuración o los metadatos de los recursos. Los registros de actividad del administrador siempre están habilitados.
  • Los registros de auditoría de acceso a los datos registran las llamadas a la API que crean, modifican o leen los datos proporcionados por el usuario. Estos registros están inhabilitados de forma predeterminada, ya que pueden ser extensos. Puedes configurar qué servicios de Google Cloud producen registros de acceso a los datos.

Para obtener una lista de los servicios de Google Cloud que escriben registros de auditoría, consulta Servicios de Google con registros de auditoría. Usa Identity and Access Management (IAM) para limitar quién tiene acceso a fin de ver los registros de auditoría.

¿Qué sigue?