Cargando



Instalar Zabbix en sistemas RedHat Centos 7

Hablaremos de como usar Zabbix, una herramienta open-source dedicada al monitoreo de dispositivos en red, Puede ser una gran alternativa a nagios que además permite graficar los valores al mismo estilo de Cacti.


oct 30 2015 15:06
Profesional
nov 02 2015 23:27

1.jpg



Esta vez tendremos una completa guia de como instalar zabbix 2.4.5 en Servidores Centos/Red Hat versiones 7 o posterior.

¿Qué es Zabbix?

Es un Sistema de Monitoreo de Redes creado por Alexei Vladishev. Está diseñado para monitorear y registrar el estado de varios servicios de red, Servidores, y hardware de red.

Usa MySQL, PostgreSQL, SQLite, Oracle o IBM DB2 como base de datos. Su backend está escrito en C y el frontend web está escrito en PHP. Zabbix ofrece varias opciones de monitoreo:
  • Chequeos simples que pueden verificar la disponibilidad y el nivel de respuesta de servicios estándar como SMTP o HTTP sin necesidad de instalar ningún software sobre el host monitoreado.
  • Un agente Zabbix puede también ser instalado sobre máquinas UNIX y Windows para monitorear estadísticas como carga de CPU, utilización de red, espacio en disco, etc.
  • Como alternativa a instalar el agente sobre los host, Zabbix incluye soporte para monitorizar vía protocolos SNMP, TCP y ICMP, como también sobre IPMI, JMX, SSH, telnet y usando parámetros de configuración personalizados. Zabbix soporta una variedad de mecanismos de notificación en tiempo real, incluyendo XMPP.

Principales Características de Zabbix
  • Alto rendimiento y capacidad de monitoreo de dispositivos (Servidores, Hardware como Impresoras, Routers, entre otros).
  • Monitoreo centralizado a través del administrador Web (FrontEnd).
  • Agentes que puede instalarse en diferentes sistemas operativos ejemplo: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008, Windows 7, Windows 8 y recientemente Windows 2012
  • SLA que le permite analizar la calidad de los servicios prestados de su IT a su organización.

¿Cómo funciona Zabbix?

Zabbix le ofrece monitoreo para “LAN, Redes locales” y “WAN, redes de área amplia”. La aplicación se instala en un servidor (Linux) y luego es dedicado a “Recolectar información”. Proporciona un interfaz WEB en el cual presenta de forma gráfica toda la información que recolecta. Cuenta con agentes para Linux, Mac y Windows que se instalan en los “Servidores” o “Estaciones de trabajo” que le interese monitorear. Adicional esta solución le permite ver el estado de Impresoras, Routers, Switches, sensores de temperatura y humedad entre otros.

¿Zabbix vs Nagios o Zenoss?

Las tres aplicaciones se presenta como soluciones Open Source sin embargo el único 100% libre es Zabbix. Tanto Nagios y Zenoos su modelo de negocio lo basan en venta de plugins o versiones extendidas del producto. En cambio Zabbix vive de Certificaciones a profesionales IT, libros y soporte.

En el caso de Zabbix todo lo que necesite para monitoreo está disponible de forma libre, con el detalle que la configuración es un poco más técnica sin embargo es fácil de comprender.

Instalación de Zabbix en Centos/Red Hat 7

Nos centraremos en la instalación sistemas Centos y RedHat en otra entrada hablaré de su instalación en Ubuntu/Debian. Al momento de escribir el tutorial Zabbix no ofrece un paquete precompilado debemos descargar el source y compilarlo a mano.

1. Instalar Dependencias


Para poder compilar debemos instalar todas las dependencias y herramientas necesarias. Para la versión 2.4.5 necesitamos: build-essentials, development tools, GCC, curl, wget y algunas dependencias para el soporte de SNMP.

Entramos en nuestra terminal como root y lanzamos.
yum install gcc gcc-c++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel

2. Instalar la base de datos MariaDB y sus Librerías


Debemos instalar MariaDB y la librería MySQL development.
yum install mariadb-server mariadb-client mariadb-devel
iniciamos el servicio:
systemctl start mariadb.service
Cuando terminemos la instalación debemos asegurar la Base de datos usando mysql_secure_installation con privilegios administrativos.
mysql_secure_installation
Se inicia un asistente para configurar la Base de datos debemos responder de la siguiente manera:
Enter current password for root
##Presionamos enter
Set root password? (Y/n)
##Decimos no
Remove anonymous users? 
##Decimos yes
Disallow root login remotely?
##Decimos yes
Remove test database and access to it ?
##Decimos yes
Reload privilege tables now?
##Decimos yes

All done! If you’ve completed all of the above steps, your MariaDB installation should now secure.
Con esto estaría todo.


3. Instalar Servidor Apache y PHP



El siguiente paso será instalar el servidor Web con PHP. (En centos el Paquete Apache es httpd).
yum install httpd php php-mysql php-gd pgp-cli php-xml php-bcmath php-mbstring mod_ssl openssl
Debemos configurar el intérprete PHP y ajustar algunos valores para que pueda utilizar con el servidor Zabbix. Abrimos php.ini en mi caso usare el editor vim y cambiaremos algunos valores mostraré el valor por defecto a la izquierda y el modificado a la derecha.
vim /etc/php.ini
post_max_size = 8M → post_max_size = 16M

max_execution_time = 30 → max_execution_time = 300

max_input_time = 60 → max_input_time = 300

;date.timezone = Continent/City → date.timezone = America/Caracas #Recuerden eliminar el  ;

;always_populate_raw_post_data = On → always_populate_raw_post_data = -1
En mi caso he colocado el horario de venezuela, pueden ver la lista de Zonas horarias compatibles con PHP en ----> http://php.net/manual/en/timezones.php

Cerramos el archivo guardando los cambios y reiniciamos el servicio de apache.
systemctl restart httpd.service
Estará reciniciando.

4. Descargar y Compilar Zabbix Server


Luego de haber preparado el sistema podemos descargar la versiones de Zabbiz desde su pagina oficial, Al momento de escribir el tutorial la versión estable es la 2.4.5 podemos descargarla con wget.
wget http://sourceforge.net/projects/zabbix/files/ZABBIX\ Latest\ \Stable/2.4.5/zabbix-2.4.5.tar.gz
Puedes ver otras versiones desde su Repositorio Oficial ---> http://sourceforge.n...s/zabbix/files/

Despues de descargar el comprimido procedemos a descomprimir
tar xfz zabbix-2.4.5.tar.gz
# cd zabbix-2.4.5.tar.gz/
# ls
Podemos ver todas las opciones al momento de compilar el binario con ./configure -h en el caso de este laboratorio usare una instalación típica usando los siguientes parametros.
 ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
Esperamos un tiempo luego corremos con make para crear el ejecutable. (Este paso puede tardar más que cuando configuramos) ya para finalizar usamos make install.
# make  
# make install
Make install.

5. Ajustes luego de la Instalación


Después de instalado debemos crear un usuario sin privilegios administrativos para correr los procesos de Zabbix como un demonio. Podremos usar useradd.
groupadd zabbix
useradd -g zabbix -d /usr/local/share/zabbix -s /bin/false zabbix
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

6) Configurar Base de Datos MariaDB para Zabbix


Crearemos una Base de Datos para Zabbix y que pueda tener acceso desde el usuario zabbix.
mysql -u root -p
MariaDB> create database zabbix;
MariaDB> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'tu contraseña';
MariaDB> flush privileges;
MariaDB> exit
Recuerda cambiar la contraseña por una propia para la base de datos. En caso que queremos usar una BD externa a nuestro servidor usamos.
MariaDB> grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'your_password';
Debemos volver al directorio del instalador de Zabbix en caso de no estar en el, Lista las tablas MySQL y las importas a las nueva Base de Datos que hemos creado usando.
[root@Joncak1 zabbix-2.4.5]# mysql -u zabbix -p zabbix < database/mysql/schema.sql
Enter password:
[root@Joncak1 zabbix-2.4.5]# mysql -u zabbix -p zabbix < database/mysql/images.sql
Enter password:
[root@Joncak1 zabbix-2.4.5]# mysql -u zabbix -p zabbix < database/mysql/data.sql
Enter password:
[root@Joncak1 zabbix-2.4.5]#

7. Configurar el Servidor Apache para Zabbix


Ya hemos importados las carpetas ahora debemos hacer lo mismo para los archivos del servidor web. Debemos eliminar todo el Contenido que este en /var/www/html/
rm /var/www/html/index.html
cp -rf frontends/php/* /var/www/html/
Debemos añadir el usuario zabbix que hemos creado al grupo de apache, adicional habilitar SSL Apache para poder correr Zabbix en https
usermod -aG apache zabbix
a2enmod ssl
a2ensite default-ssl
Debemos reiniciar el servidor web para que puedan aplicarse los cambios.
systemctl restart httpd.service
Estarán aplicados.

8. Configurar Servidor Zabbix


Ahora debemos modificar el archivo de configuración de Zabbix recuerden usar el editor de texto que prefieran en mi caso usare vim.
vim /usr/local/etc/zabbix_server.conf

#ListenPort=10051 → ListenPort=10051
LogFile=/tmp/zabbix_server.log → LogFile=/var/log/zabbix_server.log
#DBHost=localhost → DBHost=localhost #En caso que la DB sea Remota colocar la ip aca.
DBName=zabbix → #Colocar el nombre de la Base de Datos.
DBUser=root → DBUser=zabbix
#DBPassword=  → DBPassword='svradm2010'
DBSocket=/tmp/mysql.sock → DBSocket=/var/run/mysqld/mysqld.sock
#DBPort=3306 → DBPort=3306
Debemos crear el archivo donde Zabbix arrojará los logs y añadir permisos para que el Zabbix pueda escribir en el.
touch /var/log/zabbix_server.log
chmod 775 /var/log/zabbix_server.log
chgrp zabbix /var/log/zabbix_server.log
Finalmente luego de concluir con todas las configuraciones podemos iniciar el Servidor Zabbix y su Agente para que pueda recolectar información en local.
/usr/local/sbin/zabbix_server
/usr/local/sbin/zabbix_agentd
/usr/local/sbin/zabbix_agent
Podemos verificar que está corriendo usando netstat.
[root@Joncak1 local]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address		   Foreign Address		 State	   PID/Program name
tcp	    0	  0 0.0.0.0:3306		    0.0.0.0:*			   LISTEN	  13512/mysqld
tcp	    0	  0 0.0.0.0:5901		    0.0.0.0:*			   LISTEN	  977/Xvnc
tcp	    0	  0 0.0.0.0:111			 0.0.0.0:*			   LISTEN	  591/rpcbind
tcp	    0	  0 0.0.0.0:6001		    0.0.0.0:*			   LISTEN	  977/Xvnc
tcp	    0	  0 0.0.0.0:22			  0.0.0.0:*			   LISTEN	  962/sshd
tcp	    0	  0 127.0.0.1:25		    0.0.0.0:*			   LISTEN	  1005/master
tcp	    0	  0 0.0.0.0:10050		   0.0.0.0:*			   LISTEN	  23811/zabbix_agentd
tcp6	   0	  0 :::111				  :::*				    LISTEN	  591/rpcbind
tcp6	   0	  0 :::80				   :::*				    LISTEN	  23778/httpd
tcp6	   0	  0 :::6001				 :::*				    LISTEN	  977/Xvnc
tcp6	   0	  0 :::22				   :::*				    LISTEN	  962/sshd
tcp6	   0	  0 ::1:25				  :::*				    LISTEN	  1005/master
tcp6	   0	  0 :::443				  :::*				    LISTEN	  23778/httpd
tcp6	   0	  0 :::10050			    :::*				    LISTEN	  23811/zabbix_agentd
udp	    0	  0 0.0.0.0:68			  0.0.0.0:*						   815/dhclient
udp	    0	  0 0.0.0.0:23110		   0.0.0.0:*						   815/dhclient
udp	    0	  0 0.0.0.0:111			 0.0.0.0:*						   591/rpcbind
udp	    0	  0 0.0.0.0:123			 0.0.0.0:*						   592/chronyd
udp	    0	  0 0.0.0.0:41601		   0.0.0.0:*						   583/avahi-daemon: r
udp	    0	  0 0.0.0.0:5353		    0.0.0.0:*						   583/avahi-daemon: r
udp	    0	  0 0.0.0.0:752			 0.0.0.0:*						   591/rpcbind
udp	    0	  0 127.0.0.1:323		   0.0.0.0:*						   592/chronyd
udp6	   0	  0 :::111				  :::*							    591/rpcbind
udp6	   0	  0 :::123				  :::*							    592/chronyd
udp6	   0	  0 :::18132			    :::*							    815/dhclient
udp6	   0	  0 :::752				  :::*							    591/rpcbind
udp6	   0	  0 ::1:323				 :::*							    592/chronyd
Ahora pasamos a la instalción.

9. Instalar Interfaz Web de Zabbix


Ya para finalizar debemos instalar y configurar la interfaz web de Zabbix. Debemos usar un navegador y entrar en la dirección del servidor que hemos configurado.

http://direccion_IP/setup.php

o ingresar por SSL
https://direccion_IP/setup.php


Tildamos next luego verifica varios pasos en caso de ser correcto podremos proseguir.


3.jpg


Anexo la lista de todos los Requisitos por si llega a faltar algo.


tabla.jpg


Colocamos los credenciales de la Base de Datos que habíamos creado.


4.jpg


Añadimos los detalles del servidor Backend de Zabbix.


5.jpg


Nos dará un resumen de las opciones que hemos colocado importante antes de presionar next debemos cambiar los valores del archivo para que puedan ser modificados por el grupo apache.
chown -R apache /var/www/html/conf/
Y volvemos al navegador y presionamos next.
De estar correcto veremos esta pantalla.


6.jpg


Volvemos a la consola y cambiamos la permisología del archivo:
chown -R apache /var/www/html/conf/
Felicidades has instalado Zabbix server y puedes entrar con el usuario por defecto.
usuario: admin
contraseña: zabbix

7.jpg


Conclusiones
Hemos instalado el servidor Zabbix, la instalación puede ser un poco tediosa pero puede ser automatizada por medio de un script, por ahora puede monitorear el localhost en otra entrada hablaré de cómo instalar los agentes en equipos externos, configurarlo para enviar alertas por gmail y como instalar el agente en equipos con windows como sistema operativo.

¿Te ayudó este Tutorial?


2 Comentarios


Fran Pazos
nov 02 2015 23:44

Uff que interesante. Gracias.


David Sanz
nov 02 2015 23:46

a favoritos de cabeza. grande Jonathan!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X