Zabbix se presenta como una gran herramienta de código abierto orientada a la monitorización de grandes cantidades de dispositivos, y tras darle bastante caña, puedo asegurar que cumple muy bien con lo prometido, así que hoy veremos como hacer una instalación bastante simple entre un server y un agent.
Conceptos importantes
- Server: encargado de recopilar la información de los agents, almacenarla, procesarla y mostrarla en el interfaz web.
- Agent: máquina monitorizada. Un server puedes ser a su vez un agent.
- Proxy: encargado de recopilar la información de los agents, almacenarla y reenviarla al server. No es esencial para el funcionamiento de Zabbix sin embargo, sí es muy recomendable y hablaremos de él en el futuro.
- Gráfica: representación visual de los datos. Por ejemplo: tráfico en eth0
- Screen: agrupación de gráficas.
Instalación
- Server
Aunque existen
tres maneras diferentes de hacer la instalación, nosotros la vamos a hacer desde los paquetes del repo de Zabbix.
1. Instalamos el paquete de configuración del repositorio:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2. Instalamos los paquetes necesarios para el
server:
yum install zabbix-server-mysql zabbix-web-mysql -y
Configuración base de datos
En nuestro caso estamos utilizando MariaDB, pero otros gestores de bases de datos están soportados.
Una vez la instalación se haya completado, deberemos configurar una base de datos por medio de los scripts que la propia instalación nos proporciona.
mysql -uroot -pcontraseñaroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'contraseña';
mysql> quit;
cd /usr/share/doc/zabbix-server-mysql-3.2.3/
gunzip create.sql.gz
mysql -uzabbix -pcontraseña zabbix < create.sql
Configuración y arranque servicios del server
1. Modificamos el fichero de configuración:
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=contraseña
2. Arrancamos el servicio:
systemctl start zabbix-server
Configuración de PHP
1. En el fichero /etc/httpd/conf.d/zabbix.conf podemos modificar el comportamiento de nuestro frontend, pero por lo de ahora solo vamos a descomentar y editar la opción date.timezone:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Madrid
Para saber cual es tú timezone,
aquí tienes una lista con todas las posibles.
2. Reiniciamos apache:
systemctl restart httpd
Una vez llegados a este punto, ya podemos acceder al interfaz web, desde el que añadiremos hosts, configuraremos que datos queremos monitorizar y demás, pero vamos primeramente a hacer la instalación de un
agent
- Agent
1. Instalamos el paquete de configuración del repositorio:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2. Instalamos zabbix-agent:
yum install zabbix-agent -y
3. Editamos el fichero de configuración
vi /etc/zabbix/zabbix_agentd.conf
Server=zabbix.server # Ip del server
ServerActive=zabbix.server # Ip del server
Hostname=el_agent # Nombre que le daremos posteriormente a este host para su monitorización
4. Reiniciamos el servicio:
systemctl restart zabbix-agent
Interfaz web
A partir de aquí, ya solo queda añadir el host agent que hemos configurado al server. Esto se lleva a cabo desde el interfaz web y se plantea mucho más intuitivo que todo lo que llevamos hecho.
Si la instalación se realizó correctamente, al acceder a http://localhost/zabbix desde nuestro server deberíamos ver algo como esto:
Login
Con el usuario
Admin y la contraseña
zabbix entramos con privilegios de superusuario y lo siguiente a hacer es crear otra cuenta, darle privilegios de superusuario, ponerle una contraseña seria y deshabilitar la cuenta por defecto,
Admin. Es algo bastante fácil de hacer, por lo que no voy a hablar de ello pero si tenéis alguna duda,
aquí os dejo la documentación oficial hablando al respecto.
Creación de un nuevo host
1. Creamos un nuevo host
Configuration > Hosts > Create host
1.1 Pestaña Host:
1.2 Pestaña Templates:
Select > Seleccionamos los que queramos (en este caso "Template OS Linux") > Add
1.3 Añadimos el nuevo host desde el botón "Add" que aparece en cualquiera de las pestañas:
¡Listo!
De aquí a unos segundos, se empezarán a crear las gráficas para nuestro nuevo host y podremos ir viendo todo lo que va pasando. De aquí en adelante, al ser todo a base de interfaz web (a no ser que os interese utilizar la API para la gestión en masa) solo os queda cacharrear y descubrir todo lo que Zabbix nos ofrece.