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.
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.
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.
Las métricas, los registros y la configuración están disponibles para cada pod.
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.
El Explorador de métricas puede generar un gráfico para la métrica.
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.
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.
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.
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.
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?
- Cloud Logging y Cloud Monitoring
- Instrucciones de configuración de BindPlane para Logging
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.