Horizon VMware Discovery Este documento describe la funcionalidad Horizon de de PandoraFMS, compuesta por el plugin de discovery. Introducción Este plugin sirve para monitorizar entornos VMware Horizon mediante llamadas a su API REST, recopilando información detallada sobre el estado de pools de escritorios, servidores RDS, sesiones activas, licencias, métricas del sistema y otros elementos clave de la infraestructura. A través de múltiples endpoints predefinidos, el script extrae datos sobre la operación y el rendimiento de la plataforma, permitiendo identificar posibles cuellos de botella o fallos en el servicio. El sistema se autentica mediante credenciales configurables, consulta los endpoints habilitados según los permisos asignados al usuario, y transforma la información recolectada en agentes y módulos en formato XML. Estos datos son enviados automáticamente al servidor de Pandora FMS utilizando el modo de transferencia Tentacle, facilitando la monitorización distribuida de la plataforma Horizon. Además, el plugin está preparado para gestionar múltiples recursos de forma paralela y escalar según sea necesario, proporcionando una solución flexible y automatizada para el seguimiento de entornos Horizon empresariales. Prerrequisitos El sistema que ejecuta el plugin debe de tener conectividad y poder llegar al de forma remota al entorno de Horizon. Los siguientes roles y privilegios son necesarios  : FEDERATED_LDAP_VIEW FEDERATED_SESSIONS_VIEW GLOBAL_CONFIG_VIEW MACHINE_VIEW POOL_VIEW UDD_VIEW VC_CONFIG_VIEW Parámetros Parámetros --conf Ruta al archivo de configuración Archivo de configuración (--conf) domain = < nombre del dominio > username = < nombre de usuario > password = < contraseña del usuario > url = < url del entorno > interval = < intervalo de creación del agente > temporal = < ruta de ficheros temporales > transfer_mode = < modo de transferencia > tentacle_ip = < dirección de tentacle > tentacle_port = < puerto de tentacle > data_dir = < ruta de los .data de los agentes > Ejemplo user = "admin" password = "P@ssw0rd123" domain = "CORP" url = "https://horizon.example.com" interval = 300 temporal = /tmp transfer_mode = tentacle tentacle_ip =172.42.42.101 tentacle_port =41121 data_dir = /var/spool/pandora/data_in/ Ejecución manual El formato de la ejecución del plugin es el siguiente: ./pandora_horizon --conf < ruta al fichero de configuración > Por ejemplo: ./pandora_jmx --conf /usr/share/pandora_server/util/plugin/horizon.conf La ejecución devolverá una salida en formato JSON con información sobre la ejecución, y generará un fichero XML para cada agente monitorizado que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración. 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 Horizon creando tareas de Discovery  desde la sección  Management > Discovery > App Para cada tarea se solicitarán los siguientes datos mínimos: Domain : Nombre del dominio  Url: U rl del entorno  Username: Nombre de usuario  Password: Contraseña del usuario Use prefix: Para usar prefijo para los agentes Max threads: Número de hilos Tentacle IP: Dirección de tentacle Tentacle port: Puerto de tentacle Las tareas completadas con éxito tendrán un resumen de ejecución con la siguiente información: Total agents : Número total de agentes generados por la tarea. Agentes y módulos generados por el plugin La ejecución creara los siguientes agentes, con los siguientes módulos : Agente: VMware Horizon Desktop Pools Módulos (por cada Desktop Pool): num_machines num_connected_sessions occupancy_count Agente : VMware Horizon Rds-servers Módulos (por cada RDS Server - Inventory):   (para cada campo del JSON de inventario, tipo string → generic_data_string, tipo numérico → generic_data) Módulos (por cada RDS Server - Monitor): Agent Build Agent Version Max Sessions Count Configured Operating System State Enabled Farm ID Server ID Load Index Load Preference Name Session Count Status Agente: VMware Horizon Sessions Módulos: Sessions Active App Sessions Disconnected App Sessions Idle App Sessions Pending App Sessions Android Clients Browser Clients iOS Clients Linux Clients Mac Clients Other Clients Windows Clients Active Desktop Sessions Disconnected Desktop Sessions Idle Desktop Sessions Pending Desktop Sessions External Gateways Internal Gateways Unknown Gateways BLAST Sessions Other Protocols PCOIP Sessions RDP Sessions Agente : VMware Horizon Machines Módulos: Pairing State State Last Maintenance Time Memory MB Operation State Disk Capacity MB Agente: Physical machines Módulos : Agente: VMware Horizon Persistent Disks Módulos: Access Group ID   Capacity MB   Datastore ID   Datastore Name   Desktop Pool ID   Desktop Pool Name   Disk ID   Last Attached Time   Machine ID   Machine Name   Status   Usage   User ID   User Name   vCenter ID   Agente: VMware Horizon Health Metrics Módulos : Error Count (unidad: count)   Healthy Count (unidad: count)   Total Count (unidad: count)   Unknown Count (unidad: count)   Warning Count (unidad: count)   Agente: VMware Horizon Connection Servers Módulos (por cada servidor de conexión): Connection Count (unidad: count) CS Replications (unidad: count) Last Updated Timestamp Name (cadena) Services (cadena) Session Protocol Data (cadena) Session Threshold Status (cadena) Tunnel Connection Count (unidad: count) Unrecognized PCOIP Requests Count (unidad: count) Unrecognized Tunnel Requests Count (unidad: count) Unrecognized XMLAPI Requests Count (unidad: count) Agente: VMware Horizon App Volumes Módulos (por cada servidor de conexión dentro de cada app volumes manager): Certificate Valid Certificate Valid From (cadena) Certificate Valid To (cadena) Status (cadena) Thumbprint Accepted Agente : VMware Horizon Gateways Módulos generados por cada gateway (): Active Connection Count (numérico) Blast Connection Count (numérico) Last Updated Timestamp (string) PCOIP Connection Count (numérico) Status (string) Agente: VMware Horizon Usage Metrics Módulos generados: Usage Metrics Current Concurrent Application Sessions (numérico) Usage Metrics Current Collaborative Sessions (numérico) Usage Metrics Current Full VM Sessions (numérico) Usage Metrics Current Unmanaged VM Sessions (numérico) Usage Metrics Total Collaborators (numérico) Usage Metrics Total Concurrent Connections (numérico) Usage Metrics Total Concurrent Sessions (numérico) Usage Metrics Total Named Users (numérico) Usage Metrics Highest Concurrent Application Sessions (numérico) Usage Metrics Highest Collaborative Sessions (numérico) Usage Metrics Highest Full VM Sessions (numérico) Usage Metrics Highest Unmanaged VM Sessions (numérico) Usage Metrics Highest Total Collaborators (numérico) Usage Metrics Highest Total Concurrent Connections (numérico) Usage Metrics Highest Total Concurrent Sessions (numérico) Usage Metrics Highest Total Named Users (numérico) Agente: VMware Horizon System Metrics Módulos generados: System Metrics Event Error Count (numérico) System Metrics Event Warning Count (numérico) System Metrics Health Metrics Component (string) System Metrics Health Metrics Error Count (numérico) System Metrics Health Metrics Healthy Count (numérico) System Metrics Health Metrics Total Count (numérico) System Metrics Health Metrics Unknown Count (numérico) System Metrics Health Metrics Warning Count (numérico) System Metrics Problem RDS Hosts Count (numérico) System Metrics Problem vCenter VMs Count (numérico) System Metrics Sessions Count (numérico) Agente: VMware Horizon Virtual Datacenters Módulos generados por cada virtual datacenter (): Connection Server Server Status (string) Datastore Path (string) Datastore URL (string) Datastore Capacity MB (numérico) Datastore Free Space MB (numérico) Datastore Status (string) Host Cluster Name (string) Host CPU Core Count (numérico) Host CPU MHz (numérico) Host Memory Size MB (numérico) Host Overall CPU Usage MHz (numérico) Host Overall Memory Usage MB (numérico) Host Status (string) Desktop Pools and Farms Count (numérico)