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í puede encontrar un tutorial paso a paso de cómo realizar la instalación de Zabbix desde el código fuente.
- Instalación de los demonios Zabbix
1 Descargue el archivo fuente
Vaya a la [página de descarga de Zabbix] (http://www.zabbix.com/download_sources) y descargue el archivo fuente. Una vez descargado, extraiga las fuentes, ejecutando:
$ tar -zxvf zabbix-7.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 Configurar las fuentes
Se requiere C99 con extensiones GNU para construir el servidor Zabbix, el proxy Zabbix o el agente Zabbix. Esta versión se puede especificar explícitamente configurando CFLAGS="-std=gnu99":
export CFLAGS="-std=gnu99"
Si realiza la instalación desde el repositorio Git de Zabbix, es necesario ejecutar primero:\
./bootstrap.sh
Al configurar las fuentes para un servidor o proxy Zabbix, debe especificar el tipo de base de datos que se utilizará. Sólo se puede utilizar un tipo de base de datos compilado con un proceso servidor o proxy a la vez.
Para ver todas las opciones de configuración admitidas, dentro del directorio fuente de Zabbix extraido, ejecute:
./configure --help
Para configurar las fuentes para un servidor y agente Zabbix, puede ejecutar algo como:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
Para configurar las fuentes para un servidor Zabbix (con PostgreSQL, etc.), puede ejecutar:
./configure --enable-server --with-postgresql --with-net-snmp
Para configurar las fuentes para un proxy Zabbix (con SQLite, etc.), puede ejecutar:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Para configurar las fuentes para un agente Zabbix, puede ejecutar:
./configure --enable-agent
o, para el agente 2 de Zabbix:
./configure --enable-agent2
Un entorno Go configurado con una [versión Go] (https://go.dev/doc/devel/release#policy) soportada es necesario para construir el agente Zabbix 2. Ver go.dev para las instrucciones de instalación.
Notas sobre las opciones de compilación:
- Se compilan las utilidades de línea de comandos zabbix_get y zabbix_sender si se utiliza la opción --enable-agent.
- Se requieren las opciones de configuración --with-libcurl y --with-libxml2
para monitoreo de máquinas virtuales; --with-libcurl también es necesario para
Autenticación SMTP y
métricas agente Zabbix
web.page.*. Tenga en cuenta que se requiere cURL 7.20.0 o superior con la opción de configuración --with-libcurl. - Zabbix siempre compila con la biblioteca PCRE; instalarlo no es opcional. --with-libpcre=[DIR] solo permite apuntar a un directorio base de instalación específico, en lugar de buscar a través de una serie de lugares comunes para los archivos libpcre.
- Puede utilizar el indicador --enable-static para vincular bibliotecas estáticamente. Si planea distribuir archivos binarios compilados entre diferentes servidores, debes usar esta bandera para hacer que estos binarios funcionen sin necesidad bibliotecas. Tenga en cuenta que --enable-static no funciona en Solaris.
- No se recomienda utilizar la opción --enable-static al compilar el servidor. Para construir el servidor estáticamente, se necesita una versión estática de cada biblioteca externa. No hay una comprobación estricta de eso en el script de configuración.
- Agregar la ruta opcional al archivo de configuración de MySQL --with-mysql=/<ruta_al_el_archivo>/mysql_config para seleccionar la biblioteca cliente MySQL deseada cuando sea necesario utilizar una que no se encuentra en la ubicación predeterminada. Es útil cuando hay varias versiones de MySQL o MariaDB instaladas. junto con MySQL en el mismo sistema.
- Utilice el indicador --with-oracle para especificar la ubicación de la API de OCI.
Si ./configure falla debido a que faltan bibliotecas o
alguna otra circunstancia, consulte el archivo config.log para obtener más información
sobre el error. Por ejemplo, si falta libssl, el mensaje inmediato
de error puede ser engañoso:
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
Mientras que config.log tiene una descripción más detallada:
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
Ver también:
- Compilando Zabbix con soporte de cifrado para soporte de cifrado
- Problemas conocidos con la compilación del agente Zabbix en HP-UX
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 cada equipo con zabbix_agentd instalado.
De la misma forma es necesario especificar la dirección IP del servidor Zabbix en el archivo. Todas las conexiones desde otros equipos serán rechazadas.
- editar el archivo de configuración del servidor Zabbix /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 equipos monitoreados). Sin embargo es necesario cambiar los parámetros por defecto si requiere mejorar el desempeño del servidor Zabbix (o proxy). Para más detalles consulte la sección de ajustes de desempeño.
- si ha instalado el proxy Zabbix, edite el archivo de configuración /usr/local/etc/zabbix_proxy.conf
Se requiere especificar la dirección IP del servidor y el nombre de equipo del proxy (debe ser reconocido por el servidor), así como el nombre de la base de datos, el usuario y contraseña (en caso de ser necesario).
Usando SQLite 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
Ejecute zabbix_server en el lado del servidor.
zabbix_server
Asegúrese de que su sistema permita la asignación de 36 MB (o un un poco más) de memoria compartida; de lo contrario, es posible que el servidor no se inicie y verá "No se puede asignar memoria compartida para <tipo de caché>". en el archivo de registro del servidor. Esto puede suceder en FreeBSD, Solaris 8.\
Ejecute zabbix_agentd en todas las máquinas monitoreadas.
zabbix_agentd
Asegúrese de que su sistema permita la asignación de 2 MB de memoria compartida; de lo contrario, es posible que el agente no se inicie y verá "No se puede asignar memoria compartida al recopilador" en el archivo de registro del agente. Esto puede suceder en Solaris 8.
Si ha instalado el proxy Zabbix, ejecute zabbix_proxy.
zabbix_proxy
- 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)
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.
- Installing Zabbix agent 2 loadable plugins
Installing Zabbix agent 2 loadable plugins is only required if you want to monitor targets not covered by built-in plugins (e.g., MongoDB servers or clusters, PostgreSQL and its forks, etc.). See the full list of loadable plugins and built-in plugins.
Before installing a plugin, please check its README file. It may contain specific requirements and installation instructions.
To install from sources, first download and extract the loadable plugin source archive.
To compile the plugin, navigate to the extracted plugin directory and run make:
make
A supported Go version is required for building Zabbix agent 2.
The plugin executable may be placed anywhere as long as it is loadable by Zabbix agent 2. Specify the path to the plugin binary in the plugin configuration file, e.g. in postgresql.conf for the PostgreSQL plugin:
Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql
The path to the plugin configuration file must be specified in the Include parameter of the Zabbix agent 2 configuration file:
Include=/path/to/plugin/configuration/file/postgresql.conf
Proceed to setup for more details on configuring plugins.
Loadable plugins provided by Zabbix use simple makefiles with the following build targets:
make- build the pluginmake clean- delete all files that are created by building the pluginmake check- run self-tests (requires a real monitoring target, e.g., a PostgreSQL database)make style- check Go code style withgolangci-lintmake format- format Go code withgo fmtmake dist- create a source archive including all dependencies
- Instalación de la puerta de enlace Java
Es necesario instalar Java Gateway solo si desea monitorear aplicaciones JMX. La puerta de enlace Java es liviana y no requiere una base de datos.
Para instalarla desde las fuentes, primero descargue y extraiga el archivo fuente.
Para compilar la puerta de enlace Java, ejecute el script ./configure con la
opción --enable-java. Es recomendable que especifique la opción --prefix
para solicitar una ruta de instalación distinta a la predeterminada /usr/local,
porque la instalación de Java Gateway creará un árbol de directorios completo, no
sólo un único ejecutable.
./configure --enable-java --prefix=$PREFIX
Para compilar y empaquetar la puerta de enlace Java en un archivo JAR, ejecute make. Tenga en cuenta
que para este paso necesitará los ejecutables javac y jar en su
ruta.
make
Ahora tiene un archivo zabbix-java-gateway-$VERSION.jar en src/zabbix_java/bin. Si se siente cómodo ejecutando Java Gateway desde src/zabbix_java en el directorio de distribución, entonces puedes continúe con las instrucciones para configurar y ejecutar la puerta de enlace Java. De lo contrario, asegúrese de tener suficientes privilegios y ejecute "make install".
make install
Continúe con la configuración para obtener más detalles sobre la configuración y ejecución de la puerta de enlace Java.
- Instalación del servicio web Zabbix
Solo es necesario instalar el servicio web Zabbix si desea utilizar informes programados .
Para instalarlo desde las fuentes, 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 entorno configurado de una versión Go 1.13+ para crear el servicio web Zabbix.
Ejecute zabbix_web_service en la máquina donde está instalado el servicio web:
zabbix_web_service
Continúe con la configuración para obtener más detalles sobre cómo configurar la generación de informes programados.