QNotifier es una aplicación desarrollada en Ruby para monitorizar servidores desde un iPhone / iPad (con avisos push).

Este manual explica la instalacion del servicio qnotifier en cada servidor que queramos monitorizar, por lo que partimos de la base de que ya tenemos la aplicación qnotifier instalada en el iPhone / Pad que vamos a utilizar (aplicación disponible en la App Store).

Una vez instalada la aplicación desde la App Store en el iPhone (como es nuestro caso), seleccionamos `Add server', lo que añadirá un nuevo registro para el servidor, y le asignará un código. Este código es el que usaremos más adelante para que el servicio de QNotifier de nuestro servidor reporte los datos de monitorización corresponientes.

No hay que confundir la aplicación QNotifier del iPhone (que es la que muestra los datos de cada servidor) con la aplicación QNotifier que instalaremos en cada servidor que queramos monitorizar (que es la que enviará los datos al QNotifier de nuestro iPhone).

La instalacion en el servidor es similar en cualquier sistema Linux, por lo que aunque el manual está orientado a la instalacion en Debian y en Centos, debería ser similar en cualquier otra distribución que queramos.

En primer lugar, debemos instalar el paquete ruby, obviamente... ;) Para hacerlo de la forma más sencilla y manejable posible, lo haremos desde un repositorio para yum/apt, de forma que su instalacion, actualizacion o eliminacion en el futuro sean igualmente sencillas.

Instalacion en Debian:

Para añadir el repositorio que contiene los paquetes de Ruby necesarios para instalar QNotifier, editamos el archivo /etc/apt/sources.list y añadimos estas lineas al final:

# Ruby
deb http://debgem.com/apt debian-4.0 rubyforge

Importamos la firma GPG del servidor para la verificacion de los paquetes:

$ wget -q http://debgem.com/apt/debgem.gpg -O- | sudo apt-key add -

Después, actualizamos la lista de paquetes con los del nuevo repositorio:

$ sudo apt-get update

E instalamos los paquetes necesarios (es importante instalar todos estos paquetes, ya que sin ellos no podremos instalar Qnotifier correctamente):

$ sudo apt-get install ruby1.8 ruby1.8-dev rubygems libopenssl-ruby1.8

Una vez instalados, desde la aplicación gem de Ruby, instalamos la gema del QNotifier:

$ sudo gem install qnotifier

Ya solo falta registrar el servicio (explicado más adelante en este manual, en la parte de configuracion)

Instalacion en Centos:

Añadimos el repositorio correspondiente, creando el archivo /etc/yum.repos.d/rubyworks.repo, y añadimos lo siguiente:

[rubyworks]
name=RubyWorks
baseurl=http://rubyworks.rubyforge.org/redhat/$releasever/RPMS/$basearch
enabled=1
gpgcheck=1
gpgkey=http://rubyworks.rubyforge.org/RubyWorks.GPG.key
priority=1

Después, actualizamos la lista de paquetes con los del nuevo repositorio:

$ sudo yum update

E instalamos los paquetes necesarios:

$ sudo yum install ruby ruby-devel ruby-irb ruby-rdoc ruby-libs

Ahora instalamos rubygems para poder instalar la gema del QNotifier (desde /usr/src)

$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
$ tar xvf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1
$ ruby setup.rb

Y una vez instalado, desde la aplicación gem de Ruby, instalamos la gema del QNotifier:

sudo gem install qnotifier

Si no ha habidfo ningún problema, la gema quedaría ya instalada ...

Configuración y registro del servicio

Ahora que ya tenemos la aplicación instalada en los servidores que queremos monitorizar, iniciamos el servicio:

$ sudo qnotifier start

La aplicación nos pedirá el codigo de registro que nos ha dado el iPhone/iPad a la hora de añadir el servidor, y después preguntará si queremos que el servicio se inicie automaticamente al arrancar el servidor. Seleccionamos YES y listo, nuestro servidor empezará a enviar la informacioń de monitorización a nuestro iDevice.

Para configurar qué servicios queremos monitorizar, las opciones de cada plugin, etc... podemos editar el archivo /var/lib/qnotifier/qnotifier_config.yml

Por ejemplo, podemos activar la comprobación de mysql para verificar el estado del servidor de base de datos. Para hacerlo, debemos instalar primero la gema de mysql:

$ sudo gem install mysql

Editamos el archivo /var/lib/qnotifier/qnotifier_config.yml y rellenamos la parte del plugin mysql con los valores necesarios:

# The MySQL built-in plugin
Mysql:
# Enabled, set to either true or false
enabled: true
username: "username"
password: "password"
# The name of the mysqladmin binary
mysqladmin: "mysqladmin"
# Uncomment and edit to set a remote host
hostname: "localhost"
# MySQL Port if not localhost, must be used with hostname above
port: 3306

Y listo... Podemos ver qué informacion se enviará a nuestro iDevice con el comando:

$ sudo qnotifier debug

Ahora ya deberíamos tener nuestro servidor informando a nuestro iPhone/iPad mediante push de la carga, memoria, uso de disco duro, base de datos, etc...

Que uds. lo disfruten!

Alaaaaaaaaaaaaaaaaaaaaaaaaaa

Referencias