GithubHelp home page GithubHelp logo

zabbix-nerdearla2023's Introduction

Taller de Monitoreo con Zabbix: Guía de Instalación

¡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! 😄

Índice

¡Ahora sí, a disfrutar del contenido! 📚

Requisitos 🛠️

Antes de comenzar, asegúrate de tener instalados los siguientes programas en tu máquina:

Preparativos 🛠️

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!

1. VirtualBox

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:

  1. Visita el sitio web de VirtualBox y descarga el instalador correspondiente a tu sistema operativo.
  2. Ejecuta el instalador descargado y sigue las instrucciones en pantalla para completar la instalación.

2. Vagrant

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:

  1. Visita el sitio web de Vagrant y descarga el instalador adecuado para tu sistema operativo.
  2. Ejecuta el instalador descargado y sigue las instrucciones para finalizar la instalación.

3. Ansible

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.

4. Clonar el Repositorio

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/

5. Generar una Clave SSH para Ansible

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:

  1. 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
  2. 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.

6. Levantar las Máquinas Virtuales

Con el repositorio clonado, es hora de levantar las máquinas virtuales en las que configuraremos los agentes de Zabbix. Sigue estos pasos:

  1. Abre una terminal.

  2. Navega

al directorio linux dentro del repositorio clonado:

cd linux
  1. Ejecuta el siguiente comando para levantar las máquinas virtuales Linux:

    vagrant up
  2. Opcional: Si también deseas explorar las máquinas virtuales Windows, accede al directorio windows dentro del repositorio clonado y ejecuta el mismo comando vagrant 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.

Direcciones IP de las Máquinas Virtuales

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

Paso 1: Configuración del Zabbix Server

  1. Accede al Zabbix Server mediante el siguiente comando:

    vagrant ssh zabbix-server 
  2. 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
  3. 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
  4. 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;
  5. 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
  6. Desactiva la creación de funciones:

    sudo mysql -uroot -p
    set global log_bin_trust_function_creators = 0;
    quit;
  7. Edita el archivo de configuración del Zabbix Server:

    sudo vim /etc/zabbix/zabbix_server.conf
  8. Agrega la siguiente línea y guarda el archivo:

    DBPassword=password
    
  9. Reinicia los servicios:

    sudo systemctl restart zabbix-server zabbix-agent apache2
    sudo systemctl enable zabbix-server zabbix-agent apache2
  10. Accede a Zabbix en tu navegador utilizando: http://192.168.56.200/zabbix/ Welcome to Zabbix

  11. Verifica que todos los pre-requisitos estén OK Check of pre-requisites

  12. Configuración de la base de datos: Configure DB connection

  13. Configuración de nombre y zona horaria: Settings

  14. Revisión de la configuración Pre-installation summary

  15. Finaliza la instalación Install

  16. Ingresa con las siguientes credenciales:

Paso 3: Configuración del primer host VM1

Crear el host

  1. Accede al menú principal a Configuration/Hosts Create host
  2. Haz clic en el botón "Create host".
  3. Completa los datos básicos del formulario. New host
    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
    
    Este sería el resultado esperado: Create host

Configurar el agente en el host VM1

  1. En tu directorio zabbix-nerdearla2023/linux, ejecuta:

    vagrant ssh vm1
  2. 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
  3. 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
  4. 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
    
  5. Reinicia el servicio:

    sudo systemctl restart zabbix-agent.service
  6. Opcional pero emocionante: instala la herramienta de estrés para simular consumo de memoria:

    sudo apt-get install stressapptest
  7. Verificamos que tengamos datos del Zabbix Server ![Latest data](img

/config_11.png)

  1. Ejecuta la herramienta de estrés (Opcional):
stressapptest -s 3600
  1. ¡Voilà! ¡Has completado la configuración del agente de Zabbix en vm1!

Paso 4: Instalación del Agente Zabbix en Windows VM (Opcional)

  1. Accede por RDP a la máquina virtual de Windows con la dirección IP 192.168.56.220.

  2. Instala zabbix_agent-6.0.20-windows-amd64-openssl.msi que se encuentra en C:/vagrant. Explorer

  3. Cuando lo solicite, coloca la dirección IP del Zabbix Server 192.168.56.200. Explorer

  4. Agrega el host siguiendo los mismos pasos del Paso 3. New host win

    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
    

Create host win

Paso 5: Configuración del Autoregistro de Zabbix

  1. Entra en el menú principal a Configurations/Actions/Autoregistration actions.

  2. Haz clic en el botón "Create action". Create host win

  3. Completa los datos básicos del formulario. Create action

    Name: Linux Servers
    Conditions: Click Add
    

    Add conditions

    Type: Host metadata
    Operator: matches
    Value: Linux Servers
    Click en el botón Add
    

    Operations

    Click en la solapa: Operations
    Operations: click al link Add
    

    Operations add

    Operation: Add to host group
    

    Operations add to host group

    Operation: Add to host group
    Host groups "Linux Server".
    Click botón Add
    

    Operations Link to template

    Operation: Link to template
    Host groups "Linux by Zabbix agent".
    Click botón Add
    

    Operations Link to template

    Click botón Add
    

    ¡Listo! Ahora tienes el Zabbix Server listo para recibir datos de autoregistro.

  4. 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! 😃📊🔍

  1. Documentación oficial de Zabbix: https://www.zabbix.com/la/manuals
  2. Documentación de instalación para distintos OS: https://www.zabbix.com/la/download

Integraciones:


zabbix-nerdearla2023's People

Contributors

lbrines avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

pauloperezdev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.