Welcome to Delicate template
Header
Just another WordPress site
Header

Monitorizando XenServer (u otros) en tu Escritorio OSX con GeekTool

julio 4th, 2013 | Posted by cristiansan in Basico | Mac | Monitoring | Performance | tricks | XenServer

Hace poco conocí  “GeekTool”, una herramienta que viene a ser un conky para OSX.

De echo, hacia tiempo que buscaba una herramienta de este tipo, pues algo que me gustaba de mis escritorios Linux era poder monitorizar mi maquina entre otras tareas y mostrar dicha información en tiempo real en mi escritorio, sin necesidad de utilizar consolas adicionales.

Así pues, descubierto este, nos pusimos manos a la obra, instalamos GeekTool y utilizamos unos .glets desarrollados por la comunidad y realizamos modificaciones en otros para disponer de un wallpaper con vida que nos muestra datos interesantes en pantalla.

Inicialmente, incluí un bonito reloj, un resumen de uso del sistema y el top de procesos por consumo de memoria/cpu en mi sistema OSX.

Reloj

Si buscáis en google por GeekTool, veréis escritorios que son autenticas maravillas. De echo, este no es el fondo del artículo.

Posteriormente, añadí  un lector RSS para detectar nuevos artículos de algunos de mis blogs, y de aquí y haciendo pruebas empezarón a surgir dudas… ¿podre utilizar esto para monitorizar mis hypervisores y mostrar la inforamción en pantalla?

Rss

Como algunos saben, tengo debilidad por XenServer, así que mi objetivo de monitorización, en cuanto a hypervisor, era claro; aunque con un poco de mañana, el resto de hypervisores seguro que tambien encajarán aquí.

Monitorizando XenServer vía GeekTool

Aquí es dónde viene lo divertido. Echas las primeras pruebas, el objetivo era poder ver datos de mi XenServer  que utilizo como laboratorio en casa.

Y como podemos hacer esto… … … … tras unos minutos de estruje neuronal…. ¿Por qué no usar SSH? Probemos.

Realizar un NAT en nuestro router para redirigir el tráfico SSH de la IP Publicahacia mi IP interna de XenServer.

Por supuesto, es importante, probar que funciona correctamente el acceso 😉

ALARM:  Es momento de solucionar un posible dolor de cabeza.

Sabemos que para abrir una conexión SSH, deberemos realizar:

# ssh root@IP_Publica

Ello nos solicitara la contraseña. Y este punto puede suponer un problema. Seria interesante, que nuestro host confie en nuestra máquina y posiblite la conexión con validación por key para conectar y ejecutar tareas sin necesidad de solicitar contraseña (y sin que nos obligue a incluirla en nuestros scripts).

La solución …, si no recuerdo mal, algo escribí por aquí, que podría ayudarnos…

http://blogs.itpro.es/cristiansan/2011/10/01/ssh-key-maclinux-to-xenserver-without-pass/

Solventando el problema de SSH, es necesario crear el script que queremos. Vamos a empezar con una prueba sencilla. Muy muy sencilla, no voy a explicar como funciona GeekTool (hay fabulosos manuales en internet), ni a realizar complejos scrips de monitorización para nuestro host (probablemente en futuros artículos).

El foco de este, es simplemente, enseñar que podemos hacer con un poco de imaginación…

Vamos a empezar por un comando simple: Listar las VMs y su estado y situar-las en nuestro Wallpaper.

Creando el GLET

Para mostrar un listado de VM en nuestro host de XenServer, podemos ejecutar:

# xe vm-list

Podriamos filtrar un poco mas, y mostrar solo las que esten ejecución..

# xe vm-list power-state=running

 Pero el primero nos vale…

Para ello, necesitaramos saber como ejecutar comandos de forma remota en XenServer. Utilizando SSH y la opción de autovalidación comentada anteriormente, es una opción.

# ssh root@IP_SERVER “Commands”

Una vez tengamos la línea de comando a ejecutar, podemos guardarla en un script o ejecutar-la directamente desde SSH. Mi script básico para GeekTool, es el siguiente:

udate=date +"%D %H:%M"
echo Last Update:  ${udate};
echo #
ssh root@IP_PUBLICA «xe vm-list params=name-label,power-state»

La priemra linea guarda en la variable $udate, la fecha en formato MM\DD\AA HH:MM.

Posteriormente, ecribimos la fecha en patalla precedido del texto «Last Update:» (Ello nos servira para saber cuando fue actualizada la información del host por última vez.)

Finalmente, dejamos un espació en blanco, y realizamos la conexión via SSH con nuestro host, donde ejecutamos el comando para listar las VMs de nuestro host y seleccionamos unicamente los campos de Name-Label y Estado (Power-State) para mostrar en pantalla.

Verificamos el resultado desde nuestro CLI (ejecutamos el comando desde el terminal de OSX para verificar su correcta aplicación) y echo esto, utilizamos GeekTool para configurar nuestro nuevo script de Monitorización.

Se incluye el codigo en nuestro «shell» de GeekTool y especificamos als opciones tales como fuente, color, fondo y tiempo de refresco del script (en mi caso lo estableci cada 30 min).

Echo, esto solo queda vestir-lo un poco para que quede wapo. Aquí ya entra la vena artística de cada uno… a mi no se me dan muy bien estas cosas.

Como ejemplo, os dejo una captura de esta primera versión de mi escritorio dónde podemos ver…

Fecha; Logo de CTXDOM, Logo de Apple con estado de nuestro OSX, Logo de monitorización con el top process de mi equipo, el RSS de Citrix Blogs y los logos del panda de Xen con la información mostrada por el Script escrito anteriormente y mi dirección IP publica.

Modif

¿Mola eh? … ahora os toca a vosotros… Que la fuerza os acompañe!

Resource

Página oficial GeekTool: http://projects.tynsoe.org/en/geektool/

 

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *