4 Ejemplo de configuración de monitorización de VMware

Descripción general

El siguiente ejemplo describe cómo configurar Zabbix para monitorizar máquinas virtuales VMware. Esto implica:

  • crear un equipo que represente su entorno VMware;
  • crear una regla de descubrimiento de bajo nivel que descubra máquinas virtuales en su entorno VMware;
  • crear un prototipo de equipo, en base al cual Zabbix generará equipos reales para las máquinas virtuales descubiertas por la regla de descubrimiento de bajo nivel.

Requisitos previos

Este ejemplo no cubre la configuración de VMware. Se supone que VMware ya está configurado.

Antes de continuar, establezca el parámetro StartVMwareCollectors en el archivo de configuración de Zabbix server en 2 o más (el valor predeterminado es 0).

Crear un host

1. Vaya a Data collection > Hosts.

2. Cree un host:

  • En el campo Host name, introduzca un nombre de host (por ejemplo, "VMware VMs").
  • En el campo Host groups, escriba o seleccione un grupo de hosts (por ejemplo, "Virtual machines").

  • En la pestaña Macros, establezca las siguientes macros del host:
    • {$VMWARE.URL} - URL del SDK del servicio VMware (hipervisor ESXi) (https://servername/sdk)
    • {$VMWARE.USERNAME} - nombre de usuario del servicio VMware
    • {$VMWARE.PASSWORD} - contraseña del usuario {$VMWARE.USERNAME} del servicio VMware

3. Haga clic en el botón Add para crear el host. Este host representará su entorno VMware.

Crear una regla de descubrimiento de bajo nivel

1. Haga clic en Discovery para el host creado y vaya a la lista de reglas de descubrimiento de bajo nivel de ese host.

2. Cree una regla de descubrimiento de bajo nivel:

  • En el campo Name, introduzca un nombre para la regla de descubrimiento de bajo nivel (por ejemplo, "Discover VMware VMs").
  • En el campo Type, seleccione "Simple check".
  • En el campo Key, introduzca la clave de item integrada para descubrir máquinas virtuales de VMware: vmware.vm.discovery[{$VMWARE.URL}]
  • En los campos User name y Password, introduzca las macros correspondientes configuradas previamente en el host.

3. Haga clic en el botón Add para crear la regla de descubrimiento de bajo nivel. Esta regla de descubrimiento detectará las máquinas virtuales en su entorno VMware.

Crear una plantilla de equipo

1. En la lista de reglas de descubrimiento de bajo nivel, haga clic en Plantillas de equipo para la regla de descubrimiento de bajo nivel creada previamente.

2. Cree una plantilla de equipo. Dado que las plantillas de equipo son modelos para crear equipos a través de reglas de descubrimiento de bajo nivel, la mayoría de los campos contendrán macros de descubrimiento de bajo nivel. Esto garantiza que los equipos se creen con propiedades basadas en el contenido recuperado por la regla de descubrimiento de bajo nivel creada previamente.

  • En el campo Nombre del equipo, introduzca la macro {#VM.UUID}.
  • En el campo Nombre visible, introduzca la macro {#VM.NAME}.
  • En el campo Plantillas, introduzca o seleccione la plantilla "VMware Guest". Esta plantilla contiene métricas de VMware y reglas de descubrimiento para monitorizar el estado de energía de una máquina virtual, uso de CPU, uso de memoria, dispositivos de red, etc.
  • En el campo Grupos de equipos, introduzca o seleccione un grupo de equipos (por ejemplo, "Equipos descubiertos").
  • En el campo Interfaces, añada una interfaz de equipo personalizada. Luego, introduzca la macro {#VM.DNS} en el campo Nombre DNS, o introduzca la macro {#VM.IP} en el campo Dirección IP. Alternativamente, si sus máquinas virtuales del entorno VMware tienen varias interfaces, continúe con la sección Configuración avanzada de interfaz de equipo. Configurar una interfaz de equipo personalizada es necesario para el correcto funcionamiento de la plantilla VMware Guest.

  • En la pestaña Macros, establezca la macro {$VMWARE.VM.UUID} con el valor {#VM.UUID}. Esto es necesario para el correcto funcionamiento de la plantilla VMware Guest que utiliza esta macro como macro de usuario a nivel de equipo en los parámetros de la métrica (por ejemplo, vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

3. Haga clic en el botón Añadir para crear la plantilla de equipo. Esta plantilla de equipo se utilizará para crear equipos para las máquinas virtuales descubiertas por la regla de descubrimiento de bajo nivel creada previamente.

Ver hosts y métricas

Después de crear el host prototype, la regla de descubrimiento de bajo nivel creará hosts para las máquinas virtuales de VMware descubiertas, y Zabbix comenzará a monitorizarlas. Tenga en cuenta que el descubrimiento y la creación de hosts también pueden ejecutarse manualmente, si es necesario.

Para ver los hosts creados, vaya a la sección de menú Data collection > Hosts.

Para ver las métricas recopiladas, vaya a la sección de menú Monitoring > Hosts y haga clic en Latest data para uno de los hosts.

Configuración avanzada de la interfaz de equipo

La clave de métrica vmware.vm.discovery[{$VMWARE.URL}], configurada en la sección Crear una regla de descubrimiento de bajo nivel, devuelve datos de interfaces de red en el campo "net_if":

"net_if": [
      {
        "ifname": "5000",
        "ifdesc": "Network adapter 1",
        "ifmac": "00:11:22:33:44:55",
        "ifconnected": true,
        "iftype": "VirtualVmxnet3",
        "ifbackingdevice": "VLAN(myLab)",
        "ifdvswitch_uuid": "",
        "ifdvswitch_portgroup": "",
        "ifdvswitch_port": "",
        "ifip": [
          "127.0.0.1",
          "::1"
        ]
      },
      {
        "ifname": "5001",
        "ifdesc": "Network adapter 2",
        "ifmac": "00:11:22:33:44:55",
        "ifconnected": false,
        "iftype": "VirtualVmxnet3",
        "ifbackingdevice": "VLAN(myLab2)",
        "ifdvswitch_uuid": "",
        "ifdvswitch_portgroup": "",
        "ifdvswitch_port": "",
        "ifip": []
      }
    ]

Estos datos pueden utilizarse para configurar una interfaz de equipo personalizada.

1. Al crear una regla de descubrimiento de bajo nivel, configure adicionalmente una macro de descubrimiento de bajo nivel. En la pestaña Macros LLD, cree una macro LLD personalizada con un valor JSONPath. Por ejemplo:

  • {#MYLAB.NET.IF} - $.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. Al crear un prototipo de equipo, añada una interfaz de equipo personalizada e introduzca la macro LLD en el campo Nombre DNS o Dirección IP.