31 de des. 2008

glTail.rb

Venga, ¡que se nos acaba el año! Espero que ya os vayáis acostumbrando al nuevo aspecto del blog.

Esto que estaba por ahí purulando en la red, mirando blogs aleatorios relacionados con las nuevas tecnologías en búsqueda de algún programa nuevo y me he topado con uno que me ha gustado bastante, se trata de obm.corcoles.net y me he fijado en este artículo:

http://obm.corcoles.net/20081216/visualiza-tu-trafico-con-gltailrb/



Así que me ha gustado su aspecto y he decidido probarlo.

glTail.rb es un analizador de tráfico entre dos hosts escrito con ruby, en su página web explican mucho mejor de qué se trata:

FEATURES
* Real-Time
* Multiple logfiles on multiple servers
* Configurable layout
* Multiple logfile parsers
(Apache Combined, Rails, IIS, Postfix/spamd/clamd, Nginx, Squid, PostgreSQL, PureFTPD, MySQL, TShark, qmail/vmpop3d)
* Custom events
* Show rate, total or average
* If you can 'tail' it, you can visualize it
* Written in Ruby using net-ssh, chipmunk & ruby-opengl
* Free! (GPLv2)
Para instalarlo nos decargamos el archivo del programa de su página web:

http://www.fudgie.org

Como de costumbre y porque es un formato libre nos descargaremos el .tar

A continuación lo descomprimimos en algun directorio, por comodidad decidí crear un directorio llamado bin directamente a mi home, ya que tenía la mala costumbre de instalar programas en el escritorio y algunos para hacerlos funcionar era necesario volverlos a compilar.
# cd ~
# cd bin
# tar xvzf Fudge.tar.gz
# cd Fudge/bin
Al ser un programa en ruby no lo compilaremos de la típica forma (./configure && make && make install). Así que necesitaremos instalar algunos paquetes, además el readme nos comenta que necesitaremos algunas librerías extra para la ejecución del programa:
== REQUIREMENTS:
* rubygems 0.9.4
* ruby-opengl 0.40.1
* net-ssh 1.1.2
* opengl/ruby development packages (ruby1.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev)
Así que buscando un poco lo que nos mostraba el apt-cache search ruby |grep requerimiento he instalado los siguientes paquetes:
# apt-get install rubygems libopengl-ruby libnet-ssh-ruby1.8
A continuación he ejecutado directamente el fichero de dentro de Fudge/bin/ y me ha soltado que necesitaba un fichero de configuración para funcionar y me ha dado la orden que tenía que ejecutar:
# gem install gl_tail
ERROR: could not find gem gl_tail locally or in a repository
No me enterado el porque del mensaje, así que se me ha ocurrido ejecutar directamente el fichero:
# ./gl_tail
Configuration file not found. Either supply the path to a config file as an argument to gl_tail,
or create a new one with:
gl_tail --new gl_tail.yaml
Vale, gracias por la información ;)
# ./gl_tail --new gl_tail.yaml
Example configuration installed in 'gl_tail.yaml'
Please edit it and change server and login information.
Si editamos el fichero que nos ha creado, vemos que hay varios hosts, que supongo que son los que intervendran en el gráfico y un porrón y medio de configuraciones (a investigar).

He imaginado que esto era una configuración de prueba por defecto, mas adelante vamos a ver lo que pasa.

Así que vuelvo a ejecutar el comando que me indica el README:
# gem install gl_tail
ERROR: could not find gem gl_tail locally or in a repository
Pues nada, vamos a la otra forma que si nos ha dicho algo
# ./gl_tail
Missing or outdated gem: ruby-opengl (>=0.40.1)
Ubuntu:
sudo apt-get install rake ruby1.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev
sudo gem install -y ruby-opengl -r

For more information: http://ruby-opengl.rubyforge.org/build_install.html

Vale, pues vamos a instalarlo:
# apt-get install rake ruby1.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev
Y una vez instaladas las librerías, ejecutamos el comando que nos indica:
# gem install -y ruby-opengl -r
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Building native extensions. This could take a while...
Successfully installed mkrf-0.2.3
Successfully installed rake-0.8.3
Successfully installed ruby-opengl-0.60.0
3 gems installed
Installing ri documentation for mkrf-0.2.3...
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for mkrf-0.2.3...
Installing RDoc documentation for rake-0.8.3...
Volvamos a ejecutar otra vez el comando:
# ./gl_tail
Missing gem net-ssh.
Ubuntu:
sudo gem install -y net-ssh -v 1.1.4 -r
Pues vale
# gem install -y net-ssh -v 1.1.4 -r
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Successfully installed needle-1.3.0
Successfully installed net-ssh-1.1.4
2 gems installed
Installing ri documentation for needle-1.3.0...
Installing ri documentation for net-ssh-1.1.4...
Installing RDoc documentation for needle-1.3.0...
Installing RDoc documentation for net-ssh-1.1.4...
Y otra vez con el comando:
# ./gl_tail
Missing gem file-tail.
Ubuntu:
sudo gem install -y file-tail -r
sofre:/home/laura/bin/Fudge/bin# gem install -y file-tail -r
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
Successfully installed file-tail-1.0.3
1 gem installed
Installing ri documentation for file-tail-1.0.3...
Installing RDoc documentation for file-tail-1.0.3...
Vamos haciendo lo que nos pide:
# ./gl_tail
Missing Chipmunk C extension.
Ubuntu:
cd vendor/Chipmunk-4.1.0/ruby
ruby extconf.rb
sudo make install
cd ../../../
A continuación
# cd ../vendor/Chipmunk-4.1.0/ruby && ruby extconf.rb && make install && cd ../../../
Nos fijamos que haya compilado correctamente y nos volvamos al directorio dónde nos encontrábamos.
# cd
# cd bin/Fudge/bin/
y ejecutamos otra vez el programa
# ./gl_tail
Connecting to anotherfunsite.com...
!!! Could not connect to anotherfunsite.com. Check to make sure that this is the correct url.
A partir de aquí vemos que es necesario configurar el fichero de configuración del que hemos hablado/generado antes:
# vi gl_tail.yaml
Aquí configuraremos los datos de los dos servidores los cuales queremos ver el tráfico.

Por supuesto será necesario tener la aceleración gráfica activada en el equipo el cual ejecutamos el programa.

Estoy investigando aún como se hace funcionar el programa, porque me temo que me falta una tontería para ponerlo en marcha...

0 comentaris:

Publica un comentari a l'entrada