Puede obtener la versión más reciente de Zabbix compilándola desde las fuentes.
Aquí se proporciona un tutorial paso a paso para instalar Zabbix desde las fuentes.
Vaya a la página de descargas de Zabbix y descargue el archivo fuente. Una vez descargado, extraiga las fuentes ejecutando:
Introduzca la versión correcta de Zabbix en el comando. Debe coincidir con el nombre del archivo descargado.
Todos los procesos demonio de Zabbix se ejecutan bajo usuarios del sistema sin privilegios. Si un demonio de Zabbix se inicia desde una cuenta de usuario sin privilegios, continuará ejecutándose como ese usuario.
En la configuración predeterminada, si un demonio se inicia como root, cambiará a la cuenta de usuario zabbix, la cual debe estar presente. Para crear un usuario y grupo de sistema zabbix, ejecute los comandos que se indican a continuación.
Sistema basado en RedHat:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbixSistema basado en Debian:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbixNo es necesario crear una cuenta de usuario separada para el frontend de Zabbix.
Si el servidor y el agente de Zabbix se ejecutan en la misma máquina, se recomienda ejecutarlos bajo cuentas de usuario separadas. Ejecutar ambos como el mismo usuario permite que el agente acceda al archivo de configuración del servidor, lo que podría exponer información sensible—como la contraseña de la base de datos—a cualquier usuario con nivel de Administrador en Zabbix.
Ejecutar Zabbix como root, bin o cualquier otra cuenta con derechos especiales es un riesgo de seguridad.
Los procesos de Zabbix no requieren un directorio home, por lo que generalmente no se recomienda crearlo. Sin embargo, si necesita funcionalidad que requiera un directorio home (por ejemplo, almacenar credenciales de MySQL en $HOME/.my.cnf), puede crearlo utilizando los comandos que se indican a continuación.
En sistemas basados en RedHat, ejecute:
En sistemas basados en Debian, ejecute:
Para los demonios de servidor y proxy de Zabbix, así como para el frontend de Zabbix, se requiere una base de datos. No es necesario para ejecutar el agente de Zabbix.
Se proporcionan scripts SQL para crear el esquema de la base de datos e insertar el conjunto de datos. La base de datos del proxy de Zabbix solo necesita el esquema, mientras que la base de datos del servidor de Zabbix requiere también el conjunto de datos además del esquema.
Una vez creada la base de datos de Zabbix, continúe con los siguientes pasos para compilar Zabbix.
Se requiere C99 con extensiones GNU para compilar el Zabbix server, Zabbix proxy o Zabbix agent. Esta versión se puede especificar explícitamente configurando CFLAGS="-std=gnu99":
Si se instala desde el repositorio Git de Zabbix, es necesario ejecutar primero:
./bootstrap.sh
Al configurar las fuentes para un Zabbix server o proxy, debe especificar el tipo de base de datos que se utilizará. Solo se puede compilar un tipo de base de datos con un proceso de server o proxy a la vez.
Para ver todas las opciones de configuración soportadas, dentro del directorio de fuentes extraídas de Zabbix ejecute:
Para configurar las fuentes para un Zabbix server y agent, puede ejecutar algo como:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-aresPara configurar las fuentes para un Zabbix server (con PostgreSQL, etc.), puede ejecutar:
Para configurar las fuentes para un Zabbix proxy (con SQLite, etc.), puede ejecutar:
Para configurar las fuentes para un Zabbix agent, puede ejecutar:
o, para Zabbix agent 2:
Se requiere una versión de Go soportada para compilar Zabbix agent 2.
Notas sobre las opciones de compilación:
--enable-agent - compila Zabbix agent, así como las utilidades de línea de comandos Zabbix get y Zabbix sender.--with-libcurl - requerido para la monitorización de máquinas virtuales, autenticación SMTP y los items de Zabbix agent web.page.*. Ver también: Requisitos (libcurl).--with-libxml2 - requerido para la monitorización de máquinas virtuales.--with-libpcre2[=DIR] - Zabbix siempre compila con la librería PCRE2; esta opción solo permite especificar una ruta personalizada de instalación de PCRE2.--with-mysql=/path/to/mysql_config - especifica la ruta a una configuración particular de la librería cliente de MySQL. Útil cuando hay instaladas varias versiones de MySQL o MariaDB.--enable-static - enlaza las librerías estáticamente (no soportado en Solaris). Utilice esto si planea distribuir binarios compilados a sistemas sin las librerías requeridas. No se recomienda al compilar Zabbix server. Para compilar el server estáticamente, se requiere una versión estática de cada librería externa. El script configure no comprueba esto automáticamente.--with-stacksize=<valor> - establece el tamaño de pila por hilo en kilobytes (por ejemplo, --with-stacksize=512). Puede aumentar este valor si Zabbix se bloquea o congela debido a desbordamientos de pila (por ejemplo, durante el preprocesamiento en sistemas con límites bajos de pila por hilo por defecto).Si ./configure falla debido a librerías faltantes u otros problemas, por favor revise el archivo config.log para obtener información detallada sobre el error.
Por ejemplo, si falta libssl, el mensaje de error inmediato puede ser confuso:
En este caso, config.log revela la causa real:
Consulte también:
Si se instala desde el repositorio Git de Zabbix, es necesario ejecutar primero:
$ make dbschema
Este paso debe ejecutarse como un usuario con permisos suficientes (comúnmente 'root', o utilizando sudo).
Al ejecutar make install, por defecto se instalarán los binarios de los demonios (zabbix_server, zabbix_agentd, zabbix_proxy) en /usr/local/sbin y los binarios de cliente (zabbix_get, zabbix_sender) en /usr/local/bin.
Para especificar una ubicación diferente a /usr/local, utilice la clave --prefix en el paso anterior de configuración de fuentes, por ejemplo --prefix=/home/zabbix. En este caso, los binarios de los demonios se instalarán en <prefix>/sbin, mientras que las utilidades en <prefix>/bin. Las páginas de manual se instalarán en <prefix>/share.
Debe configurar este archivo para cada equipo con zabbix_agentd instalado.
Debe especificar la dirección IP del servidor Zabbix en el archivo. Las conexiones desde otros equipos serán denegadas.
Debe especificar el nombre de la base de datos, el usuario y la contraseña (si utiliza alguna).
El resto de los parámetros le servirán con sus valores predeterminados si tiene una instalación pequeña (hasta diez equipos monitorizados). Sin embargo, debe cambiar los parámetros predeterminados si desea maximizar el rendimiento del servidor Zabbix (o proxy).
Debe especificar la dirección IP del servidor y el nombre del equipo proxy (debe ser conocido por el servidor), así como el nombre de la base de datos, el usuario y la contraseña (si utiliza alguna).
Con SQLite se debe especificar la ruta completa al archivo de la base de datos; no se requieren usuario ni contraseña de la base de datos.
Ejecute zabbix_server en el lado del servidor.
Asegúrese de que su sistema permita la asignación de 36MB (o un poco más) de memoria compartida, de lo contrario el servidor puede no iniciarse y verá "Cannot allocate shared memory for <type of cache>." en el archivo de registro del servidor. Esto puede ocurrir en FreeBSD, Solaris 8.
Ejecute zabbix_agentd en todas las máquinas monitorizadas.
Asegúrese de que su sistema permita la asignación de 2MB de memoria compartida, de lo contrario el agente puede no iniciarse y verá "Cannot allocate shared memory for collector." en el archivo de registro del agente. Esto puede ocurrir en Solaris 8.
Si ha instalado Zabbix proxy, ejecute zabbix_proxy.
La interfaz de Zabbix está escrita en PHP, por lo que para ejecutarla se necesita un servidor web compatible con PHP. La instalación se realiza simplemente copiando los archivos PHP del directorio ui al directorio de documentos HTML del servidor web.
Las ubicaciones comunes de los directorios de documentos HTML para servidores web Apache incluyen:
Se recomienda utilizar un subdirectorio en lugar de la raíz HTML. Para crear un subdirectorio y copiar los archivos de la interfaz de Zabbix en él, ejecute los siguientes comandos, reemplazando <htdocs> por el directorio real:
Si planea utilizar cualquier otro idioma que no sea inglés, consulte Instalación de idiomas adicionales para la interfaz para obtener instrucciones.
Consulte la página Instalación de la interfaz web para obtener información sobre el asistente de instalación del frontend de Zabbix.
La instalación de plugins cargables para Zabbix agent 2 solo es necesaria si desea monitorizar objetivos que no están cubiertos por los plugins integrados (por ejemplo, servidores o clústeres de MongoDB, PostgreSQL y sus derivados, etc.). Consulte la lista completa de plugins cargables y plugins integrados.
Antes de instalar un plugin, consulte su archivo README. Puede contener requisitos específicos e instrucciones de instalación.
Para instalar desde las fuentes, primero descargue y extraiga el archivo fuente del plugin cargable.
Para compilar el plugin, navegue al directorio extraído del plugin y ejecute make:
Se requiere una versión de Go soportada para compilar Zabbix agent 2.
El ejecutable del plugin puede ubicarse en cualquier lugar siempre que sea cargable por Zabbix agent 2. Especifique la ruta al binario del plugin en el archivo de configuración del plugin, por ejemplo, en postgresql.conf para el plugin PostgreSQL:
La ruta al archivo de configuración del plugin debe especificarse en el parámetro Include del archivo de configuración de Zabbix agent 2:
Consulte la sección de configuración para obtener más detalles sobre la configuración de plugins.
Los plugins cargables proporcionados por Zabbix utilizan makefiles simples con los siguientes objetivos de compilación:
make - compila el pluginmake clean - elimina todos los archivos creados durante la compilación del pluginmake check - ejecuta auto-pruebas (requiere un objetivo de monitorización real, por ejemplo, una base de datos PostgreSQL)make style - comprueba el estilo del código Go con golangci-lintmake format - formatea el código Go con go fmtmake dist - crea un archivo fuente que incluye todas las dependenciasSolo es necesario instalar la pasarela Java si desea monitorizar aplicaciones JMX. La pasarela Java es ligera y no requiere una base de datos.
Para instalar desde las fuentes, primero descargue y extraiga el archivo fuente.
Para compilar la pasarela Java, ejecute el script ./configure con la opción --enable-java. Se recomienda especificar la opción --prefix para solicitar una ruta de instalación diferente a la predeterminada /usr/local, ya que la instalación de la pasarela Java creará todo un árbol de directorios, no solo un único ejecutable.
Para compilar y empaquetar la pasarela Java en un archivo JAR, ejecute make. Tenga en cuenta que para este paso necesitará los ejecutables javac y jar en su ruta.
Ahora tiene un archivo zabbix-java-gateway-$VERSION.jar en src/zabbix_java/bin. Si se siente cómodo ejecutando la pasarela Java desde src/zabbix_java en el directorio de distribución, entonces puede proceder a las instrucciones para configurar y ejecutar la pasarela Java. De lo contrario, asegúrese de tener suficientes privilegios y ejecute make install.
Continúe con la configuración para obtener más detalles sobre la configuración y ejecución de la pasarela Java.
La instalación del servicio web de Zabbix solo es necesaria si desea utilizar los informes programados.
Para instalar desde las fuentes, primero descargue y extraiga el archivo fuente.
Para compilar el servicio web de Zabbix, ejecute el script ./configure con la opción --enable-webservice.
Se requiere una versión de Go compatible para compilar el servicio web de Zabbix.
Ejecute zabbix_web_service en la máquina donde se instaló el servicio web:
Continúe con la configuración para obtener más detalles sobre la configuración de la generación de informes programados.