This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introducción

Checkmk incluye una monitorización eficaz de Google Cloud Platform (GCP), que consiste en un conector para GCP y una impresionante colección de check plugins que recopilan y evalúan diversas métricas y estados por ti.
Además de la información general sobre los costes que genera tu Google Cloud y el estado actual de los servicios de Google en tu región, puedes realizar la monitorización de los siguientes productos de Google Cloud con Checkmk:
Con «
» Checkmk Ultimate también puedes incluir los siguientes productos en tu sistema de monitorización:
Encontrarás una lista completa de todos los check plugins disponibles para la monitorización de GCP en nuestro Catálogo de check plugins, y en el artículo Supervisión de Kubernetes te explicamos cómo incluir tus clústeres de GKE (Google Kubernetes Engine) en Checkmk.
2. Configuración de la monitorización mediante la Configuración Rápida (opcional)
La forma más rápida de configurar la monitorización de proyectos individuales de GCP es con nuestra Configuración Rápida. Para ello, abre Setup > Quick Setup > Google Cloud Platform (GCP) y haz clic en «Add configuration». La Configuración Rápida te guiará paso a paso hasta tu objetivo.
Encontrarás instrucciones detalladas sobre cómo obtener la información necesaria sobre tu proyecto en GCP en el capítulo Preparando GCP para Checkmk.
La mayor ventaja de la Configuración Rápida es que cualquier error se mostrará inmediatamente durante el proceso de configuración. En el peor de los casos, recibirás una indicación clara y específica de lo que debes corregir antes de poder pasar al siguiente paso.
Si más adelante quieres o necesitas realizar cambios en la configuración creada por la Configuración Rápida, puedes volver a Setup > Quick Setup.
Allí, haz clic en el icono «
» y, a continuación, selecciona el componente que deseas editar.
Los demás capítulos de este artículo solo sirven como referencia para los usuarios de la Configuración Rápida. Sin embargo, si tu entorno GCP es bastante complejo, te recomendamos que sigas realizando la configuración siguiendo los pasos que se indican a continuación. |
3. Aplicación práctica de la monitorización de las buenas prácticas de investigación (GCP)
3.1. Hosts y servicios
En Checkmk, todos los objetos que se van a supervisar se organizan en una estructura jerárquica de hosts y servicios. Sin embargo, el concepto de host no existe de esta forma en los servicios basados en la nube. Para mantener la simplicidad y la coherencia de Checkmk, realizamos el mapeo de los objetos de GCP a nuestro esquema de host/servicio. Cada uno de tus proyectos en Google Cloud se asigna a su propio host en Checkmk. Todos los productos en la nube que quieras realizar su monitorización en este proyecto se distribuirán entonces entre varios servicios en este host dedicado.
Un proyecto pequeño en el que solo se ejecuta una máquina virtual de Compute Engine puede tener este aspecto en la monitorización de Checkmk:

3.2. Acceso a GCP
GCP proporciona una API basada en HTTP a través de la cual también se pueden recuperar los datos de monitorización.
Checkmk accede a esta API mediante el agente especial agent_gcp.
Este sustituye al agente Checkmk, pero —a diferencia de este último— se ejecuta localmente en el servidor Checkmk.
4. Preparación de GCP para Checkmk
4.1. Obtener un ID de proyecto
Inicia sesión en la Consola de Google Cloud. Asegúrate de que el proyecto correcto esté seleccionado en la barra de título o selecciona aquí el proyecto para la monitorización.
A continuación, abre el dashboard del proyecto. Aquí deberías encontrar —si el dashboard sigue siendo el estándar— una tarjeta con el Project ID. Copia o anota esta información.

Si la tarjeta con la información del proyecto ya no aparece en tu dashboard, también puedes encontrar el ID necesario a través de Project settings:

4.2. Crear un usuario
A continuación, abre la administración de usuarios en IAM & Admin.
En la Vista general de la parte izquierda, debes seleccionar «Service Accounts» y, a continuación, hacer clic en «Create Service Account» en la parte superior.
Aquí elige un nombre para la cuenta de servicio.
Te recomendamos que le pongas a esta cuenta un nombre que deje claro de inmediato para qué sirve, por ejemplo, «checkmk-monitoring».
Además de un nombre descriptivo, puedes introducir opcionalmente una descripción: la descripción
de la cuenta de servicio.
Después de hacer clic en «Create and continue», tendrás que asignar las dos funciones, «Monitoring Viewer» y «Cloud Asset Viewer», a esta cuenta de servicio.
Para ello, haz clic en el campo «Select a role» e introduce el nombre de la función.
Nota: Si introduces «Monitoring Viewer» en el campo, se te mostrará toda una serie de roles con nombres similares. Asegúrate de seleccionar realmente «Monitoring Viewer».
Una vez que hayas seleccionado los roles, puedes saltarte el siguiente paso opcional y hacer clic directamente en «Done».
4.3. Creación de una clave
Para que puedas acceder realmente a los datos de monitorización y activos de tu Google Cloud a través de esta nueva cuenta de servicio, aún tendrás que crear una clave. Más adelante, guardarás esta clave en la regla correspondiente en Checkmk o en el Password store.
En la vista general de Service accounts for project My Project, puedes hacer clic en los tres puntos de la fila de tu nueva cuenta de servicio y seleccionar «Manage keys».
A continuación, haz clic en «Add key» y luego en «Create new key».
Asegúrate de seleccionar «JSON» como formato y haz clic en «Create».
Al hacer clic en «Create» —algo que se pasa por alto fácilmente— se descarga un archivo en formato JSON.
Guarda este archivo en un lugar seguro por el momento, ya que no podrás volver a descargarlo.
Sin embargo, te recomendamos que también elimines este archivo después de guardar su contenido en Checkmk (consulta Crear una regla para agentes Checkmk).
Si es necesario, se debe crear una nueva clave y descartar la antigua por completo.
4.4. Activación de las API en el proyecto de GCP
En la página de vista general de tu proyecto de GCP también encontrarás el elemento de menú «APIs & Services».
En esta vista general, check si la API «Cloud Asset API» aparece en la lista de «Enabled APIs & services».
Si no es así, activa esta API mediante el botón «Enable APIs and services».
Tras la activación, tardará unos minutos hasta que la API esté realmente accesible.
4.5. Monitorización de la información de facturación
En Google Cloud Platform, la información de facturación se almacena por separado de los recursos. Como regla general, en GCP se crean proyectos independientes para el análisis de costes, en los que también se recopila la información de facturación de otros proyectos. Para poder realizar la monitorización de esta información con Checkmk, es imprescindible que estos datos se exporten a BigQuery dentro de GCP. Solo se puede acceder de forma remota —y, por lo tanto, desde Checkmk— a los datos que están disponibles en las tablas de BigQuery. En el documento Exportar datos de facturación de Cloud a BigQuery, en las páginas de ayuda de GCP, se explica detalladamente cómo configurar dicha exportación dentro de GCP.
Si has configurado BigQuery o ya lo estás utilizando, encontrarás una lista de las tablas incluidas en la vista «SQL workspace» del proyecto de contabilidad. Abre la tabla del proyecto de contabilidad y haz clic en la pestaña «Details». En «Table ID», encontrarás la información que necesitarás introducir al crear la regla en Checkmk en Costs > BigQuery table ID.
El servicio de monitorización de costes de proyectos está diseñado como una Vista general. Solo se muestran y se supervisan los costes mensuales de los proyectos individuales. Puedes definir valores umbral para estos costes mensuales con la regla «GCP Cost».
5. Configuración de la monitorización en Checkmk
5.1. Crear un host para GCP
Ahora crea un host para la monitorización de GCP en Checkmk. Puedes asignarle el nombre del host que quieras. Si quieres realizar la monitorización de más de un proyecto en GCP, debes crear un host independiente en Checkmk para cada proyecto.
Importante: Dado que GCP como servicio no tiene ni dirección IP ni nombre DNS (el agente especial se encarga del acceso por sí mismo), debes configurar el IP address family en No IP.

5.2. Configuración del agente de GCP
Como se mencionó al principio de este artículo, los proyectos en Google Cloud Platform se supervisan mediante un agente especial. Este agente se configura con una regla, que puedes encontrar en Setup > Agents > VM, cloud, container > Google Cloud Platform (GCP).
En el campo correspondiente, introduce el Project ID que has buscado anteriormente en tu proyecto.
En «JSON credentials for service account», debes introducir a continuación la clave que creaste anteriormente para tu cuenta de servicio. Tendrás que copiar aquí todo el objeto JSON (incluidas las llaves).

En «GCP services to monitor» ya puedes seleccionar qué productos de GCP deben ser objeto de monitorización por el agente especial. Para que las consultas a la API sean lo más económicas posible, te recomendamos que selecciones solo los productos que realmente se estén utilizando en tu proyecto.
5.3. Servicios en el propio host de GCP
Ahora inicia un descubrimiento de servicios del host de GCP recién creado, en el que Checkmk debería encontrar bastantes servicios. Cuando hayas añadido los servicios, tendrá un aspecto similar a este tras activar los cambios en la monitorización:

5.4. Creación de hosts para las instancias de VM de Compute Engine
Los servicios asignados a las instancias de VM de Compute Engine no se asignan al host de GCP, sino a los denominados hosts «piggybacked».
Esto funciona de tal manera que los datos recuperados del host de GCP se distribuyen a estos hosts «piggybacked», que operan sin sus propios agentes de monitorización.
Se asigna un host «piggybacked» a cada instancia de VM.
Los nombres de estos hosts piggyback se componen del ID de tu proyecto, un guión bajo y el nombre completo de la instancia.
Por ejemplo, si tu proyecto tiene el ID my-project-19001216 y realizas la monitorización de una VM con el nombre my-instance01, el host piggyback se llamará my-project-19001216_my-instance01.
Puedes crear estos hosts manualmente o, si es posible, dejar esta tarea a la administración dinámica del host.
Configuración de la administración dinámica del host
Como usuario de una de nuestras ediciones comerciales,
puedes dejar la creación y eliminación de hosts para tus instancias de VM en manos de la administración dinámica del host.
El elemento de menú Setup > Hosts > Dynamic host management te lleva a la página de vista general de todas las conexiones que ya se han configurado.
Haz clic en
Add connection y, a continuación, asigna a la conexión un ID y un Title.
No todas las opciones disponibles en la ventana «Connection properties» se tratan a continuación. Consulta la ayuda en línea y el artículo principal enlazado más arriba si tienes alguna duda.
En primer lugar, asegúrate de que la caja «Connection properties» tiene activado el modo «Mostrar más» para que se muestren todas las opciones disponibles.
A continuación, en «Piggyback creation options», haz clic en «Add new element». Personaliza la carpeta en la que se crearán los hosts de tus instancias de VM. La carpeta preseleccionada «Host attributes» es básicamente correcta para los hosts piggyback y no es necesario modificarla.
Al activar la opción «Delete vanished hosts», te aseguras de que los hosts piggyback de los que no se reciban datos nuevos durante un periodo de tiempo determinado se eliminen automáticamente.
Como parte de la monitorización de tus proyectos de GCP, debes activar la opción «Restrict source hosts». Introduce aquí tu host de GCP desde la sección «Creación de un host para GCP» en Checkmk.
A modo de ejemplo, una configuración de dicha conexión podría tener este aspecto:

Creación manual de hosts para instancias de VM
Como alternativa, puedes crear hosts para los datos piggyback manualmente. Al hacerlo, es importante que los nombres de los hosts se correspondan exactamente con el esquema descrito anteriormente.
Con el comando |
Configura los hosts para estas máquinas virtuales de Compute Engine sin una dirección IP (análogo al host de GCP) y selecciona No API integrations, no Checkmk agent como agente de monitorización. Si además seleccionas la opción «Always use and expect piggyback data» en «Piggyback», recibirás una advertencia correspondiente si los datos no llegan.

6. Opciones de diagnóstico
6.1. El servicio de excepciones
El servicio Exceptions te ayuda a configurar la monitorización de GCP y también te asiste con cualquier problema futuro que surja al comunicarte con la API de Google Cloud. Aquí se recopilan y procesan todos los mensajes de error que la API de Google Cloud devuelve al agente especial. En caso de error, este servicio se convierte en CRIT por defecto y, en su Summary, te indicará dónde está el problema.

Al hacer clic en el nombre del servicio, obtendrás un mensaje muy detallado, a menudo con un enlace al lugar exacto de tu proyecto de GCP donde se necesita una configuración diferente, por ejemplo. En el siguiente ejemplo, el Cloud Asset API está desactivado en el proyecto de monitorización.

Al hacer clic en el icono del globo terráqueo de la API de WWW, se te redirigirá a la página exacta de tu proyecto donde se puede habilitar esta API.
7. Dashboards
Para facilitarte el inicio en la monitorización de GCP, Checkmk incluye en Checkmk Ultimate
dos dashboards integrados: GCP GCE instances y GCP storage buckets.
Ambos se encuentran como elementos de menú en la sección de monitorización, en Monitor > Cloud.
Para que te hagas una idea más clara, a continuación te mostramos dos ejemplos de cómo están estructurados estos dashboards. En primer lugar, el dashboard de instancias de Compute Engine, donde puedes comparar el estado actual a la izquierda y el historial cronológico de las métricas más importantes a la derecha:

El dashboard de los buckets de almacenamiento está estructurado de forma muy similar. En el lado izquierdo, encontrarás los datos actuales de los respectivos buckets. A la derecha, las métricas más importantes se muestran de nuevo en orden cronológico:

