Hyper-V

Este documento describe la funcionalidad HyperV del discovery de PandoraFMS.

Introducción

El plugin de Hyper‑V para Pandora FMS descubre el host Hyper‑V y sus máquinas virtuales, recopilando métricas de estado y rendimiento (CPU, memoria, red y almacenamiento) para crear los módulos de monitorización correspondientes. Puede ejecutarse en modo remoto generando agentes y módulos para su uso posterior.

Matriz de compatibilidad

Sistemas donde se ha probado Windows Server (Hyper‑V) 2022 junto con Pandora FMS Server en Linux ejecutando el plugin en modo remoto
Sistemas donde funciona Modo remoto: cualquier sistema Linux con conectividad hacia el host Hyper‑V y dependencias del plugin.

Prerrequisitos

El plugin es un binario que contiene las dependias empaquetadas por lo que no es necesaria la instalación de ningún tipo de dependencia para su uso.

Configurar WinRM
Enable-PSRemoting -Force -SkipNetworkProfileCheck
winrm quickconfig -force
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service '@{MaxTimeoutms="600000"}'

Permitir http 401
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Permitir Firewall WinRM
New-NetFirewallRule -DisplayName "WinRM HTTP In" -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow -Profile Any -Force

Reiniciar servicios
Restart-Service WinRM -Force
Start-Service vmms

Comprobar todo
winrm get winrm/config/service/auth
Get-VM

 

Parámetros y configuración

Parámetros

--help Mensaje con los parametros
--confg Ruta al archivo de configuración
--execute_local Parametro para indicar que se va a ejecutar desde el propio host de hyperV y no desde el servidor de Pandora.
--save_file Parámetro el cual necesita de --execute_local pra poderse usar.
Este parametro nos guardará la salida del JSON en un archivo .txt

Archivo de configuración (--conf)

agent_prefix = HyperV
agents_group_id = 2
scan_vm = 1
scan_networking = 1
scan_storage = 0
scan_hypervisor = 1

Ejecución manual

El formato de la ejecución del plugin es el siguiente:

.\pandora_hyperV.exe --conf < ruta del .conf > --execute_local

Por ejemplo:

.\pandora_hyperV.exe --conf pandora_hyperv.conf --execute_local

Ejemplo obteniendo el .txt con el JSON

.\pandora_hyperV.exe --conf pandora_hyperv.conf --execute_local --save_file

Ejemplo de salida del JSON:

[
  {
    "agent_data": {
      "agent_name": "HyperV WIN-BKM50GV4DF9",
      "agent_alias": "HyperV WIN-BKM50GV4DF9",
      "os": "Windows",
      "os_version": "Windows Server",
      "interval": 300,
      "id_group": 2,
      "address": "WIN-BKM50GV4DF9",
      "description": "Hyper-V host WIN-BKM50GV4DF9 (WIN-BKM50GV4DF9)"
    },
    "module_data": [
      {
        "name": "HyperV Local Status",
        "type": "generic_proc",
        "data": 1,
        "description": "Hyper-V plugin running locally (1=OK, 0=Fail)"
      }
    ]
  },
  {
    "agent_data": {
      "agent_name": "HyperV ubuntu server",
      "agent_alias": "HyperV ubuntu server",
      "os": "Windows",
      "os_version": "Windows",
      "interval": 300,
      "id_group": 2,
      "address": "WIN-BKM50GV4DF9",
      "description": "VM ubuntu server on Hyper-V host WIN-BKM50GV4DF9"
    },
    "module_data": [
      {
        "name": "State",
        "type": "generic_data",
        "data": 3,
        "description": "VM state: 2=Running 3=Off 32768=Paused 32769=Saved 32770=Starting 32771=Stopping 32772=Pausing 32773=Resuming 32774=Saving 32775=FastSaved 0=Unknown. Current: Off",
        "min_critical": 3,
        "max_critical": 3.1
      }
    ]
  }
]

 

Discovery

Este plugin puede integrarse con el Discovery de Pandora FMS.

Para ello se debe cargar el paquete ".disco" que puede descargar desde la librería de Pandora FMS:

https://pandorafms.com/library/

image.png

Una vez cargado, se podrán monitorizar entornos de Hyper-V creando tareas de Discovery desde la sección Management > Discovery > Aplications.

image.png

Para cada tarea se solicitarán los siguientes parámetros mínimos:

image.png

También se podrá ajustar la configuración de la tarea para personalizar la monitorización deseada:

image.png

Agentes y módulos generados por el plugin

Si está activado Scan hypervisor:

 

Con el token Scan VM se crean:

 

Con el token Scan Networking se crean:

 

Con el token Scan Storage se crean:

 

Un ejemplo de Agentes creados con el plugin sería este:

Agentes.png

Los módulos del host hypervisor serán estos:

hyper v.png

detallados hyperV.png

Para una MV windows podemos ver como se crean los siguientes módulos:

modulos windows.png

detallados windows.png

Para una MV Ubuntu podemos ver los siguientes módulos:

modulos ubuntu.png

detallados ubuntu.png