GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar Zabbix en CentOS 7

Zabbix es un software de monitoreo de código abierto con todas las funciones. Zabbix recopila métricas de sus dispositivos, sistemas y aplicaciones de redes y se asegura de que estén en funcionamiento. En caso de cualquier problema, Zabbix enviará alertas de notificación a través de varios métodos.

Zabbix se puede implementar para monitoreo basado en agentes y sin agentes. El agente de Zabbix ocupa poco espacio y puede ejecutarse en varias plataformas, incluidas Linux, UNIX, macOS y Windows.

Este tutorial explica cómo instalar y configurar la última versión de Zabbix 4.0 en un servidor CentOS 7 utilizando MariaDB como back-end de base de datos. También le mostraremos cómo instalar el agente Zabbix en un host remoto y agregar el host al servidor Zabbix.

Requisitos previos #

Deberá iniciar sesión como usuario con acceso sudo para poder instalar paquetes.

Creando base de datos MySQL #

Zabbix es compatible con MySQL/MariaDB y PostgreSQL como servidores de bases de datos. En este tutorial, usaremos MariaDB como back-end de base de datos.

Si no tiene instalado MariaDB en su servidor CentOS, puede instalarlo siguiendo estas instrucciones.

Inicie sesión en el shell de MySQL escribiendo el siguiente comando:

sudo mysql

Desde el shell de MySQL, ejecute el siguiente comando SQL para crear una nueva base de datos:

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

A continuación, cree una cuenta de usuario de MySQL y otorgue acceso a la base de datos:

GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Asegúrate de cambiar change-with-strong-password con una contraseña segura.

Una vez hecho esto, salga de la consola mysql escribiendo:

EXIT;

Instalando Zabbix en CentOS #

Al momento de escribir este artículo, la última versión estable de Zabbix es la versión 4.0. Los paquetes de Zabbix disponibles en los repositorios de CentOS están desactualizados, por lo que utilizaremos el repositorio oficial de Zabbix.

1. Instalando Zabbix #

Descargue el último paquete rpm del repositorio de Zabbix con el siguiente comando wget:

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

Una vez descargado el archivo, agregue el repositorio de Zabbix a su sistema CentOS 7 escribiendo:

sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Instale el servidor Zabbix, la interfaz web compatible con la base de datos MySQL y los paquetes del agente Zabbix:

sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Si Apache y PHP aún no están instalados en su servidor, el comando anterior los instalará.

2. Configuración de PHP para la interfaz de Zabbix #

Durante la instalación, se crea un archivo de configuración de Apache que contiene todas las configuraciones necesarias de Apache y PHP. Solo necesita hacer un pequeño cambio y configurar la zona horaria adecuada.

Abra el archivo de configuración, descomente la línea de zona horaria y cámbiela a su zona horaria. Puede encontrar la lista completa de zonas horarias admitidas por PHP aquí.

/etc/httpd/conf.d/zabbix.conf
...
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Riga
    </IfModule>
...

Una vez hecho esto, guarde el archivo de configuración y reinicie el servicio de Apache para que los cambios surtan efecto:

sudo systemctl restart httpd

3. Configuración de la base de datos MySQL para el servidor Zabbix #

El paquete de instalación de Zabbix proporciona un archivo de volcado que incluye un esquema inicial y datos para el servidor Zabbix con MySQL.

Importe el archivo de volcado de MySQL ejecutando:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Cuando se le solicite, ingrese la contraseña de usuario que creó anteriormente. En caso de éxito, no se proporciona ninguna salida.

A continuación, abra el archivo de configuración de Zabbix en su editor:

sudo nano /etc/zabbix/zabbix_server.conf

Busque la siguiente sección, elimine el comentario de DBPassword directiva y agregue la contraseña de la base de datos.

/etc/zabbix/zabbix_server.conf
...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...

Guarde y cierre el archivo.

Reinicie el servidor Zabbix y los servicios del agente y habilítelos para que se inicien en el arranque del sistema:

sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent

Verifique el estado del servidor Zabbix:

sudo systemctl status zabbix-server

La salida debe mostrar active (running) :

● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
 Main PID: 5558 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
   ...

Instalando y configurando Zabbix Frontend #

La interfaz web de Zabbix está escrita en PHP y nos permite configurar el servidor, ver los datos recopilados y agregar hosts que queremos monitorear.

Antes de comenzar a usar la interfaz web, debemos instalarla.

Abra su navegador favorito y escriba el nombre de dominio de su servidor o la dirección IP pública seguida de /zabbix :

http(s)://your_domain_or_ip_address/zabbix

En la primera pantalla, se le presentará un mensaje de bienvenida. Haz clic en Next step para continuar.

A continuación, verá la siguiente página de información que enumera todos los requisitos previos de PHP necesarios para ejecutar Zabbix Frontend. Todos los valores de esta tabla deben ser OK , desplácese hacia abajo para verificar que todo esté configurado correctamente. Una vez verificado, haz clic en Next step para proceder.

En la siguiente pantalla, el asistente de configuración le pedirá que ingrese los detalles de conexión de su base de datos. Ingrese el usuario de MySQL y los detalles de la base de datos que creó anteriormente.

Introducir un nombre para el servidor es opcional. Ingréselo si tiene más de un servidor de monitoreo Zabbix. Si se proporciona, se mostrará en la barra de menú y en los títulos de las páginas.

Haz clic en Next step para continuar.

En la siguiente pantalla, se le mostrará el resumen de preinstalación.

Haz clic en Next step y una vez que se complete la instalación, accederá a una página que le informará que se instaló la interfaz web de Zabbix. Para acceder a su página de inicio de sesión de Zabbix, haga clic en Finish botón.

El usuario predeterminado es "Admin" y la contraseña es "zabbix". Ingrese el nombre de usuario y la contraseña y haga clic en Log in botón.

Una vez que inicie sesión, será redirigido al panel de administración de Zabbix.

Desde aquí, puede comenzar a personalizar su instalación de Zabbix y agregar nuevos hosts. Su primer paso debe ser cambiar la contraseña actual. Para ello, vaya a la página de perfil de usuario haciendo clic en el icono de perfil en la parte superior de navegación.

Agregando un nuevo host al servidor Zabbix #

El procedimiento para agregar un nuevo host para monitorear el servidor Zabbix incluye dos pasos.

Primero, debe instalar el agente Zabbix en el host remoto y luego agregar el host al servidor Zabbix a través de la interfaz web.

Instalando el agente Zabbix #

Este tutorial asume que la máquina host también usa CentOS 7.

Al igual que cuando instala el servidor Zabbix, ejecute los siguientes comandos para habilitar el repositorio Zabbix:

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpmsudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Instale el paquete del agente Zabbix:

sudo yum install zabbix-agent

Zabbix admite dos métodos para el cifrado de la comunicación servidor-cliente, la clave precompartida (PSK) y el cifrado basado en certificados. En este tutorial, utilizaremos el método de claves previamente compartidas (PSK) para asegurar la conexión entre el servidor y el agente.

Use el siguiente comando para generar una clave precompartida y guardarla en un archivo:

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

La clave PSK se verá así:

fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6

Abra el archivo de configuración del agente Zabbix:

sudo nano /etc/zabbix/zabbix_agentd.conf

Busque el Server Dirección IP y cámbiela del valor predeterminado a la IP de su servidor Zabbix:

/etc/zabbix/zabbix_agentd.conf
...
### 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
...

A continuación, busque el TSLConnect , descoméntelo y configúrelo en psk :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...

Localice el TLSAccept , descoméntelo y configúrelo en psk :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...

A continuación, busque la TLSPSKIdentity , descoméntelo y configúrelo en PSK 001 El valor debe ser una cadena única:

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...

Finalmente, ubique el TLSPSKFile , descoméntelo y configúrelo para que apunte a la clave previamente compartida creada:

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk 
...

Una vez hecho esto, guarde y cierre el archivo.

Inicie el servicio del agente Zabbix y configúrelo para que se inicie en el momento del arranque con:

sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent

A continuación, deberá agregar una regla de firewall que habilite el tráfico desde su servidor Zabbix en el puerto TCP 10050 .

Suponiendo que está utilizando FirewallD para administrar su firewall y desea permitir el acceso desde el 192.168.121.70 dirección IP, ejecutaría el siguiente comando:

sudo firewall-cmd --new-zone=zabbix --permanentsudo firewall-cmd --zone=special --add-source=192.168.121.70/32sudo firewall-cmd --zone=special --add-port=10050/tcp

Configurar un nuevo host #

Ahora que el agente en el host remoto que desea monitorear está instalado y configurado, el siguiente paso es registrar el host en el servidor Zabbix.

Inicie sesión en la interfaz web del servidor Zabbix como usuario administrador:

http(s)://your_domain_or_ip_address/zabbix

Una vez dentro, en la barra de navegación superior haz clic en Configuration y luego Hosts

A continuación, haz clic en el botón azul Create host en la esquina superior derecha de la pantalla y se abrirá la página de configuración del host:

Ingrese el nombre de host y la dirección IP de la máquina host remota que desea monitorear. Agregue el host a uno o varios grupos seleccionando el grupo de la lista, o ingrese un nombre de grupo inexistente para crear uno nuevo. Los Linux Servers grupo es una buena opción.

Una vez hecho esto, haga clic en Templates pestaña. Seleccione la Template OS Linux y haga clic en Add enlace para agregar la plantilla al host.

A continuación, haga clic en Encryption pestaña. Seleccione PSK para ambas Connections to host y Connections from host .

Establecer la PSK identity valor a PSK 001 , el valor de TLSPSKIdentity opción del agente Zabbix que configuró en el paso anterior.

En el PSK value archivado, agregue la clave que generó para el agente Zabbix, la que está almacenada en /etc/zabbix/zabbix_agentd.psk archivo.

Finalmente, para agregar el host, haga clic en el botón azul Agregar button .


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar y configurar Zabbix en Ubuntu 18.04

  3. Cómo instalar y configurar Redis en CentOS 7

  4. Cómo instalar y configurar GitLab en CentOS 7

  5. Cómo instalar y configurar CyberPanel en CentOS 8

Cómo instalar y configurar ISPConfig CP en CentOS 7

Cómo instalar y configurar ownCloud en CentOS 7

Cómo instalar y configurar Samba en CentOS 8

Cómo instalar y configurar Fail2ban en CentOS 8

Cómo instalar y configurar HAproxy en CentOS 6

Cómo instalar Zabbix en CentOS 6