Integra Cloud Monitoring, Logging y Trace con la observabilidad y las soluciones de alerta

En este documento, se proporcionan recursos que describen cómo integrar Cloud Logging, Cloud Monitoring y Cloud Trace con soluciones de terceros y de código abierto para la observabilidad y las alertas. Esta es una guía de referencia para los ingenieros de confiabilidad de sitios (SRE), los administradores de sistemas, las operaciones de red, los profesionales de supervisión y otros profesionales responsables de la confiabilidad, la disponibilidad y el rendimiento de los sistemas. En este documento, suponemos que tienes experiencia en el desarrollo de soluciones en Google Cloud.

Puedes usar diversas herramientas que te ayuden a supervisar y diagnosticar tus sistemas de TI empresariales mediante la generación de alertas cuando se ve afectado el rendimiento y la disponibilidad de esos sistemas. A medida que tú y tu organización expandan su huella de procesamiento a Google Cloud, puedes integrar Google Cloud en tus prácticas de observabilidad y alertas si haces lo siguiente:

  • Extrae datos de Google Cloud: envía datos de Cloud Monitoring y Logging a las herramientas existentes.
  • Transfiere datos a Google Cloud: envía datos de herramientas existentes a Cloud Monitoring y Logging.

Extrae datos de Monitoring y Logging

Puedes enviar datos de observabilidad y eventos para tus recursos de Google Cloud a las herramientas de supervisión, alertas y notificación de terceros que usas. Los servicios de Google Cloud generan datos de observabilidad automáticamente, como métricas, registros y datos de seguimiento, que ayudan a proporcionar una descripción general completa de la observabilidad. La extracción de los datos de Cloud Monitoring y Cloud Logging te permite integrar los datos en tus procesos existentes de confiabilidad, alertas y administración de incidentes.

Datos de observabilidad de Cloud Monitoring

Cloud Monitoring clasifica las métricas en grupos generales según el tipo de servicio que recopila los datos. Para obtener información sobre los tipos de métricas, los recursos, las etiquetas y la agregación en Monitoring, consulta la Información sobre las métricas y la creación de gráficos y la Estructura de series temporales.

Cloud Monitoring recopila métricas, eventos y metadatos de Google Cloud, Amazon Web Services (AWS), instrumentación de aplicaciones y sondeos de tiempo de actividad alojados. Las métricas de las siguientes fuentes se registran en Cloud Monitoring:

Extrae métricas de manera programática

La API de Monitoring te permite leer y escribir de manera programática todas las métricas que se recopilan en Cloud Monitoring. En la siguiente guía de referencia, se proporcionan ejemplos de código y arquitectura que puedes usar para leer métricas desde la API de Monitoring:

Supervisa mediante herramientas de terceros

Puedes leer de forma directa la API de Monitoring con soluciones de terceros, como Datadog y SignalFX, que proporcionan capacidades de supervisión integrada.

Datos de observabilidad de Cloud Logging

Los servicios, los recursos y el código de usuario de Google Cloud generan registros de manera automática para registrar el estado o un evento. Si deseas obtener información para transferir, almacenar y exportar los registros, consulta los Conceptos básicos de Cloud Logging.

La arquitectura de Cloud Logging incluye los componentes siguientes:

  • Productores de registros: Recursos que generan registros en Cloud Logging.
  • Enrutador de registros: Cloud Logging y sus exportaciones.
  • Consumidores de registros: herramientas de código abierto y de terceros que transfieren registros desde Cloud Logging.

Para obtener información sobre cómo los datos fluyen desde los productores a través del enrutador de registros para registrar consumidores, consulta Descripción general del enrutador de registros.

Si deseas obtener información sobre cómo compilar una aplicación para leer los registros de manera programática, consulta Configura y administra receptores y Usa la API de Logging.

Configura exportaciones a herramientas de terceros

Puedes exportar registros a Pub/Sub, Cloud Storage y BigQuery, y crear suscripciones para las herramientas que deseas usar.

Recomendamos usar Pub/Sub para exportar registros a herramientas de terceros, ya que Cloud Logging administra la canalización de exportación y solo eres responsable de procesar los registros que llegan a través de la canalización.

Si deseas obtener más información para exportar registros a herramientas específicas, consulta las siguientes guías:

Extrae registros de manera programática

Puedes usar la API de Logging para leer registros y enumerar entradas de registro con el fin de obtener una lista paginada para un conjunto específico de registros.

Transfiere datos de observabilidad a Monitoring

Puedes usar Cloud Monitoring para transferir datos de observabilidad de herramientas locales y de terceros y, luego, generar estadísticas mediante paneles, gráficos y alertas.

Supervisa los recursos de AWS

Si deseas supervisar los recursos que se ejecutan en AWS, puedes usar la integración de la cuenta de AWS de Cloud Monitoring para transferir información directamente sobre esos recursos a Cloud Monitoring, como las métricas de Amazon CloudWatch. Si quieres obtener más información, consulta la Guía de inicio rápido para AWS y las métricas de AWS.

Supervisa Azure, AWS y recursos locales

Para supervisar los recursos que se ejecutan en Microsoft Azure, los recursos de AWS que Monitoring no incluye de forma automática ni los recursos locales, puedes usar el producto BindPlane de Blue Medora. BindPlane proporciona una solución de integración para transferir datos de métricas de forma directa desde muchas fuentes diferentes. Para obtener más información sobre las integraciones de BindPlane, consulta las siguientes guías:

Supervisar con Prometheus

Prometheus es un framework de supervisión de series temporales y de código abierto que se usa con clústeres de Kubernetes. Puedes usar la integración de Prometheus para transferir métricas de infraestructura y aplicación personalizada a Cloud Monitoring. Si deseas obtener más información, consulta las siguientes guías:

Supervisa con Istio

La observabilidad de Istio te permite exportar métricas de Istio. Puedes usar el complemento Istio on GKE para configurar automáticamente el adaptador de Monitoring o instalar Istio de forma manual en tus clústeres y, luego, configurar el adaptador de Monitoring. Si deseas obtener más información para usar Istio con Cloud Monitoring, consulta las siguientes guías:

Supervisión personalizada

Puedes agregar telemetría personalizada a tus aplicaciones y transferir métricas a Cloud Monitoring para usarlas en gráficos, paneles y políticas de alertas.

Recomendamos que uses OpenCensus si tu aplicación está escrita en un lenguaje compatible con la biblioteca. Para obtener más información, consulta Métricas personalizadas con OpenCensus.

Si tu app se ejecuta en GKE, puedes usar Prometheus, como se describió antes en este documento.

Puedes agregar instrumentación de métricas personalizadas a tu código mediante la API de Monitoring. La API de Monitoring te brinda la mayor flexibilidad y control, pero es más complejo que usar OpenCensus o Prometheus. Para obtener más información, consulta Introducción a la API de Monitoring.

Visualiza datos de Monitoring

Cloud Monitoring ofrece las siguientes opciones para visualizar datos:

La página de Monitoring en Google Cloud Console te permite visualizar datos mediante las siguientes herramientas:

  • Los paneles de Google Cloud: muestran gráficos para recursos de Google Cloud, apps o recursos de AWS. Puedes modificar la configuración del gráfico y el período de visualización de estos paneles.
  • Paneles personalizados: Paneles personalizables que puedes crear para mostrar el estado de los servicios o grupos de recursos que especificas.
  • Explorador de métricas: Es una vista web que te permite crear vistas personalizadas de las métricas que se recopilan en el lugar de trabajo. Puedes compartir gráficos del Explorador de métricas para respaldar casos de solución de problemas y solución de problemas en tiempo real.

Para obtener más información, consulta la página sobre supervisión de varios proyectos con Cloud Monitoring de Google Cloud Skills Boost.

Transfiere datos de observabilidad a Logging

Puedes usar Cloud Logging para transferir datos de registro de instalaciones locales y de herramientas de terceros, y almacenar, buscar, analizar, supervisar y crear alertas de los datos y eventos de registro.

Registra recursos de AWS

Para transferir registros de las VM que se ejecutan en Amazon EC2, configura los permisos de la VM y, luego, instala el agente de Cloud Logging en las VM. Si deseas obtener más información para usar los registros de AWS con Cloud Logging, consulta la guía de inicio rápido para AWS.

Logging de Azure y recursos locales

Para transferir registros de recursos que se ejecutan en Microsoft Azure o de forma local, puedes usar la solución de integración BindPlane de Blue Medora. Si deseas obtener más información, consulta la guía para registrar recursos locales con Blue Medora.

Registro personalizado

Para enviar registros directamente a Cloud Logging, puedes usar las bibliotecas cliente de Logging. A fin de obtener más información sobre el uso de las bibliotecas cliente de Logging para transferir registros, consulta las muestras de la API de Logging.

Transfiere seguimientos a Cloud Trace

Cloud Trace te ayuda a analizar la latencia de la app, ya que proporciona instrumentación de la aplicación, un backend de almacenamiento y una capa de visualización y análisis para los seguimientos que transfieres. Cloud Trace es un sistema de seguimiento distribuido que puedes usar para analizar la latencia de las apps, en particular en arquitecturas complejas basadas en microservicios.

Seguimiento con Zipkin

Si tu app ya está instrumentada con Zipkin y no quieres ejecutar tu propio backend de seguimiento o si quieres acceder a las herramientas de análisis avanzado de Cloud Trace, puedes transferir seguimientos a Cloud Trace. El proyecto Zipkin mantiene esta funcionalidad y Google no la admite oficialmente. Para obtener más información, consulta Usa Cloud Trace con Zipkin.

Realiza un seguimiento con OpenTelemetry

Si no tienes instrumentación de seguimiento existente y deseas usar Cloud Trace como la herramienta de análisis de seguimiento, te recomendamos usar OpenTelemetry. OpenTelemetry es una biblioteca de métricas y seguimiento de código abierto que admite diversos lenguajes. Para obtener más información sobre el uso de OpenTelemetry con Cloud Trace, consulta la documentación de OpenTelemetry . Para ver un ejemplo mediante Go, consulta el paquete del exportador de seguimiento.

Realiza seguimientos con bibliotecas cliente

Puedes usar las bibliotecas cliente de Cloud Trace para la instrumentación de apps cuando ejecutas VM o contenedores en Google Cloud, en otros proveedores de servicios en la nube o de forma local. Google realiza una transición para usar OpenTelemetry. Si deseas comenzar a usar el seguimiento distribuido, te recomendamos usar OpenTelemetry como se describió antes en este documento.

Alertas y notificaciones

Puedes usar Google Cloud y herramientas externas para enviar alertas y notificaciones de los datos transferidos desde sistemas externos.

Cloud Monitoring proporciona funcionalidad para alertas y a fin de administrar incidentes y eventos. Para supervisar tus sistemas, puedes integrar alertas de Monitoring en herramientas que ya adquiriste o que creaste.

Para implementar la integración de Monitoring, usa una o más de las siguientes opciones:

  • Usa las integraciones de notificaciones incorporadas de Cloud Monitoring para enviar notificaciones a otros sistemas.
  • Usa una solución de socios para sistemas en los que no hay integraciones incorporadas disponibles.
  • Compila integraciones personalizadas con webhooks para entregar notificaciones de Cloud Monitoring a otros sistemas.

Envía alertas desde Monitoring

Puedes crear políticas de alertas de Cloud Monitoring basadas en registros y métricas transferidas, y enviar notificaciones a diferentes canales, como correos electrónicos o SMS. En las siguientes guías, se proporcionan ejemplos de implementación para Slack y PagerDuty:

Para obtener más información sobre las alertas, consulta Políticas de alertas en profundidad.

Envía alertas desde una solución de terceros

Puedes usar una solución de terceros para enviar alertas de Cloud Monitoring a tu sistema. Para ver ejemplos, consulta las siguientes guías:

Envía alertas desde integraciones personalizadas

Puedes usar un webhook para crear una integración personalizada con muchos sistemas de supervisión de terceros. Cuando configuras una integración personalizada, Cloud Monitoring envía notificaciones de alerta mediante la carga útil JSON para las URL que proporcionaste. Las siguientes guías proporcionan ejemplos de integraciones de webhook personalizadas:

Envía notificaciones de error de Monitoring

Cuando transfieres datos a Monitoring como se describió antes, puedes configurar la funcionalidad de Error Reporting para que los sistemas externos escriban alertas como errores y activen notificaciones. Si deseas obtener más información, consulta las siguientes guías:

¿Qué sigue?