Monitoreo Usuarios aragorn Diseño y Programación Orientada a Objetos Fernando Montero – Ricardo Toloza
Resumen ejecutivo Se pretende monitorear la cantidad de usuarios en el servidor aragorn del departamento de electrónica. Análisis por hora de cada día. Presentar la información en forma grafica
Tecnologías asociadas Para el escaneo de usuarios se utiliza “expect” Para obtener solo la información necesaria se utiliza un script “bash” con comandos en “awk” Para graficar se utiliza Java
Expect, bash (awk) y formato de entrada #!/usr/bin/expect # spawn ssh expect "password: " send “miclave\r" expect " send "cd OO\r" expect " send "top -n 1 > top.txt\r" expect " send "who > who.txt\r" expect " send "exit\r" expect "#" spawn scp top.txt expect "password: " send “miclave\r" expect eof spawn scp who.txt expect "password: " send “miclave\r" expect eof exit #!/bin/bash # fecha=`date "+%m/%d/%y_%H:%M:%S"` echo $fecha users=`more who.txt | wc -l` echo $fecha $users >> who_all 07/01/09_21:59: /01/09_22:01: /01/09_22:03: /01/09_22:05: /01/09_22:07: /01/09_22:09: /01/09_22:11: /01/09_22:13: /01/09_22:15:01 7
Casos de uso
Caso de uso para “Graficar” Actor Principal: Usuario Personal Involucrado e Intereses: Usuario: Su principal interés es graficar por hora de cada día la cantidad de usuarios del servidor aragorn. Precondiciones: El script de expect y bash (awk), debe estar en funcionamiento Garantías de éxito (Postcondiciones): Se grafica el día requerido. Escenario principal de éxito (o Flujo básico): 1. El Usuario abre la aplicación con la intención de graficar el día seleccionado. 2. El Sistema busca en el archivo creado por los script, los datos de usuarios del día solicitado. 3. El sistema presenta un grafico en una ventana externa con la información requerida. 4. El Usuario visualmente reconoce la información, pudiendo cerrar la ventana o guardar el grafico en formato png.
Diagrama de secuencias “Graficar”
Interfaz grafica en java Componentes adicionales Jcalendar.jar jcommon jar jfreechart jar Documentación jcalendar: Documentación jfreechart y jcommon:
Grafico