¡Bienvenidos al emocionante mundo del monitoreo con Zabbix! 🚀 En esta guía, te acompañaremos paso a paso para configurar tu propio entorno de laboratorio y adentrarte en el fascinante universo del monitoreo. No te preocupes si eres un novato en el tema, ¡estamos aquí para que disfrutes de un proceso divertido y sencillo! 😄
- Taller de Monitoreo con Zabbix: Guía de Instalación
¡Ahora sí, a disfrutar del contenido! 📚
Antes de comenzar, asegúrate de tener instalados los siguientes programas en tu máquina:
Antes de sumergirnos en la configuración, vamos a asegurarnos de que cuentas con las herramientas necesarias instaladas en tu computadora. No importa si eres nuevo en esto, ¡te acompañaremos en cada paso!
VirtualBox es un software que te permite crear y gestionar máquinas virtuales en tu computadora. Usaremos VirtualBox para crear las máquinas virtuales donde configuraremos los agentes de Zabbix.
La instalación de VirtualBox es simple:
- Visita el sitio web de VirtualBox y descarga el instalador correspondiente a tu sistema operativo.
- Ejecuta el instalador descargado y sigue las instrucciones en pantalla para completar la instalación.
Vagrant es una herramienta que facilita la creación y configuración de entornos de desarrollo reproducibles. Utilizaremos Vagrant para automatizar la creación de nuestras máquinas virtuales.
La instalación de Vagrant es sencilla:
- Visita el sitio web de Vagrant y descarga el instalador adecuado para tu sistema operativo.
- Ejecuta el instalador descargado y sigue las instrucciones para finalizar la instalación.
Ansible es una herramienta que te permite automatizar tareas en múltiples servidores de manera sencilla. Lo utilizaremos para configurar los agentes de Zabbix en nuestras máquinas virtuales.
El repositorio del laboratorio contiene todos los archivos y configuraciones necesarios para llevar a cabo las tareas. Sigue estos pasos:
En tu sistema, abre una terminal.
Navega al directorio donde deseas almacenar el repositorio usando el comando cd
. Por ejemplo:
cd ruta/de/tu/directorio
Clona el repositorio con el siguiente comando:
git clone https://github.com/lbrines/zabbix-nerdearla2023.git
├── ansible
│ ├── ansible.cfg
│ ├── ansible.log
│ ├── config-agent.yml
│ ├── inventory.yml
│ ├── key_rsa
│ ├── key_rsa.pub
│ └── templates
│ └── zabbix_agentd.conf.j2
├── linux
│ └── Vagrantfile
└── windows
├── Vagrantfile
└── zabbix_agent-6.0.20-windows-amd64-openssl.msi
Entra al repo clonado:
cd zabbix-nerdearla2023/
Ahora que cuentas con las herramientas instaladas, necesitamos generar una clave SSH que Ansible utilizará para conectarse de manera segura a los agentes de Zabbix en las máquinas virtuales. Sigue estos pasos:
-
Genera una nueva clave SSH con el siguiente comando. Esto creará un par de claves pública y privada:
ssh-keygen -t rsa -b 4096 -f ansible/key_rsa
-
Durante la generación de la clave, se te solicitará ingresar una contraseña opcional. Puedes dejarlo en blanco para no establecer una contraseña.
¡Listo! Ahora tienes una clave SSH llamada key_rsa
en el directorio ansible
, que Ansible utilizará para conectarse de manera segura a las máquinas virtuales y configurar los agentes de Zabbix.
Con el repositorio clonado, es hora de levantar las máquinas virtuales en las que configuraremos los agentes de Zabbix. Sigue estos pasos:
-
Abre una terminal.
-
Navega
al directorio linux
dentro del repositorio clonado:
cd linux
-
Ejecuta el siguiente comando para levantar las máquinas virtuales Linux:
vagrant up
-
Opcional: Si también deseas explorar las máquinas virtuales Windows, accede al directorio
windows
dentro del repositorio clonado y ejecuta el mismo comandovagrant up
para levantar las máquinas virtuales Windows.
¡Excelente! Ahora estás listo para comenzar a configurar los agentes de Zabbix en las máquinas virtuales que has levantado.
Asegúrate de tomar nota de las siguientes direcciones IP para acceder a tus máquinas virtuales en el laboratorio:
- Zabbix Server: 192.168.56.200
- Windows VM: 192.168.56.220
- Linux VM1: 192.168.56.201
- Linux VM2: 192.168.56.202
- Linux VM3: 192.168.56.203
- Linux VM4: 192.168.56.204
-
Accede al Zabbix Server mediante el siguiente comando:
vagrant ssh zabbix-server
-
Ejecuta los siguientes comandos uno a uno:
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo apt update
-
Instala Zabbix y MySQL Server:
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent mysql-server
-
Configura la base de datos MySQL:
sudo mysql -uroot -p
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
-
Instala la base de datos de Zabbix Server:
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
-
Desactiva la creación de funciones:
sudo mysql -uroot -p
set global log_bin_trust_function_creators = 0;
quit;
-
Edita el archivo de configuración del Zabbix Server:
sudo vim /etc/zabbix/zabbix_server.conf
-
Agrega la siguiente línea y guarda el archivo:
DBPassword=password
-
Reinicia los servicios:
sudo systemctl restart zabbix-server zabbix-agent apache2 sudo systemctl enable zabbix-server zabbix-agent apache2
-
Accede a Zabbix en tu navegador utilizando: http://192.168.56.200/zabbix/
-
Ingresa con las siguientes credenciales:
- Usuario: Admin
- Contraseña: zabbix
- Accede a http://192.168.56.200/zabbix/
- Accede al menú principal a
Configuration/Hosts
- Haz clic en el botón "Create host".
- Completa los datos básicos del formulario.
Este sería el resultado esperado:
Host name: vm1 Template: Linux by Zabbix agent Groups: Linux servers Click Add -> Agent IP address: 192.168.56.201 Click en el botón Add
-
En tu directorio
zabbix-nerdearla2023/linux
, ejecuta:vagrant ssh vm1
-
Ejecuta los siguientes comandos uno por uno:
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
sudo apt update
-
Instala el agente de Zabbix y edita su archivo de configuración:
sudo apt install -y zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
-
Agrega la siguiente línea (reemplaza
192.168.56.200
con la dirección IP del Zabbix Server) y guarda el archivo:Server=192.168.56.200
-
Reinicia el servicio:
sudo systemctl restart zabbix-agent.service
-
Opcional pero emocionante: instala la herramienta de estrés para simular consumo de memoria:
sudo apt-get install stressapptest
-
Verificamos que tengamos datos del Zabbix Server ![Latest data](img
/config_11.png)
- Ejecuta la herramienta de estrés (Opcional):
stressapptest -s 3600
- ¡Voilà! ¡Has completado la configuración del agente de Zabbix en
vm1
!
-
Accede por RDP a la máquina virtual de Windows con la dirección IP
192.168.56.220
. -
Instala
zabbix_agent-6.0.20-windows-amd64-openssl.msi
que se encuentra enC:/vagrant
. -
Cuando lo solicite, coloca la dirección IP del Zabbix Server
192.168.56.200
. -
Agrega el host siguiendo los mismos pasos del Paso 3.
Host name: Win1 Template: Windows by Zabbix agent Groups: Windows servers Click Add -> Agent IP address: 192.168.56.220 Click en el botón Add
-
Entra en el menú principal a
Configurations/Actions/Autoregistration actions
. -
Completa los datos básicos del formulario.
Name: Linux Servers Conditions: Click Add
Type: Host metadata Operator: matches Value: Linux Servers Click en el botón Add
Click en la solapa: Operations Operations: click al link Add
Operation: Add to host group
Operation: Add to host group Host groups "Linux Server". Click botón Add
Operation: Link to template Host groups "Linux by Zabbix agent". Click botón Add
Click botón Add
¡Listo! Ahora tienes el Zabbix Server listo para recibir datos de autoregistro.
-
Entra al directorio
ansible
y ejecuta:ansible-playbook config-agent.yml
Al finalizar la ejecución, todos tus nuevos hosts deben estar activos en el Zabbix Server.
¡Y eso es todo, maestro! 🎉 Ahora tienes un entorno de laboratorio configurado con Zabbix para comenzar tu emocionante viaje en el mundo del monitoreo. ¡Diviértete explorando, modificando y aprendiendo! 😃📊🔍
- Documentación oficial de Zabbix: https://www.zabbix.com/la/manuals
- Documentación de instalación para distintos OS: https://www.zabbix.com/la/download
Integraciones:
- Kubernetes: Zabbix Integration
- Grafana: Zabbix Plugin