En esta entrada veremos cómo instalar Zabbix en FreeBSD 12 paso a paso, de modo que en unos instantes sabrás instalar y configurar Zabbix Server, Zabbix Frontend y Zabbix Agent para poder trabajar fácilmente con este sistema de monitorización remota desde tu servidor o VPS FreeBSD.
Contenido
Antes de instalar Zabbix en FreeBSD 12
Para poder completar esta guía de instalación de Zabbix en FreeBSD 12 sería interesante cumplir previamente los siguientes requerimientos mínimos:
- Un sistema FreeBSD 12 actualizado.
- Una pila o entorno tipo FAMP con PHP 7.4 y MySQL 5.7 en la máquina FreeBSD 12 que actuará como servidor Zabbix.
- Acceso a línea de comandos con root o con un usuario con permisos de sudo.
- Opcionalmente, otras máquinas para monitorizar remotamente.
- Conexión a Internet.
En el caso de no cumplir aún con el entorno necesario, podría interesarte consultar primero nuestra guía de instalación FAMP en FreeBSD 12, pero ten en cuenta que Zabbix en FreeBSD 12 sólo funciona con PHP 7.4 y MySQL 5.7.
En el ejemplo de este tutorial usaremos dos máquinas FreeBSD 12:
- freebsd12.local.lan: En la que instalaremos el servidor, el frontend y el agente, que actuará como servidor Zabbix y se monitorizará a sí misma.
- freebsd12b.local.lan: En la que sólo instalaremos el agente Zabbix, y que será monitoreada por la anterior.
Cómo instalar Zabbix en FreeBSD 12
Para instalar Zabbix en FreeBSD 12 utilizaremos paquetes disponibles en el repositorio del propio sistema. Y es que, a pesar de que oficialmente no existe repositorio de Zabbix para FreeBSD, sin embargo sí que se han incluido los paquetes más actualizados dentro de las fuentes de instalación del propio FreeBSD. Por ello es importante actualizar en primer lugar las listas de paquetes:
~$ sudo pkg update
Cómo instalar Zabbix Agent en FreeBSD 12
En primer lugar vamos a instalar Zabbix Agent en FreeBSD 12, o el agente Zabbix, como prefieras llamarlo, tanto en la máquina que actuará como servidor como en todas las máquinas FreeBSD 12 que queramos monitorizar remotamente. Para ello instalaremos únicamente el paquete zabbix54-agent con el comando pkg:
~$ sudo pkg install -y zabbix54-agent
Una vez descargado e instalado Zabbix Agent se crea un nuevo servicio en FreeBSD 12, el servicio zabbix_agentd, pero no queda habilitado ni en ejecución.
Cómo configurar Zabbix Agent en FreeBSD 12
Antes de poder lanzar el servicio hay que crear un archivo de configuración para el agente Zabbix, y la forma más sencilla es copiar el archivo de muestra que incluye el paquete:
~$ sudo cp /usr/local/etc/zabbix54/zabbix_agentd.conf.sample /usr/local/etc/zabbix54/zabbix_agentd.conf
Si estamos instalando Zabbix Agent en la máquina que actuará como servidor Zabbix, no será necesario realizar ningún ajuste sobre la configuración por defecto. Sin embargo, si se trata de una máquina remota debemos editar este archivo de configuración para configurar el servidor Zabbix que monitorizará esta máquina:
~$ sudo nano /usr/local/etc/zabbix54/zabbix_agentd.conf
Buscamos la directiva Server:
... ### Option: Server # List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies. # Incoming connections will be accepted only from the hosts listed here. # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally # and '::/0' will allow any IPv4 or IPv6 address. # '0.0.0.0/0' can be used to allow any IPv4 address. # Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com # # Mandatory: yes, if StartAgents is not explicitly set to 0 # Default: # Server= Server=127.0.0.1 ...
El valor por defecto apunta a la máquina local, por eso no es necesaria esta configuración si estamos instalando el agente Zabbix en la máquina FreeBSD 12 que actúa también como servidor Zabbix. Pero si es una máquina remota cambiamos el valor 127.0.0.1 por la dirección IP o nombre de máquina del servidor Zabbix:
... Server=freebsd12.local.lan ...
Guardamos los cambios y cerramos el archivo.
Cómo activar e iniciar Zabbix Agent en FreeBSD 12
Ahora ya podemos habilitar el agente Zabbix para que inicie automáticamente junto a FreeBSD 12:
~$ sudo service zabbix_agentd enable
E iniciamos Zabbix Agent por primera vez:
~$ sudo service zabbix_agentd start
Podremos comprobar su estado en cualquier momento mediante el comando service zabbix_agentd status
:
~$ service zabbix_agentd status zabbix_agentd is running as pid 989.
Cómo instalar el servidor Zabbix en FreeBSD 12
Ahora vamos a instalar el servidor Zabbix en FreeBSD 12, en la máquina que actuará como servidor. Aunque podríamos tener separados en máquinas distintas el servidor y el frontend de Zabbix, en este tutorial tendremos estos dos elementos instalados en la misma máquina. Por tanto, instalaremos los paquetes necesarios para el servidor Zabbix con pkg:
~$ sudo pkg install -y zabbix54-frontend zabbix54-server
Tras descargar e instalar estos paquetes de Zabbix y sus dependencias se crea un nuevo servicio en FreeBSD 12 llamado zabbix_server, que no queda en ejecución ni habilitado para su inicio automático tras la instalación, pero nos ocuparemos más tarde de esto.
Preparativos del servicio de base de datos
El servicio Zabbix necesita una base de datos sobre la que trabajar, así como un usuario que la administre. Zabbix puede trabajar con varios motores de bases de datos, aunque en este tutorial trataremos con MySQL 5.7.
Empezaremos creando la base de datos y el usuario con el cliente de consola mysql:
~$ mysql -u root -p
Creamos la base de datos:
> create database zabbix character set utf8 collate utf8_bin;
Creamos el usuario:
> create user zabbix@localhost identified by 'XXXXXXXX';
Y concedemos los permisos necesarios al usuario sobre la base:
> grant all privileges on zabbix.* to zabbix@localhost;
Ya podemos cerrar el cliente mysql:
> exit
Ahora estrenaremos el usuario y la base de datos inicializándolas con las estructuras que los paquetes de Zabbix proporcionan. Son tres scripts SQL los que hay que cargar:
~$ mysql -u zabbix -p zabbix < /usr/local/share/zabbix54/server/database/mysql/schema.sql
Se nos pedirá la contraseña del usuario zabbix que creamos anteriormente y se creará la estructura principal. Pero aún tenemos que cargar un par de scripts más:
~$ mysql -u zabbix -p zabbix < /usr/local/share/zabbix54/server/database/mysql/images.sql
Y finalmente cargamos los datos iniciales:
~$ mysql -u zabbix -p zabbix < /usr/local/share/zabbix54/server/database/mysql/data.sql
Arrancando el servicio Zabbix Server
Es el momento de activar e iniciar el servidor Zabbix en FreeBSD 12. Para ello en primer lugar habilitamos Zabbix para que inicie automáticamente junto a FreeBSD 12:
~$ sudo service zabbix_server enable
Antes de iniciar el servicio, creamos una configuración por defecto a partir del archivo de muestra proporcionado en los paquetes de Zabbix para FreeBSD 12:
~$ sudo cp /usr/local/etc/zabbix54/zabbix_server.conf.sample /usr/local/etc/zabbix54/zabbix_server.conf
Editaremos este nuevo archivo para realizar algún ajuste necesario:
~$ sudo nano /usr/local/etc/zabbix54/zabbix_server.conf
Y buscamos la directiva DBPassword:
... # DBPassword= ...
Activaremos esta directiva eliminando el carácter # al inicio de línea y asignando el valor de la contraseña para el usuario del servicio de bases de datos que creamos en pasos anteriores:
... DBPassword=XXXXXXXX ...
Guardamos los cambios, cerramos el archivo y a continuación iniciamos Zabbix por vez primera:
~$ sudo service zabbix_server start
El servicio Zabbix ya está funcionando, cosa que podremos comprobar en cualquier momento utilizando el comando service zabbix_server status
:
~$ service zabbix_server status zabbix_server is running as pid 1663.
Cómo instalar Zabbix Frontend en FreeBSD 12
Pasemos ahora a instalar Zabbix Frontend en FreeBSD 12, ya que como este componente se instala en una carpeta bajo /usr/local/www/, en el momento de preparar este tutorial la ruta exacta es /usr/local/www/zabbix54/, esta ruta queda fuera del alcance del servidor web. Por tanto necesitamos crear un alias o un servidor virtual independiente para Zabbix Frontend.
En este tutorial, por simplicidad, haremos funcionar Zabbix con un alias, para lo cual crearemos una configuración específica de Apache:
~$ sudo nano /usr/local/etc/apache24/Includes/zabbix.conf
Con el siguiente contenido:
Alias /zabbix /usr/local/www/zabbix54 <Directory /usr/local/www/zabbix54> Require all granted php_value post_max_size "16M" php_value max_execution_time "300" php_value max_input_time "300" </Directory>
Guardamos los cambios, cerramos el archivo y recargamos el servicio web:
~$ sudo service apache24 reload
Por otro lado debemos dar permisos de escritura al servicio web para que pueda escribir automáticamente el archivo de configuración de Zabbix Frontend durante la instalación:
~$ sudo chown www /usr/local/www/zabbix54/conf/
Para acceder a la instalación de Zabbix Frontend en FreeBSD 12 usaremos un navegador indicando como URL la dirección IP o dominio del servidor y añadiendo la ruta /zabbix (o el alias que corresponda).
En este ejemplo, el servidor FreeBSD 12 es accesible en el dominio freebsd12.local.lan, así que usaremos http://freebsd12.local.lan/zabbix como URL para iniciar la instalación de Zabbix Frontend:
Tras la página de bienvenida, continuamos y pasamos a la comprobación de requisitos del sistema:
Si has seguido los pasos anteriores, todos los requisitos mostrarán «OK» como resultado, por lo que podremos continuar.
El siguiente paso es la configuración de la conexión a la base de datos:
Seleccionamos el servicio de bases de datos que vamos a usar e indicamos el nombre de la base de datos, el usuario y su contraseña tal como los creamos en pasos anteriores.
En la siguiente página debemos configurar la conexión con Zabbix Server:
Como en este ejemplo Zabbix Server y Zabbix Frontend conviven en el mismo servidor FreeBSD 12, dejamos los datos por defecto y continuamos.
Por último, se nos solicitará confirmación de la zona horaria del servidor y podremos elegir el tema para la interfaz web:
Si la zona horaria del servidor y de PHP están correctamente configuradas, no será necesario realizar ningún cambio.
Se mostrará un resumen de la configuración de la instalación
En principio todo debería estar correcto, así que podemos continuar.
Finalmente, se nos informará de que Zabbix Frontend ha sido instalado con éxito y que la configuración ha sido guardada:
Podemos finalizar la instalación e inmediatamente se nos mostrará la página de inicio de sesión:
Para iniciar sesión en Zabbix Frontend en FreeBSD 12 el usuario por defecto es Admin y la contraseña zabbix.
Iniciada la sesión, se mostrará la página principal de Zabbix Frontend, donde podremos apreciar que aparece registrada la propia máquina local como máquina monitorizada:
Y ya podemos trabajar con Zabbix.
Cómo configurar máquinas remotas con Zabbix en FreeBSD 12
La tarea de configurar máquinas remotas con Zabbix en FreeBSD 12 es un proceso muy sencillo, una vez que ya tenemos el servidor Zabbix funcionando y el agente Zabbix configurado en las máquinas remotas. Iniciaremos sesión en Zabbix Frontend y nos dirigiremos a la sección «Configuration / Hosts» donde pulsaremos el botón «Create Host«:
Se abrirá una página con un formulario donde cumplimentar los datos de la máquina remota:
Introduciremos el nombre de dominio de la máquina, el nombre con que queremos que aparezca en Zabbix, seleccionaremos al menos un grupo al que queremos que pertenezca y añadiremos una interfaz en la sección «Interfaces» (mediante el enlace «Add«, no confundir con el botón «Add» del formulario). El tipo de interfaz será «Agent» e indicaremos la dirección IP o nombre DNS de la máquina remota y el método preferido de conexión.
Pasaremos a la solapa «Templates» del formulario:
Con el botón «Select» elegiremos una plantilla que aplicar a la máquina que estamos configurando, en este caso una plantilla especial para FreeBSD. Para ello seleccionamos en «Host group» el grupo «Templates/Operating systems» y dentro de este «FreeBSD«.
Finalmente usaremos el botón «Add» para guardar la configuración de la nueva máquina remota.
Volveremos a la sección «Configuration / Hosts«, y en la parte inferior de la página veremos los datos tanto del servidor Zabbix como de la nueva máquina remota:
Para comprobar el estado de la máquina remota, podemos visitar la sección «Monitoring / Hosts«, pinchamos sobre el nombre de la máquina remota en la lista, de modoe que aparece un menú contextual en el que seleccionaremos «Graphs«. De esta forma accedemos a la página de gráficos de la máquina supervisada:
Conclusión
Ahora que sabes cómo instalar Zabbix en FreeBSD 12, tanto el servidor como el frontend y el agente, ya puedes monitorizar tus máquinas y servidores FreeBSD de forma fácil e intuitiva, gracias a su potente interfaz web.
En caso de dudas, preguntas, sugerencias, notificaciones de errores o posibles mejoras, puedes dejar un comentario.
¡Apoya comoinstalar.me!
¿Ya monitoreas tu red gracias a esta pequeña guía de instalación y configuración? Si es así y te apetece agradecérnoslo, cualquier pequeña aportación ayuda muchísimo al mantenimiento de este sitio y la elaboración de nuevas guías, y puedes hacerlo dejando 1 $ de propina desde PayPal:
¡Gracias!
Actualizado a la versión 5.4.19.