Instalación de Zabbix

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Instalacin de Zabbix

22 MARZO 2015 AT 19:35BY ADRIN PREZ

Por qu Zabbix?
Acostumbrado a Nagios, lo primero que busqu en Google para documentarme sobre Zabbix,
fue la cadena "Zabbix vs Nagios" (hay un debate muy interesante en reddit). En cualquier caso,
aqu hacen una buena comparacin entre ambos sistemas de monitorizacin.

Tras unos das con Zabbix, mi primera impresin es que la configuracin va web de Zabbix
quiz sea ms amigable que la configuracin va archivos de Nagios, aunque sin duda (y quiz
por pasar varios aos con Nagios) sta ltima resulta ms sencilla que no la de Zabbix, que
requiere de mltiples configuraciones para poder monitorizar un elemento (el tem en s, su
triger, el action asociado, la aplicacin del tem, etc.).

Un punto a favor de Zabbix es que parece que la comunicacin cliente servidor no ocasionar
los problemas que alguna vez me he encontrado con Nagios, de falsos positivos debidos a
timeouts en la conexin SSH entre el servidor Nagios y el host a monitorizar (Nagios requiere
de plugins adicionales para monitorizar va NRPE).

A favor de Nagios, pero, est la gran cantidad de plugins que la comunidad ha puesto a
nuestra disposicin en Nagios Exchange, a primera vista mucho ms completos que los plugins
de Zabbix.

Componentes de Zabbix
Zabbix consta de un seguido de componentes que interaccionan entre s:

Zabbix agent: el agente (o cliente) de Zabbix se instala en aquellos elementos a monitorizar.


El agente se encargar de recoger informacin del sistema y de las aplicaciones y se las
har llegar al Zabbix server. El Zabbix agent puede recoger datos:

de forma pasiva: el server contacta al agente pidindole un dato (por ejemplo el consumo
de CPU en ese instante) y el agente responde al server con ese dato.

de forma activa: en un primer momento, el server le enviar al agente el listado de items a


monitorizar. A partir de ese momento, ser el agente que de forma peridica recoger
datos sobre esos tems y se los har llegar al server.

Zabbix server: el servidor de Zabbix y por tanto la pieza principal. Consta de una base de
datos, una interfaz web y el propio server. Como servidor, se encarga de recoger los datos
de los agentes, calcular los triggers, enviar notificaciones, etc. El servidor por tanto, es el
repositorio central donde estn definidas las configuraciones y donde se almacenan todos
los datos y estadsticas recogidos de los agentes.

Proxy (opcional): se trata de un "recolector de datos" que se situa entre el servidor y los
agentes. Si se tiene por ejemplo servidores repartidos en 5 datacenters, cada datacenter
podra tener su propio proxy encargado de recoger los datos de los agentes de su
datacenter, para posteriormente, hacerle llegar los datos al Zabbix server. Todo proxy
requiere de su propia base de datos.

Java Gateway (opcional): permite monitorizar aplicaciones JMX (Java Management


eXtensions) como WildFly/JBoss, Tomcat, Weblogic o Websphere. Zabbix Java Gateway usa
la "JMX Management API" para recoger los datos de las aplicaciones JMX remotas
monitorizadas.

Fuentes:
https://www.zabbix.com/documentation/2.2/manual/concepts

Instalacin de Zabbix
Desde un Fedora 21 x86_64 con Selinux deshabilitado.

Desde el repositorio oficial de Zabbix, instalamos la clave GPG para los rpms oficiales de
Zabbix y a continuacin instalamos el repositorio de Zabbix para entornos CentOS7/RHEL7.

[user@myServer]$ sudo rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX


[user@myServer]$ sudo rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix
1.el7.noarch.rpm
NOTA: Para ser honestos, Zabbix ya viene en los repositorios de Fedora 21,
pero en cualquier caso no est de ms instalar el repo oficial. Tras la
instalacin del repo, podremos ver como en efecto contamos con varios
paquetes con el servidor Zabbix a instalar desde diferentes repositorios:

[user@myServer]$ sudo yum list --showduplicates zabbix-server-mysql


zabbix-server-mysql.x86_64 2.2.7-1.fc21 fedora
zabbix-server-mysql.x86_64 2.2.8-1.fc21 updates
zabbix-server-mysql.x86_64 2.4.1-2.el7 zabbix
zabbix-server-mysql.x86_64 2.4.2-1.el7 zabbix
zabbix-server-mysql.x86_64 2.4.3-1.el7 zabbix
zabbix-server-mysql.x86_64 2.4.4-1.el7 zabbix
De igual manera que en la gua de instalacin oficial de Zabbix en CentOS/RHEL, usaremos
MySQL como base de datos, aunque en nuestro caso ser MariaDB:

[user@myServer]$ sudo yum install mariadb-server zabbix-server-mysql zabbix-web-mysql


java-gateway
NOTA: Si vas a instalar alguna de las versiones 2.4.X de zabbix-server-mysql
en Fedora21/Centos7/RHEL7 quiz tengas problemas con libnetsnmp.so. Si es el
caso, tal vez quieras deshabiltiar el repo de zabbix e instalarlo desde el repo de
sistema.

NOTA: Dependiendo de tu entorno, quiz tengas que instalar tambin los


paquetes relacionados con Apache y PHP. En mi Fedora 21 stos ya vienen
instalados por defecto, pero si no fuera el caso, bastara con ejecutar lo
siguiente:
[user@myServer]$ sudo yum install httpd php php-mysql
Deberemos, si no lo hemos hecho ya, configurar el timezone en el php.ini:

[user@myServer]$ sudo vi /etc/php.ini


date.timezone = Europe/Madrid
Finalmente iniciaremos los servicios de Apache y MySQL, y ejecutaremos el script de
securizacin inicial de MySQL.
[user@myServer]$ sudo service httpd restart
[user@myServer]$ sudo service mysqld start
[user@myServer]$ sudo mysql_secure_installation
Entramos en nuestro servidor MySQL y ejecutamos las siguientes queries para crear la base
de datos para Zabbix y el usuario con acceso a ella.

[user@myServer]$ mysql -u root -p


MariaDB [(none)]> create database zabbix character set utf8;
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identif
'AQUI_TU_PASSWORD';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Posteriormente ejecutaremos los scripts para la generacin de tablas y contenido en la base de
datos de Zabbix. En mi instalacin de Zabbix sobre Fedora 21, los scripts estn en el directorio
"/usr/share/zabbix-mysql/". Este directorio puede cambiar segn tu entorno.

[user@myServer]$ mysql -u zabbix -p zabbix < /usr/share/zabbix-


mysql/schema.sql
[user@myServer]$ mysql -u zabbix -p zabbix < /usr/share/zabbix-
mysql/images.sql
[user@myServer]$ mysql -u zabbix -p zabbix < /usr/share/zabbix-
mysql/data.sql
Finalmente, deberemos iniciar el servicio de Zabbix:

[user@myServer]$ sudo service zabbix-server start


Siguiendo con la documentacin oficial para la instalacin de Zabbix en entornos
CentOS/RHEL, deberemos configurar la direccin del JavaGateway. En nuestro caso, hemos
instalado el paquete "zabbix-java-gateway" en este mismo server Fedora 21 unos pasos atrs.
As pues, bastar con indicarselo al fichero de configuracin de Zabbix.

[user@myServer]$ sudo vi /etc/zabbix/zabbix_server.conf


JavaGateway=127.0.0.1
StartJavaPollers=5
NOTA: En caso de que te lo ests preguntando, no hemos de indicar los
parmetros de conexin con la base de datos, aun, pues stos se configurarn
ms adelante durante el asistente web de configuracin.
Tras los cambios, pasaremos a reiniciar el servidor de Zabbix:

[user@myServer]$ sudo service zabbix-server restart


Otro punto importante durante la instalacin de Zabbix, es asegurarnos de contar con los
servicios asociados configurados para iniciarse durante el boot de nuestro sistema.

[user@myServer]$ sudo chkconfig zabbix-server on


[user@myServer]$ sudo chkconfig mysqld on
[user@myServer]$ sudo chkconfig httpd on
[user@myServer]$ sudo chkconfig zabbix-java-gateway on
Finalmente, si no tenamos iniciado apache, deberemos iniciarlo. Si lo tenamos iniciado,
bastar con hacer un reload:

[user@myServer]$ sudo service httpd start


Tras ello, podremos acceder a la web de administracin de Zabbix, para iniciar el asistente de
configuracin

http://serverip/zabbix
Fuentes:
https://www.zabbix.org/wiki/InstallOnCentOS_RHEL
http://webcache.googleusercontent.com/search?q=cache:qk4dgatGbcoJ:https://www.unixmen.c
om/install-zabbix-monitoring-tool-centos-6-5/+&cd=11&hl=es&ct=clnk

Asistente de configuracin
Durante el asistente web para la configuracin, nos checkear los requisitos para el correcto
funcionamiento de Zabbix. Deberemos corregir los posibles fallos antes de poder continuar con
el asistente. En mi caso, con una instalacin por defecto de todos los servicios (Apache, PHP,
MariaDB...) he tenido que corregir los siguientes requisitos, todos ellos configurables en el
php.ini:

PHP option post_max_size

PHP option max_execution_time

PHP option max_input_time

A continuacin, configuraremos los detalles de conexin contra MariaDB y tras testear que la
conexin es correcta, continuaremos con el asistente.

Al finalizar el asistente, nos indicar que se ha creado el fichero de configuracin


"/etc/zabbix/web/zabbix.conf.php".

Al finalizar el asistente, ste nos redirigir directamente a la pgina de login de nuestro servidor
Zabbix. Podremos loguearnos con las credenciales por defecto:

user: admin
pass: zabbix

Zabbix Agent
Si has estado siguiendo esta entrada para instalar tu servidor Zabbix, vers que tambin
tendrs instalado el agente Zabbix para monitorizar la mquina donde est instalado el propio
servidor de Zabbix. Puedes iniciarlo tal que as:

[user@myServer]$ sudo service zabbix-agent restart


El agente, por defecto est configurado para conectar contra localhost, con lo que la
configuracin por defecto nos bastar para que el propio servidor Zabbix est monitorizado con
su agente. Es interesante conocer el listado de tems que por defecto puede monitorizar un
agente de Zabbix.

Especialmente interesante el concepto "Discovery Rules" que gestiona a nivel de OS items de


forma dinmica, para recoger, por ejemplo, el listado de tarjetas de red de un servidor
(independientemente del nmero o del nombre de las mismas).

Fuentes:
http://tecadmin.net/install-zabbix-agent-on-centos-rhel/

Elementos de configuracin
Zabbix est compuesto por diversos elementos de configuracin (hosts, hosts groups, tems,
graphs, screens, templates, etc.). Algunos de dichos elementos son los siguientes:

Item: elemento atmico a monitorizar (por ejemplo, el consumo de CPU, espacio libre en una
particin determinada, etc.)

Trigger: define los parmetros que determinarn el estado (error/ok) del tem, y se
encarga de pasar de un estado a otro en funcin de los datos del tem. Si no se define un
trigger para un tem, no tendremos alertas, grficas de estado, etc.
Event: un cambio de estado a raz de un trigger, el descubrimiento de un nuevo agente

Action: define qu hacer ante un evento. Consta de condiciones (cuando hacerlo) y


operaciones (qu hacer).

Application: grupo de tems. Por ejemplo, cada check para un servidor MySQL tendr su
propio tem, y stos tems estarn agrupados bajo la aplicacin MySQL.

Host: elemento (servidor o elemento de red) a monitorizar.

Host group: grupo de hosts. Puede contener hosts y templates y sirve para mantenerlos
agrupados y accesibles por grupo.

Fuentes:
https://www.zabbix.com/documentation/2.2/manual/concepts/definitions

Primer host: Zabbix server


Tal y como hemos visto, habremos configurado el propio servidor de Zabbix con su agente,
para tenerlo monitorizado. As pues, en Configuration > Hosts nos aparecer nuestro nico
host, el propio Zabbix server.

Aunque por defecto vendr configurado para monitorizar una serie de aplicaciones con sus
respectivos tems, la monitorizacin no estar habilitada. Bastar con marcar el checkbox junto
al host en esta lista de hosts, y seleccionar "Enable selected" en el desplegable, para
finalmente pulsar sobre "Go (1)" con tal de hacer efectivos los cambios.

Tras sto, a los pocos segundos empezaremos a ver datos de la monitorizacin de nuestro
nico agente en Monitoring > Latest data.

También podría gustarte