Zabbix consiste de varios componentes principales, cuyas responsabilidades se detallan a continuación.
El Servidor Zabbix es el componente central, a quién se le reporta la información recabada. El servidor es un repositorio central en donde toda la configuración, estadísticas y datos operacionales reciden.
Toda la configuración, así como los datos recabados por Zabbix, son almacenados en la base de datos.
Una interfaz web es suministrada para un fácil acceso a Zabbix, desde cualquier lugar y plataforma. Usualmente, pero no necesariamente, es ejecutado en la misma máquina en donde se ejecuta el servidor.
Los Proxy Zabbix recopilan informacin de dispositivos monitoreados en lugar del servidor Zabbix para luego transmitírselos. Es un componente opcional, pero puede ser muy beneficioso para distribuir la carga que de otra manera soporta el servidor Zabbix.
Los Agetes Zabbix son instalados en los dispositivos a monitorear, para recabar datos localmente y enviárselos al servidor Zabbix.
Además, es importante dar un paso atrás y echar un vistazo al flujo de datos general dentro de Zabbix. Para crear un ítem que recopile datos, primero se debe crear un host. Para crear un trigger es necesario tener (al menos) un ítem. Se debe tener un trigger para crear una acción. Por lo tanto, si desea recibir una alerta de que la carga del CPU es demasiado alta en el dispositivo Servidor X, primero debe crear una entrada de host para el dispositivo // Servidor X //, luego un ítem para monitorear su CPU, luego un trigger que se active si el valor del ítem que almacena la carga de la CPU es demasiado alto, acto seguido, una acción que le envíe un e-mail. Si bien pueden parecer muchos pasos, con el uso de templates no es así. Además, debido a este diseño, es posible crear una configuración muy flexible.