Siguiendo estos pasos pude instalar correctamente Zabbix en su última versión 3.4 en Debian 9 Stretch, costo un poco pero finalmente salio andando bien, así que sin más dejo el paso a paso. A tener en cuenta, lo hice en un Debian con gnome, aunque no hace falta el entorno de ventanas en absoluto, ya lo tenía así que lo hice así, y todo esta como root.

1- Cosas que vamos a necesitar

# apt install build-essential gcc wget curl libsnmp-dev libcurl4-openssl-dev libxml2-dev libsnmp-dev libevent-dev libpcre3-dev libcurl3-dev make

2- Base de datos

# apt install mariadb-server mariadb-client libmariadbd18 libmariadbclient-dev-compat

Comenzamos instalando la base de datos en forma segura.

# mysql_secure_installation

Debemos responder unas preguntas, así que colocamos lo siguiente:

Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

3- Instalación y configuración de apache y php

# apt-get install apache2 php7.0 php-pear php7.0-mysql php7.0-mbstring php7.0-bcmath php7.0-gd php7.0-cli php7.0-xmlrpc php7.0-ldap

Abrimos php.ini y le cambiamos algunos valores, que en nuestro caso se encuentra en:

# nano /etc/php/7.0/apache2/php.ini

Y ahora buscamos las siguientes líneas, y dejamos los valores como se muestran (con nano podes usar Ctrl + w para buscar):

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = America/Argentina/Buenos_Aires

Guardamos cambios (F2) y reiniciamos apache para que se apliquen los cambios.

# service apache2 restart

4- Descarga y compilar
Vamos a encontrar la última versión en: zabbix-release (http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/)

# cd /opt
# wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix/zabbix_3.4.2.orig.tar.gz

Descomprimimos

# tar -xzvf zabbix_3.4.2.orig.tar.gz

Eliminamos el archivo comprimido

# rm zabbix_3.4.2.orig.tar.gz

Ingresamos al directorio creado

# cd zabbix_3.4.2

Para ver los parámetros de configuración hacemos:

# ./configure -h

Finalmente lanzamos la configuración habilitando algunos servicios

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

Lanzamos make para crear los binarios y luego make install

# make 
# make install
5- Crear un usuario 
# groupadd zabbix
# useradd -g zabbix -d /usr/local/share/zabbix -s /bin/false zabbix

6- Configurar la base de datos MariaDB

# mysql -u root -p
 
MariaDB> create database zabbix character set utf8 collate utf8_bin;
MariaDB> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'tu_contraseña';
MariaDB> flush privileges;
MariaDB> exit

Es importante cambiar tu_contraseña por una para usarla más adelante.

Exportación de archivos, con cada una de las 3 líneas nos pedirá la contraseña, schema.sql tarda un poquito más que el resto.

# cd database/mysql
# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
3 mysql -u zabbix -p zabbix < data.sql

7- Configurar Apache
Vamos a copiar los archivos de configuración de frontend de php, esta parte es opcional, pueden colocar los archivos donde quieran.

# mkdir /var/www/html/zabbix
# cp -rf frontends/php/* /var/www/html/zabbix

Ahora vamos a añadir al ususario zabbix al grupo www-data (grupo de apache) para que pueda hacer cambios en el servidor web, habilitaremos los módulo ssl para mayor seguridad y reiniciamos el servidor apache

usermod -aG www-data zabbix 
a2enmod ssl
a2ensite default-ssl
service apache2 restart

8- Configuración de Zabbix
Modificamos el archivo de zabbix_server.conf

# nano /usr/local/etc/zabbix_server.conf

El archivo debe tener los siguientes cambios, así que descomentá lo siguiente y ajusta los parámetros.

ListenPort=10051
LogFile=/var/log/zabbix_server.log
DBHost=localhost 
DBName=zabbix ## Usar el nombre de la base de datos que hemos creado para Zabbix
DBUser =zabbix ## Usamos el nombre del usuario que hemos creado 
DBPassword=contraseña ## contraseña de Zabbix MYSQL base de datos.
DBSocket=/var/run/mysqld/mysqld.sock ## Ojo acá cambia bien los datos.
DBPort=3306

Creamos los archivo de log que hemos configurado

# touch /var/log/zabbix_server.log
# chmod 777 /var/log/zabbix_server.log
# chgrp zabbix /var/log/zabbix_server.log

Ahora podemos iniciar los servicios del servidor y agente recolector.

# /usr/local/sbin/zabbix_server
# /usr/local/sbin/zabbix_agentd

9- Instalación zabbix
Desde un navegador local o de otro equipo http://ipservidor/zabbix/

Antes de continuar, es muy importante modificar los permisos necesarios para que Zabbix pueda guardar dicha configuración.

# chown -R www-data /var/www/

Vamos que esta todo en verde, así que seguimos adelante.

Colocamos los datos que creamos en el punto 6

Dejamos estos valores.

Vemos que el resumen este todo bien, y continuamos.

Debería salir algo como:

 

Una vez que le damos Finish nos aparecerá una pantalla para loguearnos solicitando el usuario y contraseña (por defecto Admin | zabbix, es case sensitive así que la A tiene que ser mayúscula)

Una vez creado el archivo dejamos los permisos como estaban.

# chown -R root /var/www/

18 Comentarios

  1. jorge, como instalo los agentes a monitorear tanto windows/linux, y como puedo monitorear un servicio especifico como apache, squid, etc??? hay otra guia?
    saludos

    • José, como veras estuve probando y dedicando tiempo a Zabbix, pero no me convenció mucho así que no seguí adelante, pero se que tenes que instalar un cliente que le mande datos, estoy por hacer una comparativa entre varios sistemas que probé, y la verdad me quede con nagios porque puedo hacer de todo, zabbix vas a llegar a hacer algunas cosas pero otras ya son pagas. Y la verdad me pareció más difícil que Nagios de configurar, por eso mucho no te puedo ayudar.

  2. Hola! Excelente tu guía y se agradece.
    Tengo un detalle que te quería consultar.
    Todos los pasos ok pero a al conectar tengo el aviso en la consola que dice «Zabbix server is not running: the information displayed may not be curret.» y el la sección Status of Zabbix muestra que no está corriendo. localhost:10051

    • Tenes que habilitar el servicio, fijate al final del paso 8 o con systemd:
      systemctl start zabbix
      O el nombre del servicio, podes chequear si esta corriendo con
      systemctl status SERVICIO
      Si esta corriendo verifica que no este bloqueando el acceso el antivirus.

  3. hola, como andas? soy novato en esto, me quede en el paso

    «Ahora podemos iniciar los servicios del servidor y agente recolector.

    # /usr/local/sbin/zabbix_server
    # /usr/local/sbin/zabbix_agentd »

    que debo hacer? pongo eso en consola y me dice «bash: /usr/local/sbin/zabbix_agentd: No such file or directory»

    Gracias!

Deja un comentario