Checkmk
to checkmk.com
Important

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

Con Checkmk puedes realizar la monitorización de hosts ESXi y también de sus máquinas virtuales. Así, por ejemplo, en un host es posible consultar el E/S del disco, el rendimiento del almacén de datos, el estado de las interfaces de red físicas, diversos sensores de hardware y mucho más. Checkmk también ofrece una serie de check plugins para las máquinas virtuales. Puedes encontrar una lista completa de estos en el Catálogo de check plugins.

Mediante el mecanismo piggyback, los datos de la máquina virtual se mostrarán directamente en el host asociado. De este modo, los datos relacionados con la máquina virtual se encuentran justo donde se necesitan y donde se pueden comparar con los que informa el sistema operativo de la máquina virtual:

vmware services

El acceso a estos datos se realiza a través de la API de vSphere basada en HTTP, no a través de los agentes habituales ni de SNMP. Esto significa que no es necesario instalar ningún agente ni otro software en los hosts ESXi, y que el acceso es muy fácil de configurar.

2. Configuración

2.1. Configuración a través del sistema host ESXi

La configuración inicial para la monitorización de un servidor ESXi es muy sencilla y se puede completar en menos de cinco minutos. Sin embargo, antes de poder configurar el acceso, deben cumplirse los siguientes requisitos previos:

  • Debes haber definido un usuario en el servidor ESXi. Basta con que este usuario tenga acceso de lectura.

  • Debes haber definido el servidor ESXi como host en Checkmk y haber configurado su agente de monitorización como «API integrations if configured, else Checkmk agent». Consejo: Selecciona el nombre del host de forma que coincida con el que conoce el propio servidor.

Una vez cumplidos los requisitos previos, puedes crear una regla en el conjunto de reglas «Setup > VM, cloud, container > VMware ESX via vSphere». Esta se asignará al host definido, de modo que, en lugar del agente estándar, se utilizará el agente especial para recuperar datos de la monitorización de VMware.

Introduce el nombre de usuario y la contraseña tal y como se han definido en el servidor ESXi. La condición de la regla debe establecerse en el host definido en Checkmk. Tras esto, la primera instalación habrá finalizado y Checkmk podrá recuperar los datos del servidor.

vmware username

Por último, vuelve a la configuración del host y ejecuta el descubrimiento de servicios. Esto debería encontrar varios servicios:

vmware discovery

Activa los cambios como de costumbre. Si no se han identificado servicios, puedes buscar errores en la configuración con las opciones de diagnóstico, tal y como se describe más adelante en este artículo.

2.2. Configuración mediante vCenter

Si dispones de un vCenter, en lugar de recuperar los datos de monitorización a través de los sistemas de los hosts individuales, también puedes acceder al vCenter. Este método tiene varias ventajas y desventajas:

Ventajas Desventajas

Fácil de aplicar en situaciones en las que las máquinas virtuales se asignan dinámicamente mediante vMotion.

No hay monitorización si vCenter no está disponible.

Es posible realizar la monitorización del uso total de RAM de un clúster.

No se realiza la monitorización de los datos específicos del hardware en los nodos del clúster (por ejemplo, discos RAM y tarjetas de red).

También se puede utilizar una combinación de ambos métodos; así podrás disfrutar de lo mejor de ambos mundos.

Configuración de vCenter

Para esta configuración se aplican requisitos previos similares a los de la configuración en un único servidor ESXi:

  • Debe haber un usuario con acceso de lectura en el vCenter.

    • Para poder comprobar el estado de la licencia, es posible que tengas que conceder explícitamente el permiso Global.Licenses.

  • El vCenter se ha definido como un host en Checkmk y su agente de monitorización está configurado como API integrations if configured, else Checkmk agent

  • Si los servidores ESXi ya están configurados en Checkmk y quieres combinar la monitorización, entonces en vCenter sus nombres serán los mismos que los que tienen configurados como hosts en Checkmk

Tal y como se ha descrito anteriormente, crea una regla para el agente especial de monitorización de VMware, en Type of Query selecciona el vCenter y establece la condición en el host correspondiente tal y como está definido en Checkmk:

vmware vcenter username

Con esto, la configuración habrá finalizado. Ejecuta el descubrimiento de servicios para el host de vCenter.

Recuperación de datos de los hosts ESXi y vCenter

Para evitar la recuperación duplicada de datos al usar una combinación de ambos métodos de configuración, la regla para el vCenter se puede configurar para recuperar solo datos específicos. Una posibilidad es acceder a Datastores y a Virtual Machines a través del vCenter, y al resto de datos directamente desde los hosts ESXi. El uso de la licencia se puede obtener en ambas configuraciones, ya que el vCenter informa de un estado general.

vmware data1

Si ya has configurado los hosts ESXi, sus reglas se adaptarán en consecuencia. Aquí solo está disponible el acceso a Host Systems y Performance Counters, ya que estos pertenecen de forma inalterable a un servidor ESXi concreto. El estado de la licencia solo es aplicable al servidor ESXi recuperado.

vmware data2

2.3. Monitorización de las máquinas virtuales

Por defecto, solo se crea y asigna al ESXi o al vCenter, respectivamente, el estado de las máquinas virtuales como servicios. Sin embargo, hay aún más información disponible de estas máquinas virtuales: de la RAM o de las instantáneas, por ejemplo. Estos datos se almacenan como datos piggyback y se asignan directamente a los hosts que corresponden a las máquinas virtuales en Checkmk.

Para que estos datos sean visibles, la máquina virtual debe definirse como un host en Checkmk. Por supuesto, puedes instalar el agente Checkmk en la máquina virtual y aprovechar al máximo sus funciones. Los datos piggyback simplemente se añadirán a los que ya están disponibles.

Nombrar los datos piggyback

Si el nombre del host de la máquina virtual en Checkmk coincide con el nombre de la máquina virtual, la asignación funciona automáticamente. Si no es así, hay varias opciones en Checkmk para personalizar el nombre piggyback. Las siguientes opciones están disponibles en la propia regla de configuración:

  • Puedes utilizar el nombre del host del sistema operativo de la máquina virtual, si se puede acceder a él a través de la API de vSphere.

  • Si el nombre de la máquina virtual incluye espacios en blanco, el nombre se truncará después del primer espacio. Como alternativa, los espacios en blanco se pueden sustituir por guiones bajos.

vmware nametranslation

Si el nombre del host es muy diferente en Checkmk, se puede realizar una asignación explícita con la ayuda de la regla «Setup > Agents > Access to agents > Host name translation for piggybacked hosts».

vmware nametranslation2

Si el host está configurado en Checkmk y los nombres coinciden, puedes activar la caja de verificación «Display VM power state on» en la regla de configuraciones: selecciona si y dónde deben estar disponibles los datos. Selecciona aquí «The Virtual Machine».

vmware vms

Con un descubrimiento de servicios en el/los host(s), los nuevos servicios se identificarán y podrán activarse. Ten en cuenta que la información de los servicios podría diferir entre sí. El servidor ESXi verá la carga de la RAM de una máquina virtual de forma diferente a como lo informa el propio sistema operativo de la máquina.

vmware services

3. Opciones de diagnóstico

3.1. Introducción

A la hora de buscar el origen de un error, hay varios «puntos de partida». Dado que los datos provienen del servidor ESXi/vCenter, este es un lugar lógico para empezar a buscar el error. Después, es importante que los datos lleguen al servidor Checkmk y que allí se puedan procesar y mostrar correctamente.

3.2. Problemas con la configuración del servidor ESXi/vCenter

Con el comando «curl» puedes comprobar si se puede acceder al servidor desde la monitorización:

OMD[mysite]:~$ curl -Ik https://myESXhost.my-domain.net
HTTP/1.1 200 OK
Date: Fri, 4 Nov 2016 14:29:31 GMT
Connection: Keep-Alive
Content-Type: text/html
X-Frame-Options: DENY
Content-Length: 5426
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Puedes comprobar en la consola con el agente especial si los datos de acceso se han introducido correctamente y si Checkmk puede acceder al host. Usa la opción --help o -h para obtener una lista completa de las opciones disponibles. En el ejemplo, con la ayuda de grep, la salida se limitó a una sección específica y a las cuatro primeras líneas siguientes; puedes omitir esto para obtener una salida completa, o filtrar para obtener otra:

OMD[mysite]:~$ share/check_mk/agents/special/agent_vsphere --debug --user myesxuser --secret myesxpassword -D myESXhost | grep -A4 esx_vsphere_objects
<<<esx_vsphere_objects:sep(9)>>>
hostsystem      myESXhost           poweredOn
hostsystem      myESXhost2          poweredOn
virtualmachine  myVM123             myESXhost   poweredOn
virtualmachine  myVM126             myESXhost   poweredOn
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Puedes comprobar en la consola si Checkmk puede acceder al host. Aquí la salida también se limita a cuatro líneas:

OMD[mysite]:~$ cmk -d myESXhost | grep -A4 esx_vsphere_objects
<<<esx_vsphere_objects:sep(9)>>>
hostsystem      myESXhost           poweredOn
hostsystem      myESXhost2          poweredOn
virtualmachine  myVM123             myESXhost   poweredOn
virtualmachine  myVM126             myESXhost   poweredOn
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Como alternativa, puedes realizar la prueba en la página de diagnóstico del host, en la sección «Configuración»:

vmware agent test

Si todo funciona hasta este punto, la salida debería haberse guardado en un directorio temporal. Puedes comprobar si se ha creado dicho archivo y si el contenido es correcto con lo siguiente:

OMD[mysite]:~$ ll tmp/check_mk/cache/myESXhost
-rw-r--r-- 1 mysite mysite 17703 Nov  4 15:42 myESXhost
OMD[mysite]:~$ head -n5 tmp/check_mk/cache/myESXhost
<<<esx_systeminfo>>>
Version: 6.0
AgentOS: VMware ESXi
<<<esx_systeminfo>>>
vendor VMware, Inc.
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

3.3. Problemas con los datos piggyback

Checkmk crea para cada host piggyback un directorio que contiene un archivo de texto. En este archivo de texto se encuentran los datos que se asignarán a los hosts.

OMD[mysite]:~$ ll tmp/check_mk/piggyback/
total 0
drwxr-xr-x 2 mysite mysite 60 Nov  4 15:51 myVM123/
drwxr-xr-x 2 mysite mysite 60 Nov  4 15:51 myVM124/
drwxr-xr-x 2 mysite mysite 60 Nov  4 15:51 myVM126/
drwxr-xr-x 2 mysite mysite 60 Nov  4 15:51 myESXhost2/
OMD[mysite]:~$ ll tmp/check_mk/piggyback/myVM123/
-rw-r--r-- 1 mysite mysite 1050 Nov  4 15:51 myESXhost
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Si estos directorios o archivos no están presentes, significa que los agentes especiales no los han creado. Puedes comprobar si los datos de la máquina virtual están incluidos en la salida del agente. Si se da esta situación, revisa la regla de configuración del host ESXi/vCenter para ver si se ha activado la recuperación de datos.

OMD[mysite]:~$ grep "<<<<myVM123>>>>" tmp/check_mk/cache/myESXhost
<<<<myVM123>>>>
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!
Tip

En el caso de que haya un gran número de directorios de este tipo para datos piggyback, puede resultar muy difícil encontrar aquellos que no tienen asignación a un host. Con el comando cmk-piggyback list orphans puedes encontrar todos los hosts piggyback huérfanos para los que hay datos pero que aún no se han creado como hosts en Checkmk.

4. Archivos y directorios

Ruta del archivo Función

~/tmp/check_mk/piggyback/

Checkmk guarda aquí los datos piggyback. Para cada host piggyback se crea una subcarpeta con el nombre del host; esta subcarpeta contiene un archivo de texto con los datos del host. El nombre del archivo es el nombre del host piggyback que proporciona los datos.

~/tmp/check_mk/cache/

Aquí se guardan temporalmente los últimos resultados del agente de todos los hosts. El contenido del archivo de un host es idéntico al del comando `cmk -d myserver123`.

~/share/check_mk/agents/special/agent_vsphere

El agente especial para ejecutar una consulta de servidores ESXi y vCenter. Este script también se puede ejecutar manualmente con fines de prueba.


Last modified: Tue, 16 Dec 2025 16:08:21 GMT via commit 72e42836d
En esta página