Plugin UX

Plugin que permite la ejecución estándar de sesiones pregrabadas PDR y PWR

Introducción

 

Plugin que permite la ejecución estándar de sesiones pregrabadas PDR y PWR.

Parámetros generales

Parámetros

Nombre  Descripción
-exe Directorio al binario de tu utilidad de automatización o herramienta de test.
También es posible seleccionar el modo interno:
** Solo Windows:
PDR - herramienta compleja de chequeos de escritorio
** windows & linux:
PWR - herramienta compleja de chequeos web (con Selenium)
** requiere curl en el PATH:
stats - monitorización rápida del rendimiento del web server
** solo linux:
goliat – chequeos web basadas en Pandora Webserver
-args (opcional) Argumentos para la herramienta de automatización
-script

Script(s) a ejecutar.


Se pueden definir tantos como se necesiten. Por ejemplo:
-script script1,script2,script3

-folder (opcional) Directorio en el que se almacenarán los screenshots
-name (opcional) * PWR: define el nombre de la transacción
* PWD: nombre de la fase, se pueden definir tantas como se necesiten
ejemplo: -name phase1,phase2,phase3
deberían coincidir con los scripts definidos
-pwr_port(opcional) Puerto de escucha del servidor PWR
4444 por defecto, requiere -exe PWR
-pwr_host(opcional) Host en el que se encuentra el servidor PWR
Localhost por defecto, requiere -exe PWR
-pwr_browser(opcional) Navegador en el que se ejecutarán los chequeos PWR
*Firefox por defecto, requiere -exe PWR
-pwr_classic(opcional) Usa las librerías antiguas
Test::WWW::Selenium
PandoraFMS::WebDriver, requiere -exe PWR, 0 por defecto
-pwr_override_global_phase_time (opcional)

Sustituye el valor del modulo global time, por la sumatoria de todas las phases.

Si el token está a 1, se usara como valor del módulo la suma de todas las fases.

-retries (opcional) Número máximo de reintentos en caso de error
-ss_config (opcional) Configuración de los screenshots: X,Y,Ancho,Altura
ejemplo: -ss_config 0,0,100,100
obtendrá una imagen de 100x100 desde las coordenadas 0,0
[solo Windows]: activa el parámetro -ss_config para capturar la ventana activa
-checkpoint (opcional) Crea un nuevo screenshot de control
-s(opcional) Macro de sustitución, Sustituye cada instancia de _texto_ por el valor configurado. Es posible usar now+1 como valor para insertar el día actual. Se pueden configurar tantas macros (-s) como se necesiten, seguidas con el formato (-f) en caso de que
sea necesario:
-s macro1=value1 -f format1 -s macro2=value2 -f format2
-f(opcional) Formato para las macros de tipo fecha
usa notación std:
ejemplo: -f "%y%m%d" con fecha 2016, Sep 13 para obtener 160913
-k(opcional) Usa la salida de errorlevel para los chequeos en caso de fallo. Se comprueba por
defecto en caso de que el plugin devuelva alguna fase de ‘[error]’
-max_differences(opcional) Especifica el porcentaje máximo de diferencia entre la imagen de control y las obtenidas como resultado del test. Por defecto está configurado con el valor numérico 0.5

 

Configuración de email

-to (opcional) Dirección de email de destino que se enviará en caso de error
-from (opcional) Remitente del email
-subject (opcional) Asunto del email
-content (opcional) Contenido del email
-smtp_gw (opcional) Gateway del servidor smtp, 127.0.0.1 por defecto
-smtp_port (opcional) Puerto del servidor smtp. 25 por defecto

 

Configuración de los módulos de PandoraFMS

-t name (opcional) (solo modo PDR) habilita y configura un nombre para la transacción “global”. De
esta manera todos los módulos de los chequeos irán asociados al módulo de transacción
global, llamado ‘UX XXXX nombre’
-interval (opcional) Configura un module interval para los módulos resultantes del chequeo
-g (opcional) Configura un module group para los módulos resultantes del chequeo
-post (opcional) Comando que se ejecutará al acabar el chequeo, por ejemplo, matar firefox:
-post "taskkill /F /IM firefox.exe"
-post "killall firefox"
-tag_list x (opcional) Añade x (separados por comas) tags a los módulos generados, ejemplo:
tag1,tag2,...

 

Campos extra

-exit_on_fail (opcional) Termina inmediatamente la transacción si no es posible conectar con el servidor
PWR. 0 por defecto
-phase_snapshot (opcional) Genera un screenshot por fase. 0 por defecto
-classic_mode (opcional) El token a 0 siempre actualiza la latencia. El token a 1 solo actualiza la latencia si
la comprobación ha resultado exitosa. 0 por defecto
-v (opcional) Activa el modo verbose
-agent (opcional) Define la ejecución como plugin de servidor, configura el nombre del agente en
el que se almacenarán los módulos de salida
-agent_group (opcional) Si se define el token “agent” y crea un agente nuevo, configura el grupo al que pertenecerá.
-interval (opcional) Si se define el token “agent” y crea un agente nuevo, configura el intervalo que
tendrá. 300 por defecto
-tentacle_ip (opcional) ip del servidor tentacle. 127.0.0.1 por defecto
-tentacle_port (opcional) Puerto del servidor tentacle. 41121 por defecto
-tentacle_opts (opcional) Opciones extra del servidor tentacle
-local_folder (opcional) Directorio local de tentacle. /var/spool/pandora/data_in por defecto
-mode (opcional) [local|tentacle] modo de transferencia, “local por defecto”

Automatización de las sesiones

Ejecución de sesiones PWR

Ejecución estándar

Para lanzar sesiones pregrabadas de PWR, indicaremos que el modo de trabajo es PWR (con el parámetro –exe), y el archivo que contiene las directrices de la sesión. Con el parámetro –script el cual recibe ficheros html(v2) y .side(v3):

pandora_ux_x64.exe -exe PWR -script tests\std.side

Opcionalmente, podremos indicar el directorio en el que guardaremos los screenshots en caso de fallo en el chequeo y la ip y el puerto en el que se aloja el hub de selenium que realizará el chequeo.

pandora_ux_x64.exe -exe PWR -script tests\std.side –folder C:\sondas\ -pwr_host 192.168.80.40 –pwr_port 4445

Se devolverán los siguientes módulos:

UX_Time_nombre_proyecto
UX_Status_nombre_proyecto

Si hay alguna fase con error, se creará también el módulo siguiente:

UX_Snapshot_nombre_proyecto

Mostrará una imagen de la web en el momento del error siempre y cuando se esté ejecutando en el mismo equipo en el que está corriendo el servidor de Selenium.

Ejemplo de salida con ejecución correcta:

<module>
<name><![CDATA[UX_Status_std.side]]></name>
<type>generic_proc</type>
<data><![CDATA[1]]></data>
<description><![CDATA[Test OK]]></description>
</module>
<module>
<name><![CDATA[UX_Time_std.side]]></name>
<type>generic_data</type>
<data><![CDATA[16.317]]></data>
<description><![CDATA[Test OK]]></description>
</module>

Ejemplo de salida con ejecución fallida:

<module>
<name><![CDATA[UX_Status_std.side]]></name>
<type>generic_proc</type>
<data><![CDATA[0]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
</module>
<module>
<name><![CDATA[UX_Time_std.side]]></name>
<type>generic_data</type>
<data><![CDATA[15.463]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
</module>
<module>
<name><![CDATA[UX_Snapshot_std.side]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data>
<description><![CDATA[Image (last error)]]></description>
</module>

Ejecución basada en transacciones

Si se ha realizado la grabación del chequeo con la información adicional basada en transacciones, será el propio sistema quien genere los módulos necesarios para identificar cada una de las fases indicadas.

pandora_ux_x64.exe -exe PWR -script tests\std.html –folder C:\sondas

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

Mostrará una imagen de la web en el momento del error.

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

Mostrará una imagen de la web en el momento del error.

*#orden representa el número correspondiente al orden en que se ha declarado (1, 2, 3…)

Ejecución de sesiones PDR

Ejecución estándar

Para lanzar sesiones pregrabadas de PDR, indicaremos que el modo de trabajo es la ruta al fichero pdr.cmd, 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 ‘\’.

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.cmd -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active

Se devolverán los siguientes módulos:

- UX_Time_nombre_proyecto
- UX_Status_nombre_proyecto
- UX_Control_Snapshot_nombre_proyecto*

Si hay alguna fase con error, se creará también el módulo siguiente:

- UX_Snapshot_nombre_proyecto

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
completed
Control snapshot rebuilt
]]></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>

* Sólo en la primera ejecución

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>

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:

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 utilizaremos el parámetro -t con el nombre de la transacción que englobará las diferentes fases. Si tuviésemos un proceso con más fases seguiríamos 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 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 podremos 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

Mostrará una imagen de la web en el momento del error.

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

Mostrará una imagen de la web en el momento del error.

*#orden representa el número correspondiente al orden en que se ha declarado (1, 2, 3…)

Ejemplo de captura de imagen de web con transferencia incompleta:

image-1647513517031.png

Observación: Las capturas de error sólo 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.

 

 

 

Ejecución manual

Si se ejecuta el plugin por terminal se mostrará un xml ( si no se usa el parámetro agent, que es el que hay que utilizar para usar el plugin en modo servidor.

Si algo falla en la transacción, se creara un modulo extra de nombre "Ux_Snapshot_<file transaction>" que mostrará la imagen de la parte donde ha fallado la transacción. Con el parámetro -folder se puede elegir la carpeta en la que se guardara la imagen.

    Ejemplo XML ejecución correcta del plugin

image-1647352016673.png

    Ejemplo XML ejecución fallida del plugin

image-1647354773624.png

Configuración en PandoraFMS


Ejemplo ejecutar el plugin como plugin de agente

Para usar este plugin en modo agente, se debe llamar al plugin con un comando con los parámetros que se estén usando, esto se puede hacer desde el archivo pandora_agent.conf situado en "/etc/pandora". Aunque si esta habilitada la configuración remota se puede hacer desde la consola.

image-1647356034558.png


Para llamar al plugin se usará el parámetro module_plugin seguido del comando al final del archivo:


Ejemplo:

module_plugin /pandora_ux.64 -exe pwr -script wux2.side -pwr_port 4444 -pwr_host 172.42.42.1

 

En el siguiente intervalo que se actualice el agente aparecerán los módulos dentro del agente software en el que lo estamos llamando.

image-1647356184261.png

Ejemplo ejecutar el plugin como plugin de servidor

Se debe ir a servidores > plugins:

image-1647441477355.png

Pinchar en añadir:

image-1647441559604.png

Se le pone el nombre y la descripción que se prefiera:

image-1647441618522.png

Abajo en "comando del plugin" se debe introducir la ruta en la que tenemos el plugin de UX. En parámetros del plugin se introducirán todos los que queramos usar para customizar la ejecución del plugin seguido de la macro _field_ que nos permitirá almacenar los valores de estos parámetros más abajo.

* Si se va a usar el plugin como plugin de servidor, se debe usar el parámetro agent, ya que este hace que la ejecución del plugin muestre un valor básico con el que podremos ver el estado de la ejecución en vez de un xml que es lo que usaríamos si queremos usar el plugin en modo agente.

image-1647441704136.png

Se le puede añadir una descripción a cada macro para identificarlas seguido de un valor.

Macro _field1_

image-1647349972507.png

Macro _field2_

image-1647350000362.png

Macro _field3_

image-1647350034720.png

Macro _field4_

image-1647350051952.png

Macro _field5_

image-1647350070959.png

Una vez hecho esto se puede ver en la vista previa del comando este, y ejecutándolo por terminal se puede ver si los datos introducidos son correctos.

image-1647441728812.png

Si se introduce por terminal debería mostrar un 1 si todo ha ido correcto con la transacción.

Una vez realizados estos pasos y configurado el plugin al antojo del usuario, se debe crear un módulo, que mostrará el estado de la ejecución del plugin, para ello es requerido ir a un agente y crear un nuevo módulo de servidor de complementos.

image-1647441796782.png

Se le pondrá al módulo el nombre que queramos.

image-1647441874389.png

Y en la etiqueta de plugin se seleccionará el que se acaba de crear, se puede ver como aparecen los parámetros que hemos metido por las macros abajo.

image-1647350221240.png

Una vez hecho esto se debe crear el módulo y aparecerá en la vista de módulos con 1 si la ejecución del plugin no esta teniendo problemas.

image-1647350259697.png

Se puede ver que se ha creado un agente con el nombre que se le puso por parámetro.

image-1647350286122.png

Y dentro de este se pueden ver los módulos con el estado de la transacción.

image-1647350330558.png

 

Configuración para la experiencia de usuario de escritorio (PDR)

4.1 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:

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:

ux5.jpg

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.

image-1647878223815.png

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«.

image-1647878797825.PNG



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:

Si hay alguna fase con error, se creará también el módulo siguiente:

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:

Si hay alguna fase con error, se creará también el módulo siguiente:

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:

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:

Haga clic para ampliar

Y en el visor de transacciones podemos ver el detalle de las fases y la gráfica con los tiempos:

ux42.jpg

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.

ux26.jpg

Haga clic para ampliar

ux28.jpg

ux29.jpg

ux30.jpg

ux31.jpg

ux32.jpg

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.