<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Alertas on fabmo.eu</title>
    <link>https://fish.fabmo.eu/categories/alertas/</link>
    <description>Recent content in Alertas on fabmo.eu</description>
    <language>es</language>

    <copyright>© 2026 Jordi Fàbregas</copyright>
    <lastBuildDate>Tue, 16 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://fish.fabmo.eu/categories/alertas/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Introducción a Zabbix: Una alternativa sólida para el monitoreo de infraestructura</title>
      <link>https://fish.fabmo.eu/posts/2026/zabbix/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <author>contact@fabmo.eu (Jordi Fàbregas)</author>
      <guid>https://fish.fabmo.eu/posts/2026/zabbix/</guid>
      <description>Introducción teórica y práctica a Zabbix como solución todo en uno para el monitoreo de servidores y redes. Incluye arquitectura básica, diferencias entre agentes, despliegue rápido mediante Docker y buenas prácticas para evitar la saturación de alertas y bases de datos.</description>
      <content:encoded>&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;A catcher in the rack&#34;&#xA;    width=&#34;1672&#34;&#xA;    height=&#34;941&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/feature_hu_2b1f3a2c74af3bae.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/feature_hu_2b1f3a2c74af3bae.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/feature_hu_7c1aef4b476d4804.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/feature.png&#34;&gt;&lt;/figure&gt;&#xA;&#xA;&lt;em&gt;A Catcher in the Rack. Holden Caulfield proteje a los servidores de la caída&lt;/em&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;⚠️&lt;strong&gt;Nota aclaratoria:&lt;/strong&gt; Este post no pretende ser un tutorial exhaustivo paso a paso de instalación y despliegue avanzado, sino una pequeña introducción teórica y práctica para entender los conceptos clave de Zabbix, su arquitectura y cómo puede ayudarte a mantener tu infraestructura bajo control sin morir en el intento.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;Introducción&#xA;    &lt;div id=&#34;introducción&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#introducci%c3%b3n&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;El monitoreo de los servicios y servidores es una parte troncal del trabajo de administración de sistemas. Tenemos varias opciones para esto. Una muy conocida es Prometheus + Grafana, muy usado por su versatilidad, permitiendo en Grafana mostrar datos no solo de sistemas, sino también gráficas de marketing o ventas, gráficos de PR&amp;rsquo;s de trabajadores, etc.&lt;/p&gt;&#xA;&lt;p&gt;Nosotros, para el ejemplo de monitoreo de hoy vamos a usar Zabbix, que aunque no es tan potente como la combinación de Prometheus + Grafana, ofrece un nivel de personalización y monitoreo enfocado específicamente en servidores y servicios.&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;Monitorear los servicios nos permite actuar frente a un inconveniente como la caída de un servicio, el deterioro de un disco, o el rendimiento del procesador antes de que sean un problema para el cliente final.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Zabbix es una solución de monitorización de nivel empresarial, diseñado para monitorear cada rincón de la infraestructura. Puede vigilar desde la temperatura, hasta el tráfico de un puerto especifico, el rendimiento de una base de datos, los cambios en archivos críticos, caídas de conexión, etc.&lt;/p&gt;&#xA;&lt;p&gt;Lo mejor es su flexibilidad y que es 100% gratuito (Open Source). No hay versiones premium capadas, tienes todo el potencial de zabbix desde el principio.&lt;/p&gt;&#xA;&lt;p&gt;Por su contra, lo peor es la curva de aprendizaje. Realmente es un programa muy complejo, con muchas opciones. Deberás de ajustar mucho su comportamiento para que se adecue a tus necesidades. También habrá que trabajar mucho sobre las alertas, para evitar una inundación de spam que nos impida ver las notificaciones relevantes de verdad.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Que es zabbix&#xA;    &lt;div id=&#34;que-es-zabbix&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#que-es-zabbix&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Zabbix es una plataforma de monitorización todo en uno (all-in-one). A diferencia de otras soluciones donde necesitas una herramienta para recolectar datos, otra para guardarlos y otra para visualizarlos, Zabbix centraliza la recolección, el procesamiento, las alertas y la visualización en un único ecosistema. Nació originalmente en 2001 y, lejos de quedar obsoleto, ha evolucionado para soportar tanto infraestructuras tradicionales on-premise como entornos híbridos en la nube.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;La arquitectura básica&#xA;    &lt;div id=&#34;la-arquitectura-básica&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#la-arquitectura-b%c3%a1sica&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zabbix Server:&lt;/strong&gt; Es la base central de Zabbix, conforma el back-end del servicio&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zabbix Database:&lt;/strong&gt; Todos los datos de los servicios y servidores se almacenan en una base de datos SQL o PostgreSQL&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zabbix Web Interface:&lt;/strong&gt; El front-end, que puede usar Apache o Nginx&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;En monitorizaciones pequeñas de con zabbix, se pueden poner los tres servicios (Server, Database y Web Interface) en un mismo servidor.&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Zabbix agents:&lt;/strong&gt; Son los agentes que recopilan y mandan la información de cada instáncia al servidor central. El agente puede ser activo (el agente inicia la conexión hacia el servidor) o pasivo (el servidor inica la conexión hacia al cliente)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Zabbix proxy:&lt;/strong&gt; El proxy no es necesario, pero recomendable tener almenos un proxy. Las dos principales funciones del proxy son de un lado no perder datos si en algun momento falla la comunicación con el servidor o con los otros proxies (Alta disponibilidad). Los datos se almacenarán al proxy hasta que el servidor vuelva a estar disponible, mandando todos los datos faltantes durante el tiempo de inactividad de golpe. De otro modo nos facilita la configuración de los firewalls, de tal manera que el servidor solo se comunique con el proxy y el proxy solo se comunique con las instáncias.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Conceptos básicos&#xA;    &lt;div id=&#34;conceptos-básicos&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#conceptos-b%c3%a1sicos&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Host:&lt;/strong&gt; Cada máquina física, virtual o servicio que queremos monitorear. (Ejemplo: Hypervisor, servidor, instáncia, router, servicio&amp;hellip;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Item:&lt;/strong&gt; El objeto concreto que se quiere almacenar informacion (Ej: Temperatura de la CPU, carga del procesador, memória disponible&amp;hellip;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Trigger:&lt;/strong&gt; El disparador que toma una acción (Ej: Cuando el ítem de temperatura de la CPU supere los 80ºC)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Action:&lt;/strong&gt; La acción que dispara el trigger (Ej: Manda un correo electrónico con la incidéncia)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Instalación básica y configuración&#xA;    &lt;div id=&#34;instalación-básica-y-configuración&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#instalaci%c3%b3n-b%c3%a1sica-y-configuraci%c3%b3n&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;La instalación más sencilla es poner todos los componentes del servidor en un mismo equipo. Si necesitamos escalar a muchos dispositivos monitoreados (cientos) podemos estudiar de separar la base de datos, del backend y del frontend, pero para una infraestructura pequeña nos valdrá poner todos los servicios juntos.&lt;/p&gt;&#xA;&lt;p&gt;Podemos usar este docker compose o uno parecido:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;services&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;postgres-server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgres:16-alpine&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;container_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgres-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;restart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;unless-stopped&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;networks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;zabbix-net&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;volumes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_USER=${POSTGRES_USER}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_PASSWORD=${POSTGRES_PASSWORD}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_DB=${POSTGRES_DB}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;zabbix-server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;zabbix/zabbix-server-pgsql:alpine-7.4-latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;container_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;zabbix-server-pgsql&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;restart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;unless-stopped&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;networks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;zabbix-net&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;s2&#34;&gt;&amp;#34;10051:10051&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;DB_SERVER_HOST=postgres-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_USER=${POSTGRES_USER}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_PASSWORD=${POSTGRES_PASSWORD}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_DB=${POSTGRES_DB}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;depends_on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;postgres-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;extra_hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;s2&#34;&gt;&amp;#34;host.docker.internal:host-gateway&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;zabbix-web-nginx&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;zabbix/zabbix-web-nginx-pgsql:alpine-7.4-latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;container_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;zabbix-web-nginx-pgsql&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;restart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;unless-stopped&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;networks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;zabbix-net&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;s2&#34;&gt;&amp;#34;80:8080&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ZBX_SERVER_HOST=zabbix-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;DB_SERVER_HOST=postgres-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_USER=${POSTGRES_USER}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_PASSWORD=${POSTGRES_PASSWORD}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;POSTGRES_DB=${POSTGRES_DB}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;PHP_TZ=${PHP_TZ}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;ZBX_SERVER_NAME=${ZBX_SERVER_NAME}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;depends_on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;postgres-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;zabbix-server&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;networks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;zabbix-net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;driver&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;bridge&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Después deberemos de configurar el cliente en el dispositivo a monitorear. Disponemos de muchas integraciones. Para citar algunas, tendríamos el agente de linux, montireo de docker, de routers como OPNsense o PFSense, Proxmox, AWS, Oracle Cloud, Cloudflare, Git, http&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Puedes consultar todas las integraciones disponibles aquí. Cada plantilla tiene distintos triggers y ítems para monitorear.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Ejemplo práctico de monitoreo&#xA;    &lt;div id=&#34;ejemplo-práctico-de-monitoreo&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ejemplo-pr%c3%a1ctico-de-monitoreo&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Una vez que tenemos el servidor en funcionamiento, deberemos de añadir los distintos hosts. Para un ejemplo sencillo, vamos a instalar el zabbix-agent en una máquina virtual de Debian para así poder monitorear su funcionamiento.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo apt install zabbix-agent2&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Luego deberemos decidir si configuramos el cliente como activo o pasivo. Si con configuramos en modo pasivo deberemos abrir el puerto 10050 del cliente, si lo configuramos en modo activo, deberemos abrir el puerto 10051 del servidor.&lt;/p&gt;&#xA;&lt;p&gt;Editaremos el archivo de configuración en &lt;code&gt;/etc/zabbix/zabbix_agent2.conf&lt;/code&gt; y configuraremos la dirección IP del servidor (o los proxies), así como el nombre del hostname que queramos usar.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;img&#34;&#xA;    width=&#34;799&#34;&#xA;    height=&#34;235&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/agent-config.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/agent-config.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/agent-config.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/agent-config.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;A continuación iremos a nuestra interfaz web de zabbix y añadiremos el host, desde &lt;code&gt;Monitoring - hosts - Create host&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Aquí deberemos de darle un nombre, una plantilla (Linux by Zabbix Agent), una dirección y un puerto. Finalmente le configuraré el proxy, aunque este no es necesario, depende de la arquitectura que estemos implementando.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;img&#34;&#xA;    width=&#34;1046&#34;&#xA;    height=&#34;656&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/host-config_hu_52c1c201652ceed3.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/host-config_hu_52c1c201652ceed3.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/host-config.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/host-config.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;En este punto, esperamos unos segundos a que sincronice y ya deberiamos de empezar a recolectar datos de nuestro host de muestra.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;img&#34;&#xA;    width=&#34;1491&#34;&#xA;    height=&#34;785&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/latest-data_hu_5661e01d69916d68.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/latest-data_hu_5661e01d69916d68.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/latest-data_hu_cc4eb0b43de69c28.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/latest-data.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;También es posible crear nuestras propias métricas y alertas.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Alertas en tiempo real&#xA;    &lt;div id=&#34;alertas-en-tiempo-real&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#alertas-en-tiempo-real&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Ya por defecto cada plantilla trae unos disparadores (triggers) ya preconfigurados y también podemos personalizar los nuestros propios. Por defecto se clasifican en &lt;code&gt;INFO | WARNING | AVERAGE | HIGH | DISASTER&lt;/code&gt;. Luego tendremos que configurar un medio para las alertas. Zabbix tiene compatibilidad con una gran cantidad de medios como correo electrónico, SMS, slack, jira, MS Teams, telegram, discord&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;La configuración de los medios dependerá en gran medida de que medio quieras usar. Puede pasar simplemente de poner unas claves API de un servicio a configurar un servidor de correo, modem GSM&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Luego tendremos mucho trabajo para ir configurando las notificaciones según las necesidades, ya que de lo contrario tendremos un flood de alertas tan grande que nos dificultará ver las alertas importantes.&lt;/p&gt;&#xA;&lt;p&gt;Zabbix también permite configurar distintos medios para distintas gravedades, de modo que las notificaciones más graves se dirijan por ejemplo a una dirección de correo distinta.&lt;/p&gt;&#xA;&lt;p&gt;También podremos desactivar o ajustar un trigger si este salta demasiado. Por ejemplo si un dispositivo muestra una falta alerta porque un sensor no funciona bien, podemos desactivar o reconfigurar esa alerta.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Dashboard&#xA;    &lt;div id=&#34;dashboard&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#dashboard&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Una vez recopilados los datos y estructurado las alertas, el último paso es la visualización. Zabbix cuenta con un sistema de Dashboards (tableros) altamente personalizable mediante widgets.&lt;/p&gt;&#xA;&lt;p&gt;Podemos crear pantallas personalizadas para el equipo de soporte técnico o pantallas macro para la oficina. En un mismo panel puedes arrastrar widgets de mapas de red interactivos, gráficas de consumo de ancho de banda en tiempo real, el estado de disponibilidad de los servidores (mediante semáforos verdes o rojos) y un histórico con los últimos problemas que siguen activos. Esto nos da un control absoluto y visual de toda nuestra infraestructura de un solo vistazo.&lt;/p&gt;&#xA;&lt;p&gt;A continuación adjunto algunas capturas de mis tableros de información. En este ejemplo una captura gel tablero genera, y un par de tableros customizados que he hecho para mis necesidades.&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;Nota: Se han anonimizado algunos nombres de host y direcciones IP&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Tablero principal:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;1920&#34;&#xA;    height=&#34;949&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash1_hu_ef4294ac56c03404.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash1_hu_ef4294ac56c03404.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/dash1_hu_a1f13185385e2de3.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash1.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Tablero de red:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;1920&#34;&#xA;    height=&#34;948&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash3_hu_ecabb35325ef5b16.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash3_hu_ecabb35325ef5b16.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/dash3_hu_49f8ca667038cef1.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash3.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Tablero para monitoear un nodo de Proxmox:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;auto&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;1918&#34;&#xA;    height=&#34;947&#34;&#xA;    src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash2_hu_378370b4851a8c7b.png&#34;&#xA;    srcset=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash2_hu_378370b4851a8c7b.png 800w, https://fish.fabmo.eu/posts/2026/zabbix/dash2_hu_77a5f2cc9bf67ea2.png 1280w&#34;&#xA;    sizes=&#34;(min-width: 768px) 50vw, 65vw&#34;&#xA;    data-zoom-src=&#34;https://fish.fabmo.eu/posts/2026/zabbix/dash2.png&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Problemas comunes:&#xA;    &lt;div id=&#34;problemas-comunes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#problemas-comunes&#34; aria-label=&#34;Ancla&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Conectividad:&lt;/strong&gt; Revisa los puertos, las direcciones, los firewalls, los proxies&amp;hellip;&lt;/li&gt;&#xA;&lt;li&gt;Fatiga de alertas: Al principio recibirás muchas alertas, deberás ir modificando un poco los triggers hasta que logres que solo las alertas importantes te lleguen.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Expresiones regulares y macros:&lt;/strong&gt; Zabbix usa una sintaxis poco intuitiva. La documentación es de calidad, pero hay muchisima documentación. Afortunadamente parece que algunos servicios de LLM&amp;rsquo;s como gemini se portan muy bien con la documentación de zabbix, facilitando mucho los flujos de trabajo.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Saturar la base de datos:&lt;/strong&gt; Zabbix guarda muchos, pero muchos datos. Dependiendo de las capacidades del servidor y de los clientes puede interesar disminuir la cantidad de datos almacenados. Por ejemplo, en vez de tomar una muestra cada 30 segundos, nos puede interesar tomar una muestra cada minuto o cada dos. También podemos configurar el tiempo durante el cual se guardan los datos completos, pasado este tiempo guardará el valor medio de cada hora en el histórico, en vez de toda la información cada 30 segundos.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Modificar plantillas:&lt;/strong&gt; Las plantillas no se deberían de modificar, se deben de clonar y modificar los clones. Pongamos por ejemplo que tienes una alerta si el consumo de CPU es superior al 70%, pero tienes un dispositivo que frecuentemente supera ese umbral y lo quieres modificar para que solo mande la alerta si supera el 85%. Si modificas la plantilla, se modificará el disparador para todos los dispositivos que usen la plantilla, por lo que deberás clonar la plantilla y modificar la copia.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
       />
    </item>
    
  </channel>
</rss>
