Hyper-V
Este documento describe la funcionalidad HyperV del discovery de PandoraFMS.
- Introducción
- Matriz de compatibilidad
- Prerrequisitos
- Parámetros y configuración
- Ejecución manual
- Discovery
- Agentes y módulos generados por el plugin
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
- Conectividad a Hyper-V desde Pandora
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.
- Permisos
Configurar WinRMEnable-PSRemoting -Force -SkipNetworkProfileCheckwinrm quickconfig -forcewinrm set winrm/config/service/auth '@{Basic="true"}'winrm set winrm/config/service '@{AllowUnencrypted="true"}'winrm set winrm/config/service '@{MaxTimeoutms="600000"}'
Permitir http 401reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
Permitir Firewall WinRMNew-NetFirewallRule -DisplayName "WinRM HTTP In" -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow -Profile Any -Force
Reiniciar serviciosRestart-Service WinRM -ForceStart-Service vmms
Comprobar todowinrm get winrm/config/service/authGet-VM
- Instalar el servicio hv-kvp-daemon en las VMs con sistema linux para que reporten todos los módulos.
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/
Una vez cargado, se podrán monitorizar entornos de Hyper-V creando tareas de Discovery desde la sección Management > Discovery > Aplications.
Para cada tarea se solicitarán los siguientes parámetros mínimos:
- Hyper-V IP: Dirección IP del host con Hyper-V.
- Credenciales: Usuario y contraseña de tipo Custom, para ello necesitaremos crear en el apartado Management > Configuration > Credential store una nueva credencial.
También se podrá ajustar la configuración de la tarea para personalizar la monitorización deseada:
- Scan Hypervisor Creará un agente con módulos del Hosts hypervisor.
- Scan VM Realizará la búsqueda para crear distintos agentes según las distintas MV existentes.
- Scan Networking Creará módulos para los adaptadores de red de las distintas MV.
- Scan Storage Creará módulos para los distintos discos de almacenamiento de las MV.
Agentes y módulos generados por el plugin
Si está activado Scan hypervisor:
- Agente creado: 1 agente para el host Hyper‑V (el hipervisor), con nombre del estilo
HyperV <ComputerName>si hay prefijo configurado, o<ComputerName>si no lo hay. - Módulos creados (host):
- HyperV Connection Status (modo remoto) / HyperV Local Status (modo local): módulo de estado de ejecución/conectividad del descubrimiento.
- Host Memory Total (GB): memoria total del host.
- Host Memory Free (GB): memoria libre del host.
- Service Status: estado de la mv.
Con el token Scan VM se crean:
- Agentes creados: 1 agente por cada VM encontrada en el host Hyper‑V (p. ej.
HyperV <NombreVM>si hay prefijo configurado, o<NombreVM>si no). - Módulos creados (por VM):
- State: estado numérico de la VM.
- Status: estado operativo/reportado por Hyper‑V.
- Generation: generación de la VM.
- CPU usage percentage: uso de CPU en porcentaje.
- Memory: métricas de memoria asignada/consumo.
- Uptime: tiempo desde que se encendió la VM.
Con el token Scan Networking se crean:
- Agentes creados: no crea agentes nuevos; añade módulos a los agentes de las VMs ya descubiertas.
- Módulos creados (por VM y por adaptador de red):
- Módulos de estado/conectividad del adaptador (conectado/no conectado).
- Módulos con información del Switch virtual asociado (vSwitch).
- Módulos con la MAC Address del adaptador.
- Módulos de status del adaptador reportado por Hyper‑V.
- Caso de varios adaptadores con el mismo nombre: si una VM tiene 2+ NICs con el mismo
Name(p. ej. “Adaptador de red”), el plugin crea los módulos con sufijos para evitar sobrescritura:..._1,..._2, etc.; si el nombre es único, no añade numeración.
Con el token Scan Storage se crean:
- Agentes creados: no crea agentes nuevos; añade módulos de almacenamiento a los agentes de las VMs (y/o al agente del hypervisor si vuestra configuración incluye métricas del host).
- Módulos creados (por VM):
- Módulos relacionados con discos/volúmenes reportados para la VM (tamaño/uso/estado según los datos disponibles).
- Cuando se reporta uso por letra de unidad, los módulos se nombran con el patrón
DiskUsed_<LETRA>(por ejemplo:DiskUsed_C,DiskUsed_D, …) en lugar de nombres tipo “Disk C Used GB”.
- Objetivo: monitorizar consumo de disco y detectar falta de espacio/crecimiento anómalo en las VMs.
Un ejemplo de Agentes creados con el plugin sería este:
Los módulos del host hypervisor serán estos:
Para una MV windows podemos ver como se crean los siguientes módulos:
Para una MV Ubuntu podemos ver los siguientes módulos: