• Aucun résultat trouvé

Arquitectura de la herramienta Paradyn

2.4. Arquitectura b´ asica de las herramientas de monitorizaci´ on

2.4.2. Arquitectura de la herramienta Paradyn

Como GDB, Paradyn tambi´en es una herramienta de software libre (se puede obtener y utilizar libremente) que ofrece la posibilidad de la monitorizaci´on remota. Para ello su arquitectura define dos componentes: El local, formado por el proceso paradyn 1 y el remoto formado por el proceso demonio denominado paradynd [27]. El proceso paradyn, que se ejecuta en la maquina local del usuario, utiliza una interfaz gr´afica (funciona en sistemas UNIX/Linux con X-Windows y MS-Windows) que, como en el resto de componentes locales vistos en este capitulo, recoge las peticiones de usuario, las env´ıa al demonioparadynd y recoge las respuestas de este para mostrarlas al usuario. Por su lado, el demonio paradynd (aplicaci´on tipo consola, no gr´afica), que se ejecuta en la m´aquina remota, recoge las peticiones del proceso paradyn, realiza las acciones de monitorizaci´on sobre el proceso a monitorizar y env´ıa las respuestas de vuelta al componente local de la herramienta. Para realizar sus acciones de monitorizaci´on, el demonio paradynd utiliza la librer´ıa Dyninst [28], la cual permite la inserci´on de c´odigo (el de monitorizaci´on en el caso de esta herramienta) en un programa, tanto si est´a en ejecuci´on (como proceso) como si est´a situado en el disco.

Para la realizaci´on de la monitorizaci´on remota, esta herramienta ofrece dos m´etodos [26]:

1El proceso paradyn crea otros procesos (como el termWin, consola de informaci´on) que le ayudan a realizar sus funciones [26]. Pero como es el proceso principal del componente local de esta herramienta, siempre se har´a referencia a el como dicho componente local

30 2. Estado del arte 1. Autom´atico: Este es el m´etodo recomendado por la herramienta para realizar la monitorizaci´on remota. Con este m´etodo, el componente local de Paradyn (el proceso paradyn) pone autom´aticamente en ejecuci´on, en la m´aquina remota, el demonio paradynd para que este inicie el proceso de monitorizaci´on. Para ello se necesitan dos condiciones principales:

El usuario debe suministrar al procesoparadyn ciertos datos (a trav´es de sus diferentes ventanas) que necesita para poner en ejecuci´on el demonioparadynd.

Estos datos son: La m´aquina remota donde este demonio va a monitorizar el proceso, el usuario, el nombre del ejecutable del proceso con sus posibles argumentos y un campo especial que define el tipo de demonio paradynd a utilizar seg´un el programa que se va a monitorizar. Los tipos habituales de este demonio son: defd para la mayor´ıa de aplicaciones UNIX/Linux, winntd para las aplicaciones MS-Windows, mpid para las aplicaciones distribuidas basadas en el protocolo MPI y para las aplicaciones multi-thread de Solaris o AIX, el tipo esmt d. La monitorizan de aplicaciones distribuidas (como las MPI), implica la ejecuci´on de diversos demonios paradynd en cada m´aquina donde se ejecuta un proceso de la aplicaci´on distribuida a monitorizar.

El procesoparadyn utiliza una herramienta de conexi´on remota, normalmente ssh, para ejecutar el demonioparadynd en la maquina remota donde se desea monitorizar un proceso. Por lo tanto es importante destacar que esta m´aquina remota debe soportar este tipo de conexi´on remota.

2. Manual: Como en el caso de GDB, si el componente local de Paradyn no puede ejecutar autom´aticamente su demonio paradynd, esta herramienta ofrece la posibilidad de que un usuario o una aplicaci´on puedan ejecutar, en una m´aquina remota, este demonio. Para ello, el proceso paradyn ofrece un argumento especial -x fichero informaci´on paradynd, el cual sit´ua la informaci´on necesaria que se necesita para poder ejecutar el demonio paradynd en el fichero fichero informaci´on paradynd. El formato de este fichero es el siguiente:

paradynd -z<tipo>-l<n>-m<nombre maquina>-p0 -P<puerto comunicaciones>

Donde:

-z<tipo>: Indica eltipo del demonio paradynd (defd, winntd, mpid o mt d).

2.4. Arquitectura b´asica de las herramientas de monitorizaci´on 31 -l<n>: Define quien ejecuta el demonio: Si n vale 0, el demonio es ejecutado autom´aticamente por el proceso paradyn, si vale 1, el demonio es ejecutado manualmente por un usuario o una aplicaci´on. Normalmente se deja el valor devuelto por el proceso paradyn.

-m<nombre m´aquina>: Indica el nombre de la m´aquina donde se ejecuta el proceso paradyn.

-p0 -P<puerto comunicaciones>: Informa de los puertos de conexi´on (TCP/IP) del componente local de Paradyn por donde se comunica con sus demonios paradynd.

Aparte de estos argumentos, el demonio paradynd tambi´en admite los siguientes argumentos importantes:

-runme <nombre ejecutable>: Indica la direcci´on y el nombre del ejecutable, en la m´aquina remota, del proceso a monitorizar.

-apid <pid>: Como en la herramienta GDB, Paradyn tambi´en permite que el demonio paradynd se adjunte a un proceso que ya se est´a ejecutando en la m´aquina remota. El valor <pid> es el identificador del proceso que da el Sistema Operativo y como suced´ıa con el demonio gdbserver (de GDB) el usuario (o la aplicaci´on) debe suministrar este pid.

Con los mismos datos (m´aquina y ejecutable) utilizados en el ejemplo de GDB, para ejecutar el demonio paradynd, primero se ejecuta, en la m´aquina local del usuario, el proceso paradyn con el siguiente comando:

maquina local user> paradyn -x fichero paradynd

El fichero fichero paradynd contiene la informaci´on necesaria para la ejecuci´on manual del demonio paradynd, esta informaci´on tiene el siguiente formato:

paradynd -z<flavor> -l1 -p0 -P2000

Donde el valor <flavor> hay que sustituirlo por el tipo de demonioparadynd a utilizar, si la aplicaci´on es est´andar (serie y el Sistema operativo de la maquina es Unix/Linux) el valor de este argumento ser´a defd. El resto de valores del archivo indican que el lanzamiento del demonio ser´a manual (-l1) e informan los puertos de comunicaci´on (-p0

32 2. Estado del arte -P2000) que utiliza el procesoparadyn para aceptar las conexiones de sus demonios.

Una vez est´a en ejecuci´on el proceso paradyn, se accede a la m´aquina remota host1 y se ejecuta el el siguiente comando :

host1> paradynd -zdefd -l1 -p0 -P2000 -runme /home/user/user exec

Se puede observar que, a diferencia de la herramienta GDB, se ha supuesto que el usuario no puede acceder a la m´aquina host1 desde su m´aquina local (utilizando ssh) y si que puede acceder directamente (personalmente) a esta maquina para ejecutar en ella el demonio paradynd. Esto se ha hecho de esta manera, debido a que si se puede usar la herramienta de conexi´on remota ssh para acceder a la maquina remota, entonces la herramientaParadynpude usar su m´etodo autom´atico (y recomendado) para monitorizar remotamente el proceso.