Supervisa recursos locales con BindPlane

Este documento forma parte de una serie de dos partes sobre la extensión de Cloud Logging y Cloud Monitoring para incluir la infraestructura y las apps locales.

  • Cloud Logging: Obtén información sobre cómo Cloud Logging admite el registro de recursos locales.
  • Cloud Monitoring (este documento): Obtén información sobre cómo Cloud Monitoring admite la supervisión de recursos locales.

Puedes considerar usar Logging y Monitoring para el registro y la supervisión de los recursos locales en las siguientes circunstancias:

  • Necesitas una solución temporal cuando trasladas la infraestructura a Google Cloud y deseas supervisar los recursos locales hasta que se den de baja.
  • Es posible que tengas un entorno de computación diverso con múltiples nubes y recursos locales.

En cualquier caso, puedes obtener visibilidad de los recursos locales mediante BindPlane y las API de Logging y Monitoring. Este documento está dirigido a profesionales, administradores y ejecutivos de DevOps interesados en una estrategia de supervisión de recursos en Google Cloud y en la infraestructura y las apps locales restantes.

Transfiere métricas con Monitoring

Puedes obtener métricas en Monitoring de las siguientes dos formas:

  • Usa la herramienta BindPlane de observIQ para transferir métricas desde tus fuentes locales o desde otras fuentes en la nube.
  • Usa OpenCensus para escribir en la API de Cloud Monitoring.

Usa BindPlane para transferir métricas

En el siguiente diagrama, se muestra la arquitectura de cómo BindPlane recopila métricas y, luego, cómo estas se transfieren a Monitoring.

Arquitectura del uso de Monitoring y BindPlane para supervisar recursos locales

observIQ ofrece varias versiones de BindPlane: de código abierto (alojada automáticamente), SaaS y Enterprise. Para obtener más información sobre estas versiones, consulta la página de comparación de BindPlane.

Ventajas:

  • Requiere configuración, no la instrumentación de tus aplicaciones, lo que reduce el tiempo de implementación.
  • Está incluido en el costo del uso de Monitoring.
  • La configuración es compatible con el producto y la asistencia de Monitoring.
  • Se puede extender a métricas no proporcionadas por la configuración predeterminada.

Desventajas:

  • Requiere el uso de la herramienta BindPlane de Blue Medora para retransmitir métricas a Monitoring, lo que puede agregar complejidad al sistema general.

Esta opción es el método recomendado porque requiere la menor cantidad de esfuerzo. Esta solución requiere configuración en lugar de desarrollo.

Usa OpenCensus para escribir en la API de Monitoring

En el siguiente diagrama, se muestra la arquitectura de cómo OpenCensus recopila métricas y cómo estas se transfieren a Monitoring.

Arquitectura del uso de la API de Monitoring para supervisar recursos locales directamente

El uso directo de la API de Monitoring implica que debes agregar código de instrumentación a las apps a fin de enviar métricas directamente a la API. Puedes hacerlo directamente si usas la API de Monitoring a fin de escribir métricas o si instrumentas la app con el exportador de Monitoring para OpenCensus. OpenCensus es un proyecto de código abierto que define una estructura de datos estándar para seguimientos y métricas. El uso de OpenCensus tiene la ventaja de admitir múltiples backends, incluido Monitoring. El uso de OpenCensus también implementa todos los detalles técnicos de bajo nivel del uso de la API de Monitoring.

Ventajas:

  • Proporciona flexibilidad porque la instrumentación requerida se implementa fácilmente con el exportador de OpenCensus.

Desventajas:

  • Requiere una solución separada para métricas de infraestructura mediante la escritura de un agente personalizado.
  • Requiere instrumentación de la aplicación, lo que podría significar un mayor costo de implementación.
  • Requiere bibliotecas de código abierto.

Esta opción no es el método recomendado porque requiere la mayor cantidad de esfuerzo y no cubre las métricas de infraestructura.

Usa BindPlane

Este documento cubre el uso de la herramienta BindPlane de observIQ para transferir métricas a Monitoring. El servicio de BindPlane funciona mediante la definición de una serie de fuentes, la transferencia de esas métricas y, luego, el envío de las métricas a Monitoring como destino. BindPlane es compatible con las fuentes de Compute Engine, Amazon Elastic Compute Cloud (Amazon EC2), Linux, Windows y Kubernetes.

Fuentes, colectores y destinos

BindPlane tiene las características siguientes:

  • Fuentes: Elementos que generan métricas, como Google Kubernetes Engine (GKE), Amazon Elastic Container Service for Kubernetes (Amazon EKS) o Microsoft Azure Container Service.
  • Colectores: Procesos básicos que supervisan de manera remota el entorno y reenvían datos de métricas a BindPlane
  • Destinos: Los servicios a los que BindPlane reenvía las métricas. En este caso, el destino es el proceso que usa la API de Monitoring en BindPlane para escribir métricas en Monitoring

Para obtener más información detallada sobre fuentes, colectores y destinos, consulta la introducción a BindPlane.

Ejemplo de caso práctico

Como ejemplo, ExampleOrganization tiene recursos implementados en Google Cloud, Microsoft Azure y recursos locales implementados mediante vSphere. En Google Cloud, se implementa un clúster de GKE y una app de demostración simple que ejecuta el sitio web de la empresa. En el entorno de Microsoft Azure, Azure Kubernetes Service (AKS) ejecuta un conjunto de microservicios, lo que proporciona un extremo de API de REST para los desarrolladores externos. En el entorno de vSphere, MySQL, Oracle y Microsoft SQL Server se admiten varias apps corporativas.

Con recursos en cada entorno, ExampleOrganization desea supervisar cada componente sin importar dónde se implemente. Si envías las métricas de cada entorno a Logging y Monitoring mediante BindPlane, se reúnen todas las métricas en una sola ubicación para fines de supervisión y alertas.

Envía métricas de BindPlane a Monitoring

Una vez que BindPlane se configura y comienza a enviar métricas, estas se envían a tu lugar de trabajo de Monitoring. Luego, puedes usar Monitoring para ver, configurar, generar alertas y compilar paneles de la serie temporal de la misma forma que con cualquier métrica o serie temporal en Monitoring. Para obtener más información, consulta Métricas, series temporales y recursos.

Usa métricas en Monitoring

En el ejemplo anterior, BindPlane se configuró para enviar métricas desde Google Cloud, Microsoft Azure y fuentes locales. En Monitoring, aparecen las siguientes tres métricas:

  • Métricas del clúster de GKE
  • Métricas del clúster de AKS
  • Métricas de la base de datos local de vSphere

Métricas del clúster de GKE

Las métricas del clúster de GKE en Monitoring, en la página de Google Kubernetes Engine muestran tres vistas de los componentes de Kubernetes que se ejecutan en el lugar de trabajo de Monitoring, incluidas las vistas de infraestructura, cargas de trabajo y servicios. Hay cuatro servicios implementados en el clúster que informan métricas.

Vista de cuatro servicios supervisados por Monitoring

Las métricas, los registros y la configuración están disponibles para cada pod.

Vista de detalles del pod de un servicio en particular

Métricas del clúster de AKS

En el mismo entorno de Monitoring, se recopilan métricas para AKS. Las métricas aparecen en Monitoring y se pueden usar para cualquier propósito en Monitoring, incluidos paneles, alertas y el Explorador de métricas.

El Explorador de métricas de Monitoring permite buscar, filtrar y compilar gráficos a partir de métricas. Ten en cuenta que las métricas que envía BlueMedora tienen el prefijo workload.googleapis.com/THIRD_PARTY_APP_NAME para el nombre de la métrica.

Explorador de métricas que muestra el modo genérico de tipo de recurso

El Explorador de métricas puede generar un gráfico para la métrica.

Gráfico de la métrica CPU usada.

Al igual que todas las métricas en Monitoring, puedes usar estas métricas para compilar paneles como el que se muestra en la siguiente captura de pantalla. El panel representa métricas producidas por AKS, recopiladas por BindPlane, almacenadas en Monitoring y mostradas en un panel.

Panel de AKS que muestra cuatro gráficos.

Métricas del clúster local de vSphere

En la última parte de este ejemplo, se incluyen métricas de base de datos de vSphere. Las métricas de vSphere aparecen en Monitoring y se pueden usar de la misma manera que cualquier otra métrica en Monitoring. Puedes ver que las métricas de Oracle de vSphere aparecen en el Explorador de métricas.

Métricas de vSphere en Monitoring

Al igual que todas las métricas en Monitoring, estas se pueden usar para compilar alertas como la que se muestra en la siguiente captura de pantalla.

Pantalla de configuración para compilar una alerta basada en activadores

La alerta representa métricas producidas por Oracle que se ejecutan en vSphere, recopiladas por BindPlane, almacenadas en Monitoring y usadas para configurar una alerta.

Ventana de política de alertas

Conclusión

Monitoring proporciona paneles, alertas y respuesta a incidentes para que puedas obtener estadísticas de tus plataformas. Juntos, Monitoring y BindPlane te permiten obtener visibilidad de tus recursos locales.

¿Qué sigue?