Reliable monitoring made by experts

Manual del usuario de plug-in de WatchMouse

Ampliación de las funciones de WatchMouse


1. Definición

2. Funcionamiento de los plug-ins

3. Creación de plug-ins

4. Restricciones de tiempo

5. Ejemplos



1. Definición

En algunos paquetes de WatchMouse (por ejemplo, "Platinum") se pueden especificar reglas del tipo 'plugin'. Mediante este tipo de regla, se puede ampliar el alcance del sistema WatchMouse para que realice pruebas en cualquier protocolo, servidor o proceso dentro de la empresa, incluso detrás del cortafuegos.

2. Funcionamiento de los plug-ins

Los plug-ins son páginas web dinámicas ubicadas en el propio servidor web, las cuales ejecutan la prueba en nombre del servidor de WatchMouse. La página (plug-in) se abre con unos parámetros (consulte más abajo) y devuelve el resultado de la prueba. Puesto que la página dinámica se ejecuta en su servidor y está bajo su control, puede acceder a más sistemas que el sistema externo de WatchMouse.

3. Creación de plug-ins

Para crear plugins propios, produzca una página web dinámica en un servidor web que sea accesible desde Internet. Se puede utilizar cualquier lenguaje de programación para crear una página dinámica (PHP, ASP, C++, Java, TCL, etc.). Los servidores de WatchMouse visitarán esta página a los intervalos que especifique en la configuración de reglas.

Los siguientes parámetros are se pasan a esta página dinámica con un comando POST de HTTP:

  • WMhost
  • WMport
  • WMpath
  • WMpar
  • WMaccount
  • WMpasswd
  • WMua [por implementar]
  • WMmem [por implementar]

El valor del parámetro se copia de la configuración de reglas mediante los campos de host, puerto, ruta, parámetro, cuenta y contraseña, respectivamente.
Los parámetros se envían a través del protocolo HTTP 1.0. En los registros del servidor web, puede reconocer las pruebas de nuestros servidores, ya que tienen la etiqueta "WatchMouse/NNN" de usuario-agente. En la actualidad, la versión NNN es 1.20.

3.1. Valores devueltos

Tras realizar la prueba dentro del script de la página dinámica, debe devolver una página con el tipo de contenido "texto sin formato" y con una o varias líneas que terminen con una nueva línea (preferiblemente un carácter de avance de línea). Estas líneas deben indicar (sin líneas vacías, sin espacios en blanco a la izquierda):

    parámetro=valor

Se definen los siguientes valores devueltos, se omitirán otros nombres de parámetros:

Nombre Tipo Opcional Descripción
status entero sin signo N Utilice 0 para denotar un resultado correcto y un valor de 1..9999, si se produjo un error. Utilice valores diferentes para una condición de error diferente.
message char(255) S Un breve texto (sin nuevas líneas, normalmente 20 caracteres, 255 caracteres máximo). Preferiblemente, utilice un texto concreto para cada uno de los valores de estado.
rtime* entero sin signo N/A Tiempo de resolución. Todavía no ha iniciado sesión, pero disponible en línea.
ctime entero sin signo S Tiempo de conexión. Tiempo en milisegundos para genear la conexión
dtime entero sin signo S Tiempo de descarga. Tiempo en milisegundos para descargar la información.
dsize entero sin signo S Tamaño de la descarga. Número de bytes descargados.
ptime entero sin signo S Tiempo de procesamiento. Tiempo en milisegundos para procesar. Normalmente, el tiempo que se tarda desde la conexión hasta que se recibe el primer byte.
user entero sin signo S Valor definido por el usuario
*) Actualmente no ha iniciado sesión

Tenga en cuenta que, excepto los campos 'status' y 'message', en realidad el usuario puede definir los demás. No obstante, si los utiliza con el fin anteriormente descrito, facilitará la interpretación de los registros y gráficos para otras personas.

4. Restricciones de tiempo

El tiempo de espera establecido en la regla (8 segundos de forma predeterminada) se pasa al plugin, aunque es también el tiempo de espera del propio plugin. En caso de producirse un tiempo de espera, no se almacenan los parámetros (ctime, etc.).

5. Ejemplos

A continuación, se muestra un ejemplo en PHP (http://www.php.net/), Java y ASP.

5.1. Ejemplo PHP

1. <?
. // Conector WatchMouse para base de datos MySQL
. // Los siguientes parámetros POST están disponibles
. // WMhost, WMport, WMpath, WMaccount, WMpasswd, WMpar
. // La salida del host remoto será un encabezado MIME,
. // seguido de:
. // status=NNN\nmessage=XXX\n
. // NNN es un número positivo, 0 denota estado correcto, 1..9999 un error
. // XXX es un mensaje, 255 caracteres como máximo, sólo ASCII 32..127
11.
. $dbhost = 'dbhost.dominio.com';
. $dbname = 'nombreBaseDatos';
14. $dbuser = $WMaccount;
15. $dbpass = $WMpasswd;
16.
17. $dbh = @mysql_connect($dbhost, $dbuser, $dbpass);
18.
19. $err = mysql_errno()+0;
20. $msg = mysql_error();
21. if (!$dbh && !$err) {
22. $err=1;
23. $msg = "No se pudo establecer conexión con $dbhost($dbuser))";
24. }
25. print "status=$err\n";
26. print "message=$msg\n";
27.
28. if ($dbh) @mysql_close($dbh);
29. ?>

5.2. Ejemplo JAVA

[Por incluir]

5.3. Ejemplo ASP

[Por incluir]