Ejecución manual PDR (chequeos de escritorio)
Configuraciones previas
El sistema PDR únicamente funciona en sistemas Windows®, y una vez en ejecución por el Agente de Pandora FMS éste debe correr en modo proceso, ya que de correr en modo servicio no funcionará. Además, no será posible bloquear la sesión de escritorio, por lo que se recomienda su uso en máquinas virtuales.
Prerrequisitos:
-
Sistema Windows® en modo escritorio con auto arranque y auto inicio de sesión.
Para lograr dicha configuración ejecute:
Para versiones anteriores a Windows 10®:
control userpasswords2
Y desmarque la casilla Users must enter a user name and password to use this computer:
Haga clic en el botón Ok e introduzca el nombre de usuario y su contraseña.
Para Windows 10®:
Usando Netplwiz:
Se puede habilitar usando el comando "netplwiz" en windows 10, esto se puede hacer desde el buscador o si se abre la ventana de ejecutar.
Para habilitar el inicio de sesión automático, lo único que se debe hacer, en esta ventana, es deshabilitar la casilla «Los usuarios deben escribir su nombre y contraseña para usar el equipo«.
Usando Autologon :
Una manera de habilitar el auto inicio en MS Windows®, versión 10, es utilizar Powertoys de Sysinternals (disponible en la sección de descargas de la documentación de Microsoft®) y habilitar el usuario que realizará la monitorización, por ejemplo:
Para preparar el entorno cree el siguiente directorio:
C:\PDR
Y descomprima el fichero PDR.rar
(proporcionado en el siguiente enlace https://pandorafms.com/library/pdr-cmd-for-ux-monitoring/) en dicha carpeta.
Ejecución de sesiones PDR
Ejecución estándar
Para lanzar sesiones pregrabadas de PDR, indique que el modo de trabajo es la ruta al fichero pdr.cmd
desplegado en el punto correspondiente, el argumento de dicho fichero -r
, el archivo que contiene las directrices de la sesión (-script
), el directorio donde almacenar las capturas de pantalla (-folder
) terminando en ‘\’, el cual es opcional, donde guardar las capturas en la carpeta donde está ubicado el pdr
. También se puede introducir el número de reintentos consecutivos en caso de fallo (parámetro opcional).
En la ejecución siguiente también se personaliza la captura de pantalla para recoger únicamente la ventana activa:
pandora_ux_x64 -exe C:\PDR\pdr -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active -retries 3
Se devolverán los siguientes módulos:
-
UX_Time_nombre_proyecto.
-
UX_Status_nombre_proyecto.
-
UX_Control_Snapshot_nombre_proyecto (solo en la primera ejecución).
Si hay alguna fase con error, se creará también el módulo siguiente:
-
UX_Snapshot_nombre_proyecto.
Y mostrará una imagen de la ventana activa (con -ss_config active
) del momento del error.
Ejemplo de salida con ejecución correcta:
<module>
<name><![CDATA[UX_Status_calculadora.sikuli]]></name>
<type>generic_proc</type>
<data><![CDATA[1]]></data>
<description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuild ]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
</module>
<module>
<name><![CDATA[UX_Time_calculadora.sikuli]]></name>
<type>generic_data</type>
<data><![CDATA[20.204]]></data>
<description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuilt ]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>
<module>
<name><![CDATA[UX_Control_Snapshot_calculadora.sikuli]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64, IBCAIAAAAOCnfhAAAAAXNSR…/4x79e/7757f8H2C00s1C73yMAAAAASUVORK5CYII=]]></data>
<description><![CDATA[Control image rebuilt]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>
Ejemplo de salida con ejecución fallida:
<module>
<name><![CDATA[UX_Status_std.html]]></name>
<type>generic_proc</type>
<data><![CDATA[0]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
</module>
<module>
<name><![CDATA[UX_Time_std.html]]></name>
<type>generic_data</type>
<data><![CDATA[15.463]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_std.html</module_parent>
</module>
<module>
<name><![CDATA[UX_Snapshot_std.html]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data>
<description><![CDATA[Image (last error)]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_std.html</module_parent>
</module>
Si todo ha resultado correcto puede añadir la línea de ejecución al agente de Pandora FMS instalado en la máquina Windows® como plugin de Agente. La línea a añadir al fichero de configuración del Agente tendrá un aspecto similar a este (en una sola línea):
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.bat -args -r -script C:\PDR\calc.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
Como puede verse, esta ejecución tiene algunas opciones más. El parámetro -checkpoint
sirve para mostrar una captura del resultado final aunque no exista fallo; -post
ejecutará acciones una vez terminada la reproducción de la sesión. En este caso, vamos a cerrar el proceso de calculadora que ha iniciado la grabación, para evitar que el sistema termine fallando por exceso de ventanas abiertas o procesos similares.
Ahora que el Agente tiene la línea de ejecución module_plugin lista, debe lanzarlo en modo proceso, ejecutando lo siguiente desde línea de comando como administrador:
"%ProgramFiles%\pandora_agent\PandoraAgent.exe" --process
Al lanzarlo podrá ver cómo se ejecutan las acciones de forma automática conforme a la grabación. Desde este momento el proceso de agente no debe cerrarse, y tampoco se debe iniciar sesión en la máquina por escritorio remoto, o las ejecuciones podrían interrumpirse. La máquina debe quedar sin manipular, por esta razón es por la que se recomienda su uso en máquinas virtuales.
Si ya se tienen tests de automatización, se pueden incluir en Pandora FMS con la siguiente ejecución.
pandora_ux.64 -exe <exe del sistema de automatización> -args <argumentos del sistema> -script <ruta ficheros de prueba>
Ejecución basada en transacción
Si tenemos grabados diferentes procesos con PDR y hemos probado que funcionan al reproducirlos de forma continuada, haremos la ejecución del siguiente modo:
C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active
Como puede observarse, simplemente indicaremos la ruta del nuevo script en el parámetro -script
separada por una coma del script anterior y utilice el parámetro -t
con el nombre de la transacción que englobará las diferentes fases. Si tuviera un proceso con más fases seguiría la misma lógica; por ejemplo:
pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t proceso_transaccional -script C:\PDR\script1,C:\PDR\script2,C:\PDR\script3,C:\PDR\script4 -folder C:\PDR\ -ss_config active
La línea a añadir al fichero de configuración del Agente, para este caso, será la siguiente:
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
Gracias al parámetro -checkpoint
puede ver capturas del resultado final de cada fase en la consola de Pandora FMS.
Se devolverán los siguientes módulos por fase:
-
UX_Time_nombre_proyecto.fase_orden.
-
UX_Status_nombre_proyecto.fase_orden.
Si hay alguna fase con error, se creará también el módulo siguiente:
-
UX_Snapshot_nombre_proyecto.fase_orden.
También mostrará una imagen de la web en el momento del error, en caso de que se produzca.
También se devolverán los módulos de resumen globales identificados con los siguientes nombres:
-
UX_Global_Time_nombre_proyecto.
-
UX_Global_Status_nombre_proyecto.
-
UX_Global_Snapshot_nombre_proyecto.
Cuando el agente se encuentre corriendo en modo proceso y los módulos sean recuperados por Pandora FMS los veremos en la consola. De nuevo, mediante la vista en modo jerárquico podremos mostrar con claridad la relación entre los módulos mostrados, delimitando claramente las diferentes fases:
Y en el visor de transacciones podemos ver el detalle de las fases y la gráfica con los tiempos:
Las capturas de error solo se mostrarán cuando el cliente UX (PWR) y el servidor PWR estén corriendo en la misma máquina. En caso contrario, el directorio de entrega de las imágenes por parte del servidor PWR deberá ser accesible por el cliente para poder mostrar la imagen en Pandora FMS.
Será sobre estos Módulos sobre los que puede crear alertas y visualizar el histórico para construir gráficas y mostrar la evolución en el tiempo de los sistemas a monitorizar.
Se recomienda la creación de una tarea programada que arranque el agente de Pandora FMS en modo proceso cuando el equipo se inicie y así no se interrumpirán las ejecuciones aunque el sistema tenga un reinicio forzoso. Al estar en modo inicio de sesión automático sin contraseña, el agente siempre se ejecutará aunque se reinicie la máquina.
De este modo garantizaremos que en este sistema Windows siempre estará corriendo el Agente de Pandora FMS en modo proceso aún cuando la máquina se reinicie, pudiendo enviar siempre la información recogida por la sonda PDR.
Sistemas con varios escritorios pueden resultar problemáticos, por lo que se recomienda siempre utilizar la configuración anteriormente descrita, en una máquina en modo escritorio con autoinicio de sesión y un único escritorio.