Software de Monitorización ZABBIX

Zabbix es una plataforma open source de monitorización de infraestructura TI. Vigila servidores, redes, máquinas virtuales, aplicaciones, bases de datos, contenedores y servicios en la nube; recoge métricas, detecta fallos mediante umbrales y envía alertas para que el equipo actúe antes o durante una incidencia.[zabbix][zabbix]

Qué monitoriza

Puede obtener datos como uso de CPU, memoria, disco, tráfico de red, disponibilidad de servicios web, latencia, procesos, estado de bases de datos y métricas de dispositivos de red. También admite comprobaciones personalizadas mediante scripts.[zabbix][es.wikipedia]

  • Con agente: se instala un pequeño software en el servidor o equipo y envía métricas detalladas al servidor Zabbix.[es.wikipedia]
  • Sin agente: consulta dispositivos mediante protocolos como SNMP, ICMP, HTTP/HTTPS, SSH, IPMI o JMX.[zabbix][es.wikipedia]
  • Traps SNMP: además de consultar dispositivos, puede recibir notificaciones que estos envían cuando ocurre un evento.[zabbix][zabbix]

Cómo funciona

El flujo básico es: recoger métricas → almacenarlas → evaluar reglas → generar evento → notificar y visualizar.[consultoriainformatica][soloingenieria]

  1. Se define un host, por ejemplo un servidor Linux, un switch o una aplicación web.
  2. Se asignan items, que son las métricas concretas a recoger: espacio libre en disco, ping, uso de CPU, etc.
  3. Se configuran triggers, reglas que comparan los valores con umbrales; por ejemplo, “alertar si el disco queda por debajo del 10% durante 5 minutos”.[zabbix]
  4. Cuando un trigger se activa, Zabbix crea un evento y ejecuta acciones: enviar correo, mensaje a Teams/Slack, webhook, abrir ticket o ejecutar un comando.[zabbix][observasistemas]
  5. Los dashboards web muestran gráficas, estado actual, historial, mapas y tendencias para diagnóstico y planificación de capacidad.[zabbix][zabbix]

Componentes principales

ComponenteFunción
Zabbix ServerNúcleo del sistema: recibe datos, evalúa triggers, genera eventos y coordina alertas. [consultoriainformatica][soloingenieria]
Base de datosGuarda configuración, métricas, historial y eventos; puede usar PostgreSQL, MySQL, entre otras opciones. [es.wikipedia]
Frontend webInterfaz PHP/web para configurar hosts, ver dashboards, gráficas, problemas y reportes. [zabbix][es.wikipedia]
AgenteSoftware instalado en el host monitorizado para obtener métricas del sistema operativo y aplicaciones. [es.wikipedia][soloingenieria]
ProxyRecoge datos en redes remotas o de gran volumen y los reenvía al servidor; ayuda a escalar y a reducir carga central. [consultoriainformatica][soloingenieria]
Java GatewayPermite monitorizar aplicaciones Java mediante JMX. [es.wikipedia]

Ejemplo práctico

Supón que monitorizas un servidor web:

  • Zabbix consulta cada minuto el uso de CPU, memoria y espacio en disco.
  • Si el disco baja del 10%, un trigger cambia a estado “problema”.
  • Zabbix envía un correo al equipo de sistemas y crea un evento en el dashboard.
  • Si nadie lo atiende en 30 minutos, una regla de escalado puede avisar al responsable de guardia.

Para qué se usa

Se emplea para detectar caídas y degradaciones, reducir el tiempo de respuesta ante incidentes, mantener inventario de activos, analizar tendencias y planificar capacidad. Sus plantillas permiten reutilizar la configuración en muchos servidores o dispositivos similares, lo que facilita monitorizar entornos grandes.[zabbix][soloingenieria][observasistemas]

En resumen, Zabbix funciona como un “panel de control y sistema de alarmas” centralizado para toda la infraestructura TI: observa constantemente, interpreta señales según reglas y avisa cuando algo requiere atención.[zabbix][soloingenieria]

(este contenido creado con I.A. y recuerda que puede contener errores)


No existe una versión portable oficial de Zabbix (como un archivo .exe o ejecutable que puedas meter en un pendrive y arrancar directamente en cualquier ordenador sin instalar nada).

Zabbix es un sistema de monitorización empresarial complejo que está diseñado nativamente para funcionar en entornos Linux y requiere de varios componentes para trabajar: un servidor (Zabbix Server), una base de datos (como MySQL o PostgreSQL) y una interfaz web (normalmente sobre Apache o Nginx).

Sin embargo, si lo que buscas es una forma de ejecutar Zabbix rápidamente sin pasar por un proceso de instalación tradicional, tienes las siguientes alternativas muy sencillas:

🚀 Alternativas para usar Zabbix de forma “portátil”

  • Contenedores Docker: Es la opción más cercana a un “Zabbix portable”. Si tienes Docker instalado en tu máquina (ya sea Windows, Mac o Linux), puedes levantar una instancia completa de Zabbix en segundos con un solo comando utilizando Docker Compose. Cuando terminas, borras el contenedor y tu sistema queda completamente limpio.
  • Máquinas Virtuales Oficiales (Appliances): Zabbix distribuye imágenes ya preconfiguradas para software de virtualización como VirtualBox o VMware (en formatos vmdk u ova). Puedes llevar esta máquina virtual en un disco duro externo, importarla en cualquier ordenador con VirtualBox y tener Zabbix corriendo de inmediato.
  • Zabbix Agent Portable: Si lo que necesitas no es el servidor central, sino solo el agente para monitorizar una máquina Windows de forma temporal, puedes descargar los binarios del agente de Windows en un archivo .zip. Solo necesitas descomprimirlo y ejecutarlo desde la línea de comandos sin necesidad de instalarlo como servicio permanente.

Configurar el agente portable de Zabbix para Windows es una excelente opción si quieres monitorizar un servidor o equipo temporalmente sin dejar rastro de software instalado. El proceso consiste en descargar los binarios comprimidos, editar el archivo de configuración y lanzarlo directamente desde la consola de comandos. [1]

Sigue estos pasos paso a paso para ponerlo en marcha:

1. Descargar los binarios (formato Archive)

  1. Ve a la sección oficial de Descarga de agentes de Zabbix.
  2. Selecciona los siguientes filtros según tu entorno:
    • OS Distribution: Windows
    • Hardware: amd64 (o i386 si es un sistema de 32 bits)
    • Zabbix Version: Selecciona la misma versión principal que tenga tu servidor Zabbix (ej. 7.0 LTS o 6.0 LTS).
    • Packaging: Selecciona Archive (esto te descargará un archivo .zip en lugar del instalador .msi). [1]
  3. Descarga el archivo comprimido.

2. Descomprimir y organizar la carpeta

Descomprime el archivo .zip en la ubicación que prefieras de tu máquina Windows (por ejemplo, en C:\ZabbixAgent). Verás que dentro hay dos carpetas principales:

  • bin/: Contiene los ejecutables (zabbix_agentd.exe, zabbix_get.exe, zabbix_sender.exe).
  • conf/: Contiene el archivo de configuración básica (zabbix_agentd.conf). [1, 2]

Nota: Para mantenerlo todo limpio y ordenado en modo portable, te recomiendo mover el archivo zabbix_agentd.conf de la carpeta conf directamente a la carpeta bin junto al ejecutable.

3. Configurar el Agente

Abre el archivo zabbix_agentd.conf con un editor de texto (como el Bloc de notas) y modifica únicamente los tres parámetros esenciales: [1]

  1. Server: Modifica este valor con la dirección IP de tu servidor Zabbix (para monitorización pasiva).iniServer=192.168.1.50 Usa el código con precaución.
  2. ServerActive: Modifica este valor también con la IP de tu servidor Zabbix (para monitorización activa).iniServerActive=192.168.1.50 Usa el código con precaución.
  3. Hostname: Escribe el nombre exacto con el que vas a dar de alta este equipo en el panel web de tu servidor Zabbix (distingue mayúsculas y minúsculas). [1, 2, 3]iniHostname=MiServidorWindowsPortable Usa el código con precaución.

Guarda y cierra el archivo.

4. Ejecutar el agente en primer plano (Modo Portable)

Para ejecutarlo como una aplicación temporal (sin instalarlo como un servicio permanente del sistema), abre la Consola de comandos (CMD) o PowerShell como administrador y desplázate hasta tu carpeta:

cmd

cd C:\ZabbixAgent\bin

Usa el código con precaución.

Ahora ejecuta el agente especificándole explícitamente la ruta de su archivo de configuración usando el parámetro -c y añade el parámetro -f (--foreground) para que corra directamente en la ventana: [1]

cmd

zabbix_agentd.exe -c zabbix_agentd.conf -f

Usa el código con precaución.

¡Listo! Verás que la consola se queda abierta mostrando los logs de inicio del agente. El agente estará recolectando datos activamente mientras mantengas esa ventana del CMD abierta. Para detenerlo por completo, simplemente pulsa Ctrl + C o cierra la ventana de la consola, y no quedará ningún rastro ni servicio remanente en el sistema. [1]

5. Asegurar la comunicación (Firewall)

Si tu servidor Zabbix realiza peticiones pasivas al equipo, recuerda abrir temporalmente el puerto TCP 10050 en el firewall de Windows del equipo local. Si usas monitorización puramente activa (ServerActive), no necesitarás abrir puertos de entrada en el cliente de Windows. [1, 2, 3]


Utiliza este script descarga, descomprime, configura y ejecuta Zabbix Agent en primer plano, sin instalar un servicio.

Lo preparo en modo activo: el equipo se conecta al servidor por TCP 10051 y no necesita abrir el puerto de entrada 10050. StartAgents=0 desactiva las comprobaciones pasivas. zabbix.com

Una precisión: portable no significa «sin rastro». Quedarán los archivos descargados y Windows puede registrar la ejecución.

1. Desde CMD, abre el Bloc de notas:

notepad "%USERPROFILE%\ZabbixPortable.ps1"

2. Pega este código y guarda el archivo:

# Compatible con Windows PowerShell 5.1.
# Agente clasico zabbix_agentd.exe, no Zabbix Agent 2.
# No instala servicios ni modifica el firewall.

$ErrorActionPreference = 'Stop'

try {
    # Solicitar datos del servidor
    $Servidor = (Read-Host 'IP o DNS del servidor Zabbix (sin puerto)').Trim()
    if ($Servidor -notmatch '^[a-zA-Z0-9._-]+$') {
        throw 'Introduce una IPv4 o nombre DNS valido.'
    }

    $NombreEquipo = (Read-Host "Nombre del host en Zabbix [ $env:COMPUTERNAME ]").Trim()
    if ([string]::IsNullOrWhiteSpace($NombreEquipo)) {
        $NombreEquipo = $env:COMPUTERNAME
    }
    if ($NombreEquipo -notmatch '^[a-zA-Z0-9 ._-]{1,128}$') {
        throw 'Nombre no valido: utiliza letras sin tildes, numeros, espacios, puntos, guiones o guiones bajos.'
    }

    Write-Host ''
    Write-Host 'En https://www.zabbix.com/download_agents selecciona:'
    Write-Host 'Windows / arquitectura adecuada / Zabbix agent / Archive.'
    Write-Host 'Copia la direccion del enlace de descarga del ZIP.'
    Write-Host 'Utiliza una version compatible con tu servidor.'
    Write-Host ''

    $UrlZip = (Read-Host 'URL HTTPS directa del ZIP oficial').Trim()
    $UriZip = [uri]$UrlZip

    if (
        -not $UriZip.IsAbsoluteUri -or
        $UriZip.Scheme -ne 'https' -or
        $UriZip.Host -ne 'cdn.zabbix.com' -or
        -not $UriZip.AbsolutePath.EndsWith('.zip')
    ) {
        throw 'Se requiere un enlace HTTPS al ZIP en cdn.zabbix.com.'
    }

    # Carpeta exclusiva para esta ejecucion: no sobrescribe instalaciones
    $IdSesion = [guid]::NewGuid().ToString('N').Substring(0, 8)
    $Carpeta = Join-Path $env:LOCALAPPDATA "ZabbixPortable\$IdSesion"
    $Zip = Join-Path $Carpeta 'agente.zip'
    $Destino = Join-Path $Carpeta 'agente'
    $Config = Join-Path $Carpeta 'zabbix_agentd.conf'

    New-Item -ItemType Directory -Path $Carpeta -Force | Out-Null

    # Habilitar TLS 1.2 para la descarga en Windows PowerShell
    [Net.ServicePointManager]::SecurityProtocol = (
        [Net.ServicePointManager]::SecurityProtocol -bor
        [Net.SecurityProtocolType]::Tls12
    )

    Write-Host "`nDescargando agente..." -ForegroundColor Cyan
    Invoke-WebRequest -Uri $UriZip.AbsoluteUri -OutFile $Zip -UseBasicParsing

    Write-Host 'Descomprimiendo...'
    Expand-Archive -LiteralPath $Zip -DestinationPath $Destino

    $Ejecutables = @(
        Get-ChildItem -LiteralPath $Destino -Recurse -File `
            -Filter 'zabbix_agentd.exe'
    )

    if ($Ejecutables.Count -ne 1) {
        throw 'El ZIP debe contener un unico zabbix_agentd.exe. Comprueba que no sea Agent 2.'
    }

    $Exe = $Ejecutables[0].FullName

    # Configuracion activa: sin escucha TCP y logs en consola
    $Contenido = @"
LogType=console
DebugLevel=3
Hostname=$NombreEquipo
ServerActive=${Servidor}:10051
StartAgents=0
Timeout=10
"@

    $Utf8SinBom = New-Object System.Text.UTF8Encoding($false)
    [IO.File]::WriteAllText($Config, $Contenido, $Utf8SinBom)

    Write-Host "`nComprobando acceso al servidor TCP 10051..."
    $Conectado = Test-NetConnection -ComputerName $Servidor `
        -Port 10051 -InformationLevel Quiet -WarningAction SilentlyContinue

    if (-not $Conectado) {
        Write-Warning 'No se alcanza TCP 10051. Revisa servidor, VPN o firewall. El agente intentara reconectar.'
    }

    Write-Host "`nHost:    $NombreEquipo" -ForegroundColor Green
    Write-Host "Carpeta: $Carpeta"
    Write-Host 'Iniciando agente. Pulsa Ctrl+C para detenerlo.'
    Write-Host 'Los archivos se conservan para poder volver a ejecutarlo.'
    Write-Host ''

    & $Exe -c $Config -f

    if ($LASTEXITCODE -ne 0) {
        throw "El agente ha terminado con codigo $LASTEXITCODE."
    }
}
catch {
    Write-Host "`nERROR: $($_.Exception.Message)" -ForegroundColor Red
    exit 1
}

El parámetro -f mantiene el agente en primer plano y LogType=console muestra sus mensajes en la consola. zabbix.com

3. Ejecútalo desde esa ventana CMD:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "%USERPROFILE%\ZabbixPortable.ps1"

Bypass se aplica a ese proceso; no cambia permanentemente la política de ejecución. Las políticas corporativas pueden impedirlo.

4. Configura el equipo en el servidor Zabbix.

El script prepara el agente local; necesitas un servidor Zabbix ya operativo. En su interfaz web:

  • Crea o edita el host con el mismo nombre de host introducido en el script.
  • Asígnale un grupo y la plantilla Windows by Zabbix agent active compatible con tu versión.
  • Para esta configuración básica, permite conexiones del host sin cifrado. Si tu servidor exige PSK o certificados, hay que añadir esa configuración al agente.

La conexión de monitorización de este ejemplo no lleva TLS: úsala en una red de confianza o mediante VPN.

Para detenerlo, pulsa Ctrl+C. Después puedes eliminar la carpeta de sesión que aparece en pantalla y el archivo ZabbixPortable.ps1. No habrá ningún servicio instalado por este script.


Qué puedes monitorizarQué resultado obtienesPara qué sirve
ProcesadorUso de CPU y evolución en el tiempoDetectar periodos de sobrecarga
Memoria RAMMemoria disponible y utilizaciónIdentificar falta de memoria
DiscosEspacio libre, ocupación y métricas de actividadAvisar antes de que se llene una unidad
RedTráfico enviado y recibido, errores según interfazObservar saturación o actividad anómala
Servicios de WindowsEstado de los servicios supervisadosDetectar que un servicio necesario se ha detenido
ProcesosPresencia y consumo, con elementos específicosVigilar una aplicación concreta
Eventos de WindowsEntradas del registro que coincidan con filtrosCentralizar errores relevantes
DisponibilidadDatos recibidos, reinicios y tiempo de actividadSaber cuándo deja de informar un equipo

¿Qué verás en la práctica?

  • Un panel de control con los equipos y sus problemas.
  • Gráficas históricas para comparar horas o días.
  • Alertas configurables, por ejemplo: «disco E: con menos del 10 % libre» o «CPU por encima del 90 % durante 10 minutos».
  • Notificaciones, si configuras los destinatarios, el medio de envío y las acciones en el servidor.

Los umbrales anteriores son ejemplos; conviene adaptarlos al uso normal de cada equipo.

En tu caso, puede ser útil durante una copia de seguridad: observarías cómo cambian el espacio libre del disco, la memoria, la actividad de disco y el tráfico de red. Eso puede ayudarte a localizar un cuello de botella. Zabbix no compara el contenido de las carpetas ni identifica archivos duplicados por sí solo; para eso seguirías usando un script específico.

Con el script portable que hemos preparado, ten en cuenta que:

  1. Los resultados se consultan en la web del servidor Zabbix; la consola muestra mensajes del agente.
  2. Solo se recogen datos mientras el agente está ejecutándose y tiene las comprobaciones configuradas.
  3. Al detenerlo, el histórico ya recibido permanece en el servidor según su política de conservación.
  4. Que el agente deje de informar no demuestra por sí solo que el ordenador esté apagado: también puede haberse cerrado el agente o perdido la conexión.

Para una primera prueba, empezaría con CPU, RAM, espacio libre de C: y E:, y tráfico de red, dejando el agente funcionando durante una sesión de trabajo o una copia de seguridad.


Descarga el manual en castellano en la dirección WEB https://www.zabbix.com/documentation/7.0/downloads/Zabbix_Documentation_7.0.es.pdf

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *