Monitoring

Alertas SMS Gratis

Posted in Monitoring on octubre 4th, 2009 by Itimag – 6 Comments

Me he enterado por los foros de ovh de un sistema de envío de alertas sms gratis mediante el uso de un servicio de Google: el Google Calendar.

Podemos exprimir este recurso utilizando el API de Google Calendar y darle múltiples usos. ¿Se os ocurre alguno?  En los foros de OVH se ha pensado en un sistema de monitorización de servidores.

Un usuario de OVH, Power, ha realizado un script php para recibir una alerta por sms en cuanto la carga de alguno de sus servidores supera un “load average” determinado. Otro usuario ha pedido adaptar este script para recibir alertas sms cuando alguno de sus servidores pierde la conexión a internet así que esta tarde me he puesto en ello.

El script resultante ha sido el siguiente:

 

El script requiere de unas librerías llamadas “Google Data Client Library Files”, las cuales incluyo en la versión descargable del script, preparada para usar. Simplemente debéis introducir activar el servicio de sms hacía vuestro teléfono en la configuración de vuestro google calendar, introducir los datos a éste en el script y añadir los servidores a monitorizar.

¿Cómo funciona el script? Lo que hace es ir comprobando que cada uno de los servidores introducidos respondan a una petición http. En caso de que no responda, se crea un evento en google calendar, el cúal nos enviará un sms a nuestro teléfono.

Se aceptan críticas y sugerencias. Espero que sea de vuestro agrado :) .

Instalando zabbix 1.6.2 en Debian etch

Posted in Monitoring on enero 22nd, 2009 by Itimag – 2 Comments

Llevo unos días informándome de algún sistema que permita la monitorización de servidores con la misma finalidad que siempre: aprender :P .

Buscando por la red encontré distintas aplicaciones de código libre entre las cuales se encuentra zabbix. Mi principal objetivo es el de disponer de un sistema de monitorización que me avise por mail cuando se produce la caída de cualquier servicio del servidor (ssh, ftp, apache, bind, etc). Zabbix permite eso y mucho más.

A continuación os explico como instalar la última versión en linux debian:

Instalamos todos los requerimientos de zabbix:

aptitude -y install build-essential libmysqlclient-dev libssl-dev libsnmp-dev apache2 libapache2-mod-php5 php5-gd php5-mysql mysql-server

Añadimos el grupo y usuario zabbix ya que es necesario para la aplicación:

groupadd zabbix
useradd -c 'Zabbix' -d /home/zabbix -g zabbix -s /bin/bash zabbix
mkdir /home/zabbix
chown zabbix:zabbix /home/zabbix

Creamos la base de datos para zabbix:

mysql -p -u root
create database zabbix;
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'PASSWORD';
quit;

Nota: debes substituir PASSWORD por la contraseña que le quieras asignar.

Descargamos y descomprimimos las fuentes

cd /home/zabbix
wget http://ovh.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.2.tar.gz
tar zxvf zabbix-1.6.2.tar.gz
cd zabbix-1.6.2

Compilamos el código fuente y instalamos zabbix_server y zabbix_agentd.

./configure --prefix=/usr --with-mysql --with-net-snmp --enable-server --enable-agent --with-libcurl
make
make install

Añadimos los puertos a /etc/services y creamos algunos ficheros de configuración:

echo " zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp" >> /etc/services
mkdir -p /etc/zabbix
chown -R zabbix:zabbix /etc/zabbix
cp misc/conf/zabbix_* /etc/zabbix

Modificamos los datos de acceso a la base de datos:

nano /etc/zabbix/zabbix_server.conf

Modificamos lo siguiente:

DBHost=localhost o tu db host
DBName=zabbix
DBUser=zabbix
DBPassword=ZABBIX_PASSWORD

Nota: ZABBIX_PASSWORD corresponde con la contraseña que configuamos cuando dimos permisos con GRANT.

Copiamos los iniciadores de los servicios y hacemos una pequeña modificación:

cp /home/zabbix/zabbix-1.6.2/misc/init.d/debian/* /etc/init.d/
nano /etc/init.d/zabbix-agent

Buscamos la linea

DAEMON=/home/zabbix/bin/${NAME}

y la substituimos por

DAEMON=/usr/sbin/${NAME}

Ahora con el otro fichero:

nano /etc/init.d/zabbix-server

Buscamos la linea

DAEMON=/home/zabbix/bin/${NAME}

y la substituimos por

DAEMON=/usr/sbin/${NAME}

Subimos las tablas a la base de datos:

mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/schema/mysql.sql
mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/data/data.sql
mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/data/images_mysql.sql

Modificamos la configuración de nuestro php:

nano /etc/php5/apache2/php.ini

Modificamos lo siguiente:

max_execution_time = 300
date.timezone = Europe/Madrid

Reiniciamos apache e iniciamos los servicios de zabbix:

/etc/init.d/apache2 restart
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

Ya podemos acceder a zabbix desde http://tu_ip/zabbix/ y seguimos las instrucciones.