Cómo monitorizar el número de sesiones activas actuales de Terminal Server (Escritorio Remoto) en un servidor con Windows Server 2012. El proceso es válido para otras versiones de Windows (desde la 2003 a la 2016). Para la monitorización usaremos Pandora FMS, aunque el procedimiento puede servir para otros sistemas de monitorización como Nagios, Sensu, Icinga, Zabbix, SolarWinds, Paessler, PRTG, etc..

Requisitos para obtener el número de sesiones activas de Escritorio Remoto (Terminal Server) en un equipo con Windows

Únicamente necesitaremos disponer de dos comandos que en Windows no vienen «preinstalados»: grep y gawk. Dichos comandos se pueden descargar desde el siguiente enlace:

Y en el caso de monitorización con Pandora FMS, no necesitaremos descargar estos comandos porque están disponibles en la carpeta util de la instalación del agente de Pandora para Windows (Pandora Agent).

Para poder monitorizar este valor, el número de usuarios conectados a un equipo/servidor con Windows y Terminal Server (Escritorio Remoto), necesitaremos disponer de un servidor de monitorización. En el siguiente artículo explicamos cómo montar un servidor de monitorización con Pandora FMS:

Y, el equipo en el que queramos monitorizar este valor, tendrá instalado el agente de Pandora (Pandora Agent), como explicamos en este artículo:

Probar comando para obtener únicamente el número de usuarios conectados a un equipo Windows mediante Escritorio Remoto o Terminal Server

En primer lugar comprobaremos que el comando query session funciona correctamente. Es el comando Windows que obtiene el número de usuarios conectados y activos en sesiones de Terminal Server. Para ello, desde una ventana de MS-DOS (cmd), ejecutaremos el siguiente comando:

Nos devolverá todos los usuarios conectados al equipo por Escritorio Remoto:

Probar comando para obtener únicamente el número de usuarios conectados a un equipo Windows mediante Escritorio Remoto o Terminal Server

El comando anterior nos devuelve todos las sesiones activas, una por cada línea, a partir de la tercera línea. Incluso nos devuelve el nombre de usuario conectado. Será este comando la base para obtener la información que deseamos, por lo que tiene que funcionar correctamente en el equipo que queramos monitorizar. En Windows este comando viene de forma «nativa», ya instalado.

A continuación usaremos, junto con el comando anterior query session, los comandos grep.exe y gawk.exe para quitar los títulos, quitar las líneas innecesarias y dejar solo el nombre de los usuarios conectados (uno por cada línea), luego contaremos las líneas y así obtendremos un número, que será el de usuarios activos conectados por Terminal Server. Ejecutaremos el siguiente comando en la carpeta donde tengamos las utilidades grep.exe y gawk.exe, en nuestro caso en:

Una vez en la carpeta «util» ejecutaremos:

Si todo es correcto nos devolverá únicamente un número, que será el de las sesiones de Terminal Server activas en este momento, en el ejemplo nos devuelve un 3:

Probar comando para obtener únicamente el número de usuarios conectados a un equipo Windows mediante Escritorio Remoto o Terminal Server

Una vez comprobado que el comando funciona correctamente podremos agregarlo al fichero de configuración de Pandora Agent para que se monitorice.

Monitorizar en Pandora FMS el número de usuarios conectados por sesión de Terminal Server (Escritorio Remoto) en un equipo Windows

Para monitorizar sensores/sondas/módulos necesitaremos tener instalado el cliente/agente de Pandora FMS (Pandora Agent) en el equipo, como hemos indicado anteriormente.

Con el Explorador de Windows accederemos a la carpeta de instalación del agente de pandora, normalmente en C:\Program Files\pandora_agent. En esta carpeta editaremos el fichero pandora_agent.conf con cualquier editor de texto plano (como Notepad):

Monitorizar en Pandora FMS el número de usuarios conectados por sesión de Terminal Server (Escritorio Remoto) en un equipo Windows

y agregaremos las siguientes líneas al final del fichero:

Monitorizar en Pandora FMS el número de usuarios conectados por sesión de Terminal Server (Escritorio Remoto) en un equipo Windows

Guardaremos los cambios (en Windows 10 y Windows Server 2012 y superiores requiere de acceso como administrador).

En las líneas anteriores para crear el módulo (sensor/sonda/monitor) en el servidor de Pandora FMS se pueden añadir más parámetros, por ejemplo para establecer los umbrales de criticidad (critical) y alerta (warning) para este monitor, quedando:

En el caso anterior el sensor pasará a estado de alerta (warnig) si el número de usuarios conectados por Escritorio remoto está entre 40 y 50. Y pasará a estado crítico (critical) si el número está entre 51 y 1000.

Como vemos, en realidad lo que hacen esas líneas es añadir un nuevo módulo (sonda/sensor) con el nombre «Numero_Sesiones_TS_Activas» y cuyo valor lo obtiene del resultado de la ejecución del comando anterior.

Reiniciaremos el servicio de Pandora Agent, ejecutando el fichero restart_pandora_agent.bat ubicado dentro de la carpeta script de la instalación del agente, pulsando con el botón derecho del ratón sobre él y eligiendo «Ejecutar como administrador»:

Monitorizar en Pandora FMS el número de usuarios conectados por sesión de Terminal Server (Escritorio Remoto) en un equipo Windows

En cuanto se reinicie el servicio podremos acceder al servidor de Pandora FMS y comprobar que se ha añadido este nuevo módulo para el agente en cuestión y que obtiene los valores correctamente del número de usuarios conectados por Escritorio Remoto:

Monitorizar en Pandora FMS el número de usuarios conectados por sesión de Terminal Server (Escritorio Remoto) en un equipo Windows

Este sensor/sonda/monitor/módulo ha sido probado en equipos Windows con sistema operativo Windows Server 2012, Windows Server 2003, Windows Server 2008 y Windows 10.