Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.

3 Instalación desde el código fuente

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.

1 Instalación de los demonios Zabbix

1 Descargue el archivo fuente

Vaya a la página de descarga de Zabbix y descargue el archivo fuente. Una vez descargado, extraiga las fuentes, ejecutando:

tar -zxvf zabbix-6.0.0.tar.gz

Ingrese la versión correcta de Zabbix en el comando. Debería coincidir con el nombre del archivo descargado.

2 Crear la cuenta usuario

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:

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
       chown zabbix:zabbix /usr/lib/zabbix

En sistemas basados en Debian, ejecutar:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
       chown zabbix:zabbix /var/lib/zabbix

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

3 Crear la base de datos de Zabbix

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.

4 Configuración del código fuente

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:

./configure --help

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:

./configure --enable-server --with-postgresql --with-net-snmp

Para configurar el código fuente para Zabbix proxy (con SQLite, entre otras), puedes ejecutar:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Para configurar el código fuente para Zabbix agent, ejecuta lo siguiente:

./configure --enable-agent

o, para Zabbix agent 2:

./configure --enable-agent2

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:

  • Utilerías de línea de comandos como zabbix_get y zabbix_sender serán compiladas si utilizamos la opción --enable-agent.
  • Las opciones de configuración --with-libcurl y --with-libxml2 son necesarias para el monitoreo de maquinas viruales; --with-libcurl también es requerido para la autenticación SMTP así como los items web.page.* del Zabbix agent . Notese que cURL 7.20.0 o superior es requerido con la opción de configuración --with-libcurl.
  • Zabbix siempre se compila con la librería PCRE (Desde la versión 3.4.0); su instalación no es opcional. --with-libpcre=[DIR] sólo permite apuntar a un solo directorio base de instalación, en lugar de buscar en algún número común de lugares para los archivos libpcre.
  • Puedes usar la bandera --enable-static para ligar estáticamente las librerías. Si planea realizar distribución archivos binarios compilados a través de diferentes servidores, deberá utilizar esta bandera para hacer que los binarios funcionen sin las librerias requeridas. Note que --enable-static no funciona en Solaris.
  • No es recomendable la utilización de la opción --enable-static cuando compilamos el server. Se requiere tener una versión estática de cada librería externa necesaria si queremos compilar un server de manera estática. No hay una forma estricta de validar esto en el script de configuración.
  • Agregue la ubicación opcional para archivo de configuración MySQL --with-mysql=/<ubicacion_del_archivo>/mysql_config para seleccionar la librería del cliente MySQL deseado en caso de que no se encuentre en la ubicación por defecto. Esto es útil cuando tenemos diferentes versiones de MySQL instaladas, o cuando MariaDB se encuentra instalado junto a MySQL en el mismo sistema.
  • Utilice la bandera --with-oracle para especificar a ubicación del OCI API.

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:

checking for main in -lmysqlclient... no
       configure: error: Not found mysqlclient library

Mientras que en el archivo config.log podremos encontrar una descripción más detallada:

/usr/bin/ld: cannot find -lssl
       /usr/bin/ld: cannot find -lcrypto

Vea también:

5 Compilar e instalar todo

Si se instala desde el repositorio Git de Zabbix es necesario ejecutar primero lo siguiente:

$ make dbschema

make install

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, use el parámetro --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 utilidades bajo <prefix>/bin. Las páginas del manual serán instaladas debajo de <prefix>/share.

6 Revisar y editar archivos de configuración
  • editar el archivo de configuración del Zabbix agent /usr/local/etc/zabbix_agentd.conf

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.

  • editar el archivo de configuración del Zabbix server /usr/local/etc/zabbix_server.conf

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.

  • si ha instalado el Zabbix proxy, edite el archivo de configuración /usr/local/etc/zabbix_proxy.conf

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.

7 Ejecutar los demonios

Ejecutar zabbix_server en el servidor

shell> zabbix_server

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.

shell> zabbix_agentd

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.

shell> zabbix_proxy

2 Instalar la interfaz web de Zabbix

Copiar los archivos PHP

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:

  • /usr/local/apache2/htdocs (directorio por defecto cuando se instala Apache desde el código fuente)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Debian, Ubuntu, Fedora, RHEL, CentOS)

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:

mkdir <htdocs>/zabbix
       cd ui
       cp -a . <htdocs>/zabbix

Si planea utilizar algún idioma diferente al inglés, vea Instalación de idiomas adicionales para el frontend para las instrucciones.

Instalar el frontend

Por favor vea la página Instalar la interfaz web de Zabbix para información referente al asistente de instalación del Zabbix frontend.

3 Instalar Java gateway

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.

$ ./configure --enable-java --prefix=$PREFIX

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.

$ make

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.

$ make install

Proceda a configuración para más detalles sobre la configuración y ejecución del Java gateway.

4 Instalación del servicio web Zabbix

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:

shell> zabbix_web_service

Consulte configuración para más detalles sobre como configurar la generación de reportes programados.