You are on page 1of 9

Zabbix en Linux

Zabbix es un programa para monitorear los recursos de un equipo en forma remota que
consume pocos recursos, permite centralizar la informacin en un servidor que permite
visualizar el monitoreo de multiples hosts, cuenta con una interfaz de administracin va web
y para acabarla nos avisa por correo electrnico cuando hay algn problema con alguno de
los host's.
Requisitos
Los requisitos de software para utilizar zabbix son:
apache 1.3.12 o superior (trabaja con 2.x)
mysql 3.22 en adelante o PostgreSQL 7 o mayor
PHP4 o superior (necesita modulo GD para generar las grficas)
las libreras NET-SNMP son necesarias para el server
para instalarlo a partir del cdigo fuente es necesario GCC
Referencias
La versin estable de zabbix es la 1.1
Zabbix puede ser descargado de:
http://www.zabbix.com
o directamente:
http://superb-east.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.1.4.tar.gz
La documentacin esta en:
http://www.zabbix.com/manual/v1.1/
Como trabaja zabbix?
Zabbix consta de 2 partes, el agente y el server.
El server recopila la informacin que generan los agentes, la muestra y almacena en la base
de datos seleccionada durante su instalacin y configuracin. Este trabaja en el puerto 10051
pero se puede cambiar.
Los agentes se encargan de enviar al servidor zabbix toda la informacin que se esta
monitoreando.
Instalacin
Sera necesario cubrir todos los requisitos de software primero.
Ya que descargamos el cdigo fuente de zabbix vamos a compilarlo, el tarball nos ofrece
varias opciones, lo mas importante es que podemos elegir entre si creamos el server, el agente
o los dos. Esta capacidad nos permite compilar el server en la maquina principal y luego en
cada host que sera monitoreado ir compilando agentes nada mas, o compilar un agente nico
e ir instalndolo en cada equipo.
Descomprimimos el codigo fuente
$ sudo -s
# tar -xvzf zabbix-1.1.4.tar.gz
# cd zabbix-1.1.4/
Configurando el hambiente para el servidor zabbix
El servidor de bases de datos (MySql, PostgreSQL u Oracle) debe estarse ejecutando y
debemos tener acceso root o a una cuenta validad con permisos para crear bases de datos en
nuestro servidor:
MySQL:
# mysql -u usuario -p
# create database zabbix;
# quit;
# cd create/mysql
# cat schema.sql |mysql -u usuario -p zabbix
# cd ../data
# cat data.sql |mysql -u usuario -p zabbix
# cat images.sql |mysql -u usuario -p zabbix
PostgreSQL:
# psql -U usuario
# create database zabbix;
# \q
# cd create/postgresql
# cat schema.sql|psql -U usuario zabbix
# cd ../data
# cat data.sql|psql -U usuario zabbix
# cat images_pgsql.sql |psql -U usuario zabbix
Ya estamos listos :D vamos a compilar ...
Parmetros de compilacin
--enable-static enlaza las libreras para dar portabilidad a la aplicacin, de esta manera
podremos moverla.
--enable-server con este parmetro compilaremos el server
--enable-agent nos da el binario del agente que podremos ir instalando en los hosts
--with-ucd-snmp=DIR es necesario para construir el server, DIR es la ruta de acceso a las
libreras SNMP, se puede omitir en caso de que las libreras se encuentren en el PATH del
sistema.
Nota: En debian podemos instalar el soporte SNMP de la siguiente forma:
# apt-get install libsnmp9 libsnmp9-dev
--with-oracle=DIR Si utilizaremos Oracle como servidor de bases de datos para zabbix
--with-mysql=DIR Si vamos a utilizar MySql
--with-pgsql=DIR Soporte para PostgreSQL
Nota: De nuevo DIR solo es necesario si el servidor grfico lo tenemos instalado en una
ruta diferente a la estandard en la distribucin o si no esta en los PATH's.
Para ver los parmetros completos tecleamos:
#./configure --help
Compilando el server y el agente
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp
# make
# make install
Despus de un cafecito ... esta listo, ya podemos continuar configurando zabbix.
Creamos el directorio de configuracin:
# mkdir /etc/zabbix
Creamos el usuario y el grupo para zabbix:
groupadd zabbix
adduser zabbix:zabbix
Copiamos los archivos preconfigurados:
# cp misc/conf/* /etc/zabbix/
Configurando el server
Editamos en el archivo zabbix_server.conf la informacin de la base de datos y si lo
deseamos el puerto de escucha.
Copiamos la interfaz grfica a apache para poder administrar zabbix desde ahi:
# cp -rf frontends/php /usr/local/apache2/htdocs/zabbix
Configurando el agente
editamos /etc/services y agregamos las siguientes 2 lineas para registrar el tipo de servicio
que se usara en esos puertos:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
El agente se encuentran en 2 formas, el demonio y el binario para inetd, debemos elegir en
cual de los modos correremos zabbix, si elegimos el demonio, estara trabajando todo el
tiempo y si llega a caerse tendremos que levantarlo a mano, si elegimos inetd se activara
cuando inetd detecte una peticin en ese puerto a ese servicio, para este caso necesitamos
editar el archivo /etc/inetd.conf y agregar la linea siguiente:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
posteriormente reiniciamos inetd:
# /etc/init.d/inetd restart
El equipo de desarrollo de zabbix recomienda utilizar el demonio en lugar de inet.
Para configurar el agente editamos /etc/zabbix/zabbix_agent.conf o
/etc/zabbix/zabbix_agentd.conf dependiendo si elegiste demonio o inetd.
En este archivo solo necesitamos configurar la ip de la maquina donde se encuentra el
servidor zabbix corriendo:
Server=127.0.0.1
Listos para arrancar?
Y bien aqui vamos, ejecutemos todo :D
# zabbix_server
# zabbix_agentd
Nota: apache y el servidor de bases de datos deben estar corriendo antes de ejecutar
zabbix.
Comprobando que ambos procesos arrancaron:
# ps -A |grep zabbix
7775 ? 00:00:00 zabbix_server
7777 ? 00:00:00 zabbix_server
7778 ? 00:00:00 zabbix_server
7779 ? 00:00:00 zabbix_server
7780 ? 00:00:00 zabbix_server
7783 ? 00:00:00 zabbix_server
7784 ? 00:00:00 zabbix_server
7785 ? 00:00:00 zabbix_server
7786 ? 00:00:00 zabbix_server
7790 ? 00:00:00 zabbix_server
7791 ? 00:00:00 zabbix_server
7805 ? 00:00:00 zabbix_agentd
7806 ? 00:00:00 zabbix_agentd
7807 ? 00:00:00 zabbix_agentd
7808 ? 00:00:00 zabbix_agentd
7809 ? 00:00:00 zabbix_agentd
7810 ? 00:00:00 zabbix_agentd
Si tenemos problemas podemos consultar el archivo de log para diagnosticar el problema:
# cat /tmp/zabbix_agentd.log
# cat /tmp/zabbix_server.log
IMPORTANTE: NO EJECUTES EL DEMONIO
DEL AGENTE SI CONFIGURASTE INETD.
Compilando nicamente el agente
# ./configure --enable-agent
# make
# make install
Ahora solo configuramos el agente como se explico arriba.
Usando zabbix
Abrimos nuestro navegador web favorito, en mi caso firefox y entramos a:
http://localhost/zabbix
Tendremos una interfaz como la siguiente:
El usuario por dececto para hacer el login es admin y no tiene ninguna contrasea.
Dando de alta un host
Nos dirigimos a la pestaa de "configuration", aqu se listan los hosts asociados que tienen un
agente zabbix corriendo:
Damos click en "Create Host" en la parte superior izquierda:
Los campos importantes son el Template (seleccionaremos Unix_t) y la ip, esta ip es la del
host con el agente.
Listo, podemos ir a la pestaa de Monitoring:
Si lo deseas puedes consultar en las opciones de Graph una grfica con los resultados de un
estado, en este caso voy a checar el uso de /var que es donde se almacenan los enormes logs
generados da a da de este servidor de produccin.
Finalmente la carga del procesador:
Creado por gaper http://icenetx.net
BLOG: http://gaper.icenetx.net Mail: gaperx@gmail.com
Este documento es de libre distribucin siempre y cuando se respete la informacin del autor.

You might also like