Ads 468x60px

miércoles, 19 de diciembre de 2012

Instalación y Configuración de Zabbix 2.0.4 en Debian Squeeze Parte (I)

Indagando por Internet, me topado con este software llamado "Zabbix", la verdad que viendo su funcionalidad y prestación, es una gran alternativa al ya conocido rival en el mundo de la monitorización, "Nagios".

¿Qué es Zabbix?

Es un Sistema de Monitoreo de equipos en red, permite obtener datos relacionado como Hardware instalado, versión de Software actual, estados de los servicios, todo lo que un Sistema de Monitoreo puede y debe realizar.

En esta entrada veremos su instalación y configuración en una máquina Linux con Distro Debian Squeeze, sus cualidades, capacidades y funciones.

Empecemos...


Datos y Versiones

Algunas de las versiones de los servicios utilizados obligatoriamente para Zabbix:
  • Apache 2  => 2.2.16
  • PHP5        => 5.3.3
  • MySQL    => 5.1.66
Instalación

Vamos con la instalación de Zabbix, en este caso vamos a usar la versión mas reciente actualmente (2.0.4) y alguno de los servicios necesarios, dejo el comando utilizado con sus dependencias y la descarga de la versión de Zabbix:

aptitude install apache2 libapache2-mod-php5 build-essential mysql-server libmysqlclient-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping



Descarga de Zabbix:

Zabbix 2.0.4

Una vez tengamos listo los servicios y la versión de Zabbix descargada, vamos con la creación del usuario "Zabbix" que será el cual usaremos para su instalación y configuración.

Creación del Usuario

adduser zabbix



Añadir Usuario al grupo "adm"

adduser zabbix adm




Añadir Usuario al grupo "sudo"

adduser zabbix sudo



Base de Datos

Ahora vamos a la creación de la base de datos correspondiente y luego con su población.

Nos logueamos en MySQL como root:

mysql -u root -p


Creamos la base de datos:

create database zabbix;


Damos Privilegios al usuario zabbix:

grant all privileges on zabbix.* to zabbix@localhost identified by 'contraseña';


Bien, una vez creada la BD y los privilegios al usuario, nos logueamos como usuario "zabbix" para poblar la base de datos creada anteriormente:

sudo - zabbix


Nos situamos en la carpeta descomprimida de zabbix, en el directorio "database/mysql". Seguidamente usamos los comandos que vemos a continuación:


-u"zabbix" => Usuario usado (sin comillas)
-p"usuario" => Contraseña usada (sin comillas)

Compilación de Zabbix

Ya tenemos todo lo necesario para empezar la compilacion de zabbix en nuestra maquina, nos situamos en el directorio de la descarga y ejecutamos el siguiente comando:

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl


sudo make install


Asignación de puertos y Archivo de configuración

Asignamos los puertos que usará zabbix:


También tendremos que editar el archivo "zabbix_server.conf":

nano /usr/local/etc/zabbix_server.conf


En el cual editaremos los siguientes parámetros:
  • DBName=zabbix
  • DBUser=zabbix
  • DBPassword=usuario
Dichos datos son los del logueo de nuestra BD.

Demonios de Inicio

Antes de empezar con la instalación web, debemos configurar los script que se utilizaran para su inicio, copiamos los script que se encuentra en el directorio descomprimido:


Cambiamos permisos y actualizamos:



Y por últimos los iniciamos:


Instalación WEB

Creamos y copiamos el directorio donde alojaremos Zabbix en nuestro servidor Apache:


Asignamos los permisos de escritora a nuestro directorio:


Ya solo nos quedaría ingresar la dirección en nuestro navegador para empezar su instalación:

http://localhost/zabbix


Si pasamos a la siguiente ventana, Zabbix nos indicara si pasamos los requisitos, podemos ver como tenemos problema con la configuración PHP:


Para ello solo tendremos que editar el archivo "php.ini":


Editamos las lineas que nos indicaba anteriormente y lo dejamos :
  • option post_max_size: 16M
  • option max_execution_time: 300
  • option max_input_time: 300
  • date.timezone=Europe/Madrid
La última opción, cuenta con configuraciones varias, dependiendo de nuestra localización  dejo en un enlace para su consulta:


Reiniciamos el servicio "apache" para que vuelva a leer los cambios y vemos como todo está "OK":


Pulsamos "Next" para continuar.

En la siguiente ventana debemos de introducir los datos de conexión hacia la BD:

  • Database Type: MySQL
  • Database Host: localhost o IP Servidor
  • Database Port: 0
  • Database Name: zabbix
  • User: zabbix
  • Password: "contraseña"
Pulsamos en el botón "Test Connection" para verificar que los datos son correctos:


Pulsamos "Next" y seguimos al siguiente paso.

En esta ventana dejaremos tanto el Host y el Port por defecto ya que anteriormente el puerto es el usa por defecto y creamos los servicios.


Seguimos con "Next".

Ahora nos muestra un breve resumen de los datos de la instalación, pulsamos "Next" si está todo correcto:


Durante la instalación, nos crea un archivo llamado "zabbix.conf.php" en el cual almacenara toda la configuración de Zabbix, pulsamos "Finish" para terminar:


Introducimos en nuestro navegador:

http://localhost/zabbix

Nos pedirá User y Pass para loguearnos en Zabbix:
  • User: admin
  • Pass: zabbix

Recordad cambiad el user y pass mas adelante.

Y este es el menú de Zabbix


En la siguiente entrada veremos la configuración para monitorear equipos y todas las funciones importantes de Zabbix.

Un Saludo!

16 comentarios:

Unknown dijo...

Error detectado: (sobra una 'n' en identified)

Donde dice:
grant all privileges on zabbix.* to zabbix@localhost indentified by 'contraseña';

Debería decir:
grant all privileges on zabbix.* to zabbix@localhost identified by 'contraseña';

En la captura de pantalla está bien...

Unknown dijo...

En la parte de Demonios de Inicio no están creados ni el zabbix-agent ni el server. ¿donde puede haber fallado?

Moises dijo...

Corregido el error que comentabas.

Dichos demonios, son scripts que vienen incluidos con Zabbix y los añadimos a nuestro "init" para que se sincronicen con la parte WEB de Zabbix.

Federico Pereira dijo...

Hola Moises la verdad muy bueno tu aporte. Te cuento que segui el pie de tu tutorial sin ningún problema. Tengo la mania de siempre crear con cada proyecto nuevo un instalador ya que manejo scripting en bash, si te interesa lo puedo comparti para los lectores. Es un paso a paso de tu tutorial.

Mi mail/gtalk es lord.basex@gmail.com por si te interesa. Para cuando la segunda parte ???

Anónimo dijo...

Muy bueno el tutorial pero me sale el siguiente error al final:

mysql_free_result() expects parameter 1 to be resource, boolean given [include/db.inc.php:573]

A ver si me puedes ayudar.

Un saludo y gracias.

Moises dijo...

Has creado correctamente la Base de Datos y los permisos del Usuario?

Es posible de que no hayas poblado bien la BD para Zabbix, vuelve a seguir mis pasos minuciosamente y me comentas.

Saludos!

Anónimo dijo...

Efectivamente, no había poblado bien la base de datos, aunque he tenido que usar los comandos de esta forma para que no me diera error:

mysql -u zabbix -p zabbix < schema.sql
mysql -u zabbix -p zabbix < images.sql
mysql -u zabbix -p zabbix < data.sql

Aunque ahora me da el siguiente error cuando entro en el navegador:

Zabbix Server is not running: the information displayed may not be current.

Estoy haciendo la instalación con la versión 2.0.5 en una máquina Ubuntu, no se si tiene algo que ver.

También cuando ejecuto el comando ./configure...me da este error al final:

Curl library not found.

Y con el comando make install me pone:

No hay ninguna regla para construir el objetivo 'install'. Alto.

Un saludo y gracias de nuevo.

Anónimo dijo...

Por fin he instalado todo correctamente, muchas gracias por el tutorial, me ha sido de gran ayuda.

Jeank Melendez dijo...

Hola! Necesito ayuda por favor!

resulta que cuando trato de ejecutar estos comandos:
mysql -D zabbix -uzabbix -pusuario < zabbix-2.0.6/database/mysql/schema.sql
__________

ME DA ESTE ERROR:

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)


No se cual puede ser el problema, ya que me declaro NOVATO en este tema, agradeceria cualquier comentario positivo al respecto!
muchas gracias...


Moises dijo...

Hola jeank,

Asegurate de que el usuario y contraseña de mysql que has creado sea el mismo que el que indicas.

-u"usuario"
-p"contraseña"


Comentame si persiste el problema.

cotito1984 dijo...

al igual que el compañero Jeank Melendez soy novato en esto de zabbix y tengo el mismo problema que el tiene, mi pregunta es que si tengo que poner exactamente esto;

mysql -D zabbix -uzabbix -pusuario < schema.sql

y cambiar donde uzabbix por mi nombre de usuario y pusuario por mi contraseña, derrepente suene medio tonta la pregunta pero es que e intentado varias cosas y aun no paso de alli.

Gracias por la ayuda.

cotito1984 dijo...

gracias consegui ayuda con un amigo, tengo que destacar que tu guia es muy buena y sencilla, se nos complica es a los que derrepente no tenemos ciertos conceptos claros (como en mi caso) estare pendiente de la segunda parte que me imagino tratara sobre el uso del sistema. muchas gracias.

Javier Muñoz dijo...

Gracias por este artículo, me está siendo de mucha utilidad aunque con Linux me cuesta todo un poco más y quisiera pedirte ayuda. En mi caso me aparece el mensaje "Zabbix Server is not running: the information displayed may not be current" cuando entro en "localhost/zabbix". Estoy repasando los permisos de usuario zabbix en los ficheros, bases de datos, valores de los puertos, etc. y ya ando un poco mareado porque en la teoría lo tengo todo como indicas, pero no me funciona como en tu última captura, el valor de mi "Rabbix Server is running = NO" :'(

Gracias por adelantado,

Anónimo dijo...

Muchas gracias por este aporte, me ha funcionado muy bien!

Anónimo dijo...

Hola Amigo cuando pogo esto:
zabbix@debian:~$ mysql -D zabbix -zabbix -israel < /home/zabbix-2.0.4/database/mysql/schema.sql

me sale
mysql: unknown option '-z'

si me pudiera ayudar en este aspecto se lo agradeceria pq ya no se como ponerlo la verdad.

Anónimo dijo...

funciono zabbix-2.4.3 debian 7

Publicar un comentario