Es posible obtener la versión más reciente de Zabbix si realizamos la compilación desde el código fuente.
Aquí puedes encontrar un tutorial paso a paso de cómo realizar la instalación de Zabbix desde el código fuente.
Ir a la página de descarga de Zabbix y descarga el archivo de código fuente. Una vez descargados, extrae el código fuente ejecutando el siguiente comando:
Ingresa la versión de Zabbix correcta en el comando. Tiene que coincidir con el nombre del archivo descargado.
Es necesario tener una cuenta de usuario sin privilegios para todos los procesos del demonio Zabbix. Si el demonio Zabbix es iniciado desde una cuenta de usuario sin privilegios, los procesos correran como ese usuario.
Sin embargo, si el demonio es iniciado desde una cuenta 'root', los procesos cambiarán a ser ejecutados como una cuenta de usuario 'zabbix'. Para crear esa cuenta de usuario (en su propio grupo, "zabbix"),
en sistemas basados en RedHat, ejecutar:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
en sistemas basados en Debian, ejecutar:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Los procesos Zabbix no necesitan un directorio home, por lo que no recomendamos crear dicho directorio. Sin embargo, si está usando alguna funcionalidad que lo requiera (por ejemplo, guardar las credenciales MySQL en $HOME/.my.cnf
) tendrá la libertad de crearlo utilizando los siguientes comandos.
En sistemas basados en RedHat, ejecutar:
En sistemas basados en Debian, ejecutar:
No se requiere una cuenta de usuario separado para la instalación del Zabbix frontend.
Si el Zabbix server y el agent están ejecutandose en la misma máquina, es recomendable utilizar cuentas de usuario diferentes tanto para ejecutar el server como para el agent. De lo contrario, si ambos se están ejecutando desde el mismo usuario, el agent podrá acceder al archivo de configuración del server y cualquier usuario con nivel de Admin en Zabbix facilmente podrá obtener, por ejemplo, la contraseña de la base de datos.
Ejecutar Zabbix como root
, bin
, o cualquier otra cuenta de usuario con permisos especiales es considerado un riesgo de seguridad
Es necesario tener una base de datos para los demonios Zabbix server y proxy, así como para el Zabbix Frontend. La base de datos no es necesaria para ejecutar el Zabbix agent.
Aquí puedes encontrar los scripts SQL para crear el esquema de la base de datos, así como insertar el conjunto de datos. La base de datos para el Zabbix proxy necesita solo el esquema mientras que la base de datos para el Zabbix server requiere también contar con el conjunto de datos encima del esquema.
Una vez creada la base de datos de Zabbix, proceda con los siguientes pasos para poder compilar Zabbix.
Cuando configuramos el código fuente para el Zabbix Server o proxy es necesario especificar el tipo de base de datos a utilizar. Solo podemos compilar un tipo de base de datos a ser utilizado con un server o proxy al mismo tiempo.
Para ver todas las opciones de configuración soportadas, dentro del directorio ejecuta el siguiente comando dentro del directorio donde extrajimos el código fuente de Zabbix:
Para configurar el código fuente para Zabbix server y agent, puedes ejecutar algo similar a lo siguiente:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
Para configurar el código fuente para Zabbix server (con PostgreSQL, o algúna otras), puedes ejecutar:
Para configurar el código fuente para Zabbix proxy (con SQLite, entre otras), puedes ejecutar:
Para configurar el código fuente para Zabbix agent, ejecuta lo siguiente:
o, para Zabbix agent 2:
Se requiere un ambiente Go con una versión Go soportada para poder compilar Zabbix agent 2. Vea golang.org para las instrucciones de instalación.
Notas respecto a las opciones de compilación:
web.page.*
del Zabbix agent . Notese que cURL 7.20.0 o superior es requerido con la opción de configuración --with-libcurl.Si ./configure falla debido a librerías faltantes o alguna otra circunstancia, por favor vea el archivo config.log
para mas detalles del error. Por ejemplo, si falta libssl
, el mensaje de error inmediato pudiera ser engañoso:
Mientras que en el archivo config.log
podremos encontrar una descripción más detallada:
Vea también:
Si se instala desde repositorio Git Zabbix es necesario ejecutar primero lo siguiente:
$ make dbschema
Este paso debe ejecutarse con un usuario con los permisos suficientes (por lo general 'root', o usando sudo
).
Cuando ejecutamos make install
los binarios de los demonios serán instalados en /usr/local/sbin para (zabbix_server, zabbix_agentd, zabbix_proxy) y /usr/local/bin para los binarios de los clientes (zabbix_get, zabbix_sender).
Para especificar una ubicación distinta a /usr/local, la llave --prefix en el paso previo correspondiente a la configuración del código fuente, por ejemplo --prefix=/home/zabbix. En este caso los binarios del demonio serán instalados bajo <prefix>/sbin, mientras las utilerías bajo <prefix>/bin. Las páginas del manual serán instaladas debajo de <prefix>/share.
Es necesario configurar este archivo en casa host con zabbix_agentd instalado.
De la misma forma es necesario especificar la dirección IP del Zabbix server en el archivo. Todas las conexiones desde otros hosts serán rechazadas.
Se requiere especificar el nombre de la base de datos, así como el usuario y contraseña (en caso de ser necesario)
El resto de los parámetros por defecto se ajustarán a sus necesidades en caso de tener una instalación pequeña (hasta diez hosts monitoreados). Sin embargo es necesario cambiar los parámetros por defecto si requiere mejorar el desempeño del Zabbix server (o proxy). Para más detalles consulte la sección de ajuste de desempeño.
Se requiere especificar la dirección IP del server y el hostname del proxy (debe ser reconocido por el server), así como el nombre de la base de datos, el usuario y contraseña (en caso de ser necesario).
En el caso de SQLite se es necesario especificar la ubicación completa del archivo de la base de datos; usuario DB y contraseña no son requeridos.
Ejecutar zabbix_server en el servidor
Asegúrese que su sistema permita la asignación de 36MB (o un poco más) de memoria compartida, de lo contrario el server no podrá ser ejecutado y veremos la entrada "Cannot allocate shared memory for <type of cache>." en el archivo log del server. Esto puede ocurrir en FreeBSD, Solaris 8.
Vea la sección "Vea también" al final de esta página para encontrar como configurar la memoria compartida.
Ejecutar zabbix_agentd en todas las máquinas monitoreadas.
Asegurese que su sistema permita la asignación de2MB de memoria compartida, de lo contrario el agent no podrá ser ejecutado y veremos la entrada "Cannot allocate shared memory for collector." en el archivo log del agent. Esto puede ocurrir en Solaris 8..
Si ha instalado Zabbix proxy, ejecute zabbix_proxy.
El Zabbix frontend está escrito en PHP, así que para ejecutarlo es necesario contar con un servidor web soportado. La instalación se realiza simplemente copiando los archivos PHP desde el directorio ui al directorio de documentos HTML del servidor web.
Algunas de las ubicaciones comunes para el directorio documentos HTML en servidores web Apache incluye:
Es altamente recomendable utilizar un subdirectorio en lugar del directorio HTML raíz. Para crear el subdirectorio y copiar los archivos del Zabbix frontend en el, ejecute los siguientes comandos, remplazando el directorio actual:
Si planea utilizar algún idioma diferente al inglés, vea Instalación de idiomas adicionales para el frontend para las instrucciones.
Por favor vea la página Instalar la interfaz web de Zabbix para información referente al asistente de instalación del Zabbix frontend.
Sólo es necesario instalar el Java gateway en caso de querer monitorea aplicaciones JMX. Java gateway es ligero y no requiere una base de datos.
Para instalar desde el código fuente, primero descargue y extraiga el archivo fuente.
Para compilar el Java gateway, ejecute el script ./configure
con la opción --enable-java
. Es recomendable que especifique la opción --prefix
en caso de requerir un directorio de instalación diferente a /usr/local que está por defecto, ya que al instalar el Java gateway se creará un nuevo árbol de directorios, no solo un simple ejecutable.
Para compilar el paquete Java gateway dentro de un archivo JAR, execute make
. Nótese que para este paso es necesario contar con los ejecutables javac
y jar
en tu ubicación.
Ahora ya tendrá un archivo zabbix-java-gateway-$VERSION.jar en src/zabbix_java/bin. Si se siente cómodo con ejecutar Java gateway desde src/zabbix_java en el directorio de distribución, entonces puede proceder con las instrucciones para configurar y ejecutar Java gateway. En caso contrario, asegúrese de contar con los permisos para ejecutar make install
.
Proceda a configuración para más detalles sobre la configuración y ejecución del Java gateway.
La instalación del servicio web Zabbix solo es requerida si usted gusta utilizar reportes programados.
Para instalar desde el código fuente, primero descargue y extraiga el archivo fuente.
Para compilar el servicio web Zabbix, ejecute el script ./configure
con la opción --enable-webservice
.
Se requiere un ambiente Go con una versión 1.13+ para compilar el servicio web Zabbix.
Ejecute zabbix_web_service en la máquina donde el servicio web es instalado:
Consulte configuración para más detalles sobre como configurar la generación de reportes programados.