Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Monitoreo: Capítulo 4
ZABBIX
blog.carreralinux.com.ar 1
MONITOREO DE REDES LINUX · Capítulo 04
Capítulo 04 - ZABBIX
ÍNDICE
Zabbix 3
Instalación de paquetes necesarios 4
Requisitos previos 5
Descargando fuentes 6
Creación esquema 7
Configurar, compilar e instalar 8
Configuración de scripts de inicio 9
Instalación de frontend 10
Instalación Zabbix 11
Instalación en cliente 12
Instalar agente en el servidor 15
Agregando elementos a monitorear 17
blog.carreralinux.com.ar 2
MONITOREO DE REDES LINUX · Capítulo 04
Capítulo 04 - ZABBIX
Zabbix
Puede realizar:
1.- Monitorización distribuída.
2.- Detección tanto de rangos como de servicios y SNMP.
3.- Notificaciones por correo y SNMP.
4.- Visualización de mapas, gráficos, vistas personalizadas.
5.- Almacenamiento en diferentes bases de datos.
Es una solución bastante versátil y al mismo tiempo potente siendo que no tiene cos-
to. Dispone de mucha documentación. No tanto lo que es la documentación oficial,
sino que también en foros y en comunidades.
blog.carreralinux.com.ar 3
MONITOREO DE REDES LINUX · Capítulo 04
Zabbix necesita un servidor web con soporte para PHP y un motor de BBDD. Tiene la
capacidad de soportar varios; siendo que en este caso utilizaremos MySQL. Sumado
a esto, necesita un arsenal de librerías para poder operar en su total capacidad. Para
todo esto va a pedir instalar los siguientes paquetes:
#apt-get update
#apt-get install apache2 php5 libapache2-mod-php5 php5-gd php5-mys-
ql mysql-server libmysql++-dev libsnmp-dev libcurl4-openssl-dev
libiksemel-dev openssh-server libssh2-1-dev build-essential fping
libphp-jabber
blog.carreralinux.com.ar 4
MONITOREO DE REDES LINUX · Capítulo 04
Requisitos previos
Ya tenemos todos los requisitos previos para instalar Zabbix. Recuerden que esta-
mos instalando el NMS y no la interfaz web aún. En muchas aplicaciones vamos a
observar este patrón donde la interfaz web es una aplicación totalmente separada del
motor NMS.
blog.carreralinux.com.ar 5
MONITOREO DE REDES LINUX · Capítulo 04
Luego lo que haremos es crear un usuario sin login y sin password y sin shell. De
manera que no se puede acceder al server usando user Zabbix:
adduser --disabled-password --disabled-login --shell /bin/false
zabbix
Descargando fuentes
Ahora vamos a cambiar a user Zabbix. Recuerden que la configuración anterior fue
para que no se pueda acceder como Zabbix, por lo que al momento de cambiar de
usuario, debemos forzar con el parámetro -s que utilice una shell en particular. Una
vez adentro, si podremos siendo root cambiar a ese perfil:
su -s /bin/bash zabbix
Recuerden que anteriormente habíamos seteado para que ese usuario no tenga shell.
Entonces, de esta manera, hacemos un bypass de esa opción:
cd /tmp
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20La-
test%20Stable/<versión>/zabbix-<versión>.tar.gz
blog.carreralinux.com.ar 6
MONITOREO DE REDES LINUX · Capítulo 04
Creación esquema
Ahora vamos a crear lo que es el esquema de las bases de datos. O sea, dejaremos
creadas tablas y los elementos mínimos para que Zabbix comience a funcionar:
# mysql -plinux -uroot
En nuestro ejemplo NMS, interfaz web y base de datos se encontrarán dentro del
mismo host:
mysql> CREATE DATABASE zabbix CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO ‘zabbix’@’localhost’
IDENTIFIED BY ‘zabbix’;
zabbix es la contraseña que utilizará el NMS para poder acceder a la base de datos
y de esa manera realizar el proceso de escritura correspondiente:
mysql> quit
Ahora tenemos que colocar las plantillas. Lo que hicimos fue crear la base de datos
y darle privilegios al usuario Zabbix para que pueda hacer cualquier operación sobre
la BBDD; pero solo sobre la BBDD.
Bien, carguemos las plantillas. Esto lo que hará será crear el esquema de la base de
datos, o sea, creará las tablas con sus relaciones y los datos mínimos para que Zab-
bix arranque. -u es el usuario, -p la password y zabbix se refiere a la base de datos.
# tar -zxvf zabbix-version-.tar.gz
# cd /tmp/zabbix-version/database/mysql
# mysql -uzabbix -pzabbix zabbix < schema.sql
# mysql -uzabbix -pzabbix zabbix < images.sql
# mysql -uzabbix -pzabbix zabbix < data.sql
blog.carreralinux.com.ar 7
MONITOREO DE REDES LINUX · Capítulo 04
Vamos a configurar las fuentes para dar soporte como servidor, instalar el agente en
el servidor Zabbix, usar MySQL como contenedor de datos; soporte para SNMP y
CURL. El agente es una aplicación que sirve para monitorear de manera activa los
recursos y aplicaciones locales del host donde se encuentre corriendo.
blog.carreralinux.com.ar 8
MONITOREO DE REDES LINUX · Capítulo 04
02 Nos queda por asignar los permisos a los scripts y el nivel de arranque a iniciar.
Para ello como root ejecutamos:
# chmod 755 /etc/init.d/zabbix-*
blog.carreralinux.com.ar 9
MONITOREO DE REDES LINUX · Capítulo 04
Como el agente:
# /etc/init.d/zabbix-agent start
# netstat -putan | grep zab
Instalación de frontend
01 Ahora vamos a instalar nuestra interfaz web para nuestro server Zabbix. En
este ejemplo lo haremos en el sitio por defecto de apache; pero tranquilamente
puede hacerse en un virtualhost customizado:
# cd /var/www/html
# rm index.html
# cp -Rfv /tmp/zabbix-<version>/frontends/php/* /var/www/html
02 Bien, ahora veamos para modificar ciertas opciones de PHP que precisa el
frontend para poder arrancar:
# vi /etc/php5/apache2/php.ini
blog.carreralinux.com.ar 10
MONITOREO DE REDES LINUX · Capítulo 04
Instalación Zabbix
02 Entrar a:
http://ip_del_servidor
blog.carreralinux.com.ar 11
MONITOREO DE REDES LINUX · Capítulo 04
Instalación en cliente
01 Primero, debemos crear el host que vamos a monitorear y para esto vamos a:
Configuration → Hosts → Create Host
03 Y salvamos.
blog.carreralinux.com.ar 12
MONITOREO DE REDES LINUX · Capítulo 04
08 Ahora lo configuramos:
# rm /usr/local/zabbix/etc/zabbix_agentd.conf
# rm /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.conf
# ln -s /etc/zabbix/zabbix_agentd.conf /usr/local/zabbix/etc/za-
bbix_agentd.conf
# ln -s /etc/zabbix/zabbix_agentd.conf /usr/local/zabbix/etc/za-
bbix_agentd.conf.d/zabbix_agentd.conf
# vi /etc/zabbix/zabbix_agentd.conf
blog.carreralinux.com.ar 13
MONITOREO DE REDES LINUX · Capítulo 04
09 Colocamos:
Server=ip_del_nms
Hostname=hostname_delnms
#ServerActive
12 Si hago:
# file /usr/local/sbin/zabbix_agentd
15 Lo iniciamos:
# /etc/init.d/zabbix-agent start
# netstat -nap | grep zabbix
tcp LISTEN 9455/zabbix_agentd
blog.carreralinux.com.ar 14
MONITOREO DE REDES LINUX · Capítulo 04
17 Ahora si, dentro del servidor activamos monitor-host. Después de un rato va-
mos a poder ver la info en:
Monitoring → Latest data
01 Los pasos son los mismos que en el cliente. Primero ingresemos al código
fuente que ya tenemos descargado e instalamos:
# cd zabbix-version
# ./configure --enable-agent --prefix=/usr/local/zabbix && make
install
03 Ahora lo configuramos:
# rm /usr/local/zabbix/etc/zabbix_agentd.conf
# rm /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.conf
# ln -s /etc/zabbix/zabbix_agentd.conf /usr/local/zabbix/etc/za-
bbix_agentd.conf
# ln -s /etc/zabbix/zabbix_agentd.conf /usr/local/zabbix/etc/za-
bbix_agentd.conf.d/zabbix_agentd.conf
# vi /etc/zabbix/zabbix_agentd.conf
04 Colocamos:
Server=127.0.0.1
Hostname=hostname_delnms
blog.carreralinux.com.ar 15
MONITOREO DE REDES LINUX · Capítulo 04
07 Si hago:
# file /usr/local/sbin/zabbix_agentd
10 Lo iniciamos:
# /etc/init.d/zabbix-agent start
# netstat -nap | grep zabbix
tcp LISTEN 9455/zabbix_agentd
12 Ahora si, dentro del servidor activamos monitor-host. Después de un rato va-
mos a poder ver la info en:
Monitoring → Latest data
blog.carreralinux.com.ar 16
MONITOREO DE REDES LINUX · Capítulo 04
Y hacer click en el host. Luego, arriba nos aparecerán las solapas de Templates. Es-
tas son un set de entidades aplicables a varios hosts.
Si hacemos click ahí, nos aparecerá una barra de búsqueda. Aquí ponemos, por
ejemplo, Template App Zabbix Agent y Template SNMP OS Linux.
blog.carreralinux.com.ar 17