One place for hosting & domains

      monitorizar

      Cómo instalar y configurar Zabbix para monitorizar servidores remotos de forma segura en Ubuntu 20.04


      El autor seleccionó el Computer History Museum para recibir una donación como parte del programa Write for DOnations.

      Introducción

      Zabbix es un software de monitorización de código abierto para redes y aplicaciones. Ofrece monitorización en tiempo real de miles de métricas recogidas de servidores, equipos virtuales, dispositivos de red y aplicaciones web. Estas métricas pueden ayudarle a determinar el estado actual de su infraestructura TI y a detectar problemas con los componentes de hardware o software antes de que los clientes se quejen. La información útil se almacena en una base de datos para que pueda analizar datos a lo largo del tiempo y mejorar la calidad de los servicios proporcionados o planificar mejoras de su equipo.

      Zabbix usa varias opciones para recoger métricas, incluyendo la monitorización sin agente de los servicios del usuario y de la arquitectura cliente-servidor. Para recoger métricas del servidor, utiliza un agente pequeño en el cliente monitorizado para recopilar datos y enviarlos al servidor Zabbix. Zabbix admite la comunicación cifrada entre el servidor y los clientes conectados, de forma que sus datos están protegidos mientras recorren redes inseguras.

      El servidor Zabbix almacena sus datos en una base de datos relacional alimentada con MySQL o PostgreSQL. También puede almacenar datos históricos en bases de datos NoSQL como Elasticsearch y TimescaleDB. Zabbix ofrece una interfaz web para que pueda ver los datos y configurar los ajustes del sistema.

      En este tutorial, configurará Zabbix en dos equipos Ubuntu 20.04. Uno será configurado como el servidor Zabbix y el otro como un cliente que monitorizará. El servidor Zabbix usará una base de datos MySQL para registrar los datos de monitorización y utilizará Nginx para presentar la interfaz web.

      Requisitos previos

      Para seguir este tutorial, necesitará lo siguiente:

      • Dos servidores de Ubuntu 20.04 configurado siguiendo la Guía de configuración inicial del servidor para Ubuntu 20.04, que incluye un usuario no root con privilegios sudo y un firewall configurado con ufw. En un servidor, instalará Zabbix; este tutorial lo llamará servidor Zabbix. Monitorizará su segundo servidor; este segundo servidor se llamará segundo servidor Ubuntu.

      • El servidor que ejecutará el servidor Zabbix necesita tener instalados Nginx, MySQL y PHP. Siga los pasos 1 a 3 de nuestra guía Pila LEMP en Ubuntu 20.04 para configurarlos en su servidor Zabbix.

      • Un nombre de dominio registrado. Para este tutorial, se utilizará your_domain en todo momento. Puede adquirir un nombre de dominio en Namecheap, obtener uno gratuito en Freenom o utilizar un registrador de dominios de su elección.

      • Los dos registros DNS que se indican a continuación se han configurado para su servidor Zabbix. Si está usando DigitalOcean, consulte nuestra documentación DNS para obtener más información sobre cómo añadirlos.

        • Un registro A con your_domain orientado a la dirección IP pública de su servidor Zabbix.
        • Un registro A con www.your_domain orientado a la dirección IP pública de su servidor Zabbix.

      Además, debido a que el Servidor Zabbix se usa para acceder a información valiosa sobre su servidor a la que no quiere que accedan usuarios no autorizados, es importante que mantenga su servidor protegido instalando un certificado TLS o SSL. Esto es opcional, pero se recomienda encarecidamente. Si desea proteger su servidor, siga la guía sobre Let´s Encrypt en Ubuntu 20.04 tras el paso 3 de este tutorial.

      Paso 1: Instalar el servidor Zabbix

      Primero, debe instalar Zabbix en el servidor donde instaló MySQL, Nginx y PHP. Inicie sesión en este equipo como su usuario no root:

      • ssh sammy@zabbix_server_ip_address

      Zabbix está disponible en el administrador de paquetes de Ubuntu, pero está obsoleto, de forma que utilice el repositorio oficial de Zabbix para instalar la última versión estable. Descargue e instale el paquete de configuración del repositorio:

      • wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
      • sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

      Verá lo siguiente:

      Output

      Selecting previously unselected package zabbix-release. (Reading database ... 64058 files and directories currently installed.) Preparing to unpack zabbix-release_5.0-1+focal_all.deb ... Unpacking zabbix-release (1:5.0-1+focal) ... Setting up zabbix-release (1:5.0-1+focal) ...

      Actualice el índice del paquete para que se incluya el nuevo repositorio:

      A continuación, instale el servidor Zabbix y el frontend web con el soporte de la base de datos de MySQL:

      • sudo apt install zabbix-server-mysql zabbix-frontend-php

      Instale también el agente Zabbix, que le permitirá recoger datos sobre el estado del servidor Zabbix.

      • sudo apt install zabbix-agent

      Antes de poder usar Zabbix, tendrá que configurar una base de datos para albergar los datos que el servidor Zabbix recogerá de sus agentes. Puede hacer esto en el siguiente paso.

      Paso 2: Configurar la base de datos MySQL para Zabbix

      Deberá crear una nueva base de datos MySQL y completarla con cierta información básica para hacer que sea adecuada para Zabbix. También creará un usuario específico para esta base de datos de forma que Zabbix no esté iniciando sesión en MySQL con la cuenta root.

      Inicie sesión en MySQL como el usuario root:

      Cree la base de datos Zabbix con compatibilidad de caracteres UTF-8:

      • create database zabbix character set utf8 collate utf8_bin;

      A continuación cree un usuario que el servidor Zabbix usará, proporciónele acceso a la nueva base de datos y establezca la contraseña para el usuario.

      • create user zabbix@localhost identified by 'your_zabbix_mysql_password';
      • grant all privileges on zabbix.* to zabbix@localhost;

      Con esto tendremos el usuario y la base de datos. Salga de la consola de la base de datos.

      A continuación, tendrá que importar el esquema inicial y los datos. La instalación de Zabbix le proporcionó un archivo que configura esto.

      Ejecute el siguiente comando para configurar el esquema e importar los datos a la base de datos zabbix. Utilice zcat ya que los datos en el archivo están comprimidos:

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

      Introduzca la contraseña para el usuario MySQL zabbix que configuró cuando se le pida.

      Este comando puede tardar un minuto o dos en ejecutarse. Si ve el error ERROR 1045 (28000): Access denied for userzabbix@'localhost' (using password: YES), asegúrese de usar la contraseña adecuada para el usuario zabbix.

      Para que el servidor Zabbix utilice esta base de datos, deberá establecer la contraseña de la base de datos en el archivo de configuración del servidor Zabbix. Abra el archivo de configuración en su editor de texto preferido: En este tutorial, se usará nano:

      • sudo nano /etc/zabbix/zabbix_server.conf

      Busque la siguiente sección del archivo:

      /etc/zabbix/zabbix_server.conf

      ...
      ### Option: DBPassword                           
      #       Database password. Ignored for SQLite.   
      #       Comment this line if no password is used.
      #                                                
      # Mandatory: no                                  
      # Default:                                       
      # DBPassword=
      ...
      

      Estos comentarios en el archivo explican cómo conectar con la base de datos. Deberá establecer el valor DBPassword en el archivo a la contraseña para su usuario de la base de datos. Añada esta línea tras esos comentarios para configurar la base de datos:

      /etc/zabbix/zabbix_server.conf

      ...
      DBPassword=your_zabbix_mysql_password
      ...
      

      Guarde y cierre zabbix_server.conf pulsando CTRL+X, seguido de Y y ENTER si está usando nano.

      Ahora ha configurado el servidor Zabbix para que se conecte a la base de datos. A continuación, configurará el servidor web Nginx para presentar el frontend de Zabbix.

      Paso 3: Configurar Nginx para Zabbix

      Para configurar Nginx de forma automática, instale el paquete de configuración automática:

      • sudo apt install zabbix-nginx-conf

      Como resultado, obtendrá el archivo de configuración /etc/zabbix/nginx.conf, así como un enlace a él en el directorio de configuración de Nginx /etc/zabbix/nginx.conf.

      A continuación, debe realizar cambios a este archivo. Abra el archivo de configuración:

      • sudo nano /etc/zabbix/nginx.conf

      El archivo contiene una configuración del bloque de servidor Nginx generada automáticamente. Contiene dos líneas que determinan el nombre del servidor y el puerto en el que está escuchando:

      /etc/zabbix/nginx.conf

      server {
      #        listen          80;
      #        server_name     example.com;
      ...
      

      Borre las dos líneas y sustituya example.com con su nombre de dominio. Sus ajustes tendrán este aspecto:

      /etc/zabbix/nginx.conf

      server {
              listen          80;
              server_name     your_domain;
      ...
      

      Guarde y cierre el archivo. A continuación, compruebe que no haya errores de sintaxis en ninguno de sus archivos de Nginx y vuelva a cargar la configuración:

      • sudo nginx -t
      • sudo nginx -s reload

      Ahora que Nginx está configurado para presentar el frontend de Zabbix, realizará algunas modificaciones a su configuración PHP para que la interfaz web de Zabbix funcione correctamente.

      Nota: Como se indica en la sección de requisitos previos, se le recomienda habilitar SSL o TLS en su servidor. Si desea hacer esto, siga nuestro tutorial de Let´s Encrypt para Ubuntu 20.04 antes de pasar al Paso 4 para obtener un certificado gratuito SSL para Nginx. Este proceso detectará automáticamente el bloque de servidores Zabbix y lo configurará para HTTPS. Una vez que obtenga sus certificados SSL y TLS, puede volver y completar este tutorial.

      Paso 4: Configurar PHP para Zabbix

      La interfaz web Zabbix se escribe en PHP y requiere algunos ajustes especiales del servidor PHP. El proceso de instalación de Zabbix creó un archivo de configuración PHP-FPM que contiene estos ajustes. Está ubicado en el directorio /etc/zabbix y PHP-FPM lo carga automáticamente. Deberá realizar un pequeño cambio a este archivo, de forma que ábralo con lo siguiente:

      • sudo nano /etc/zabbix/php-fpm.conf

      El archivo contiene los ajustes PHP que cumplen con los requisitos necesarios para la interfaz web de Zabbix. Sin embargo, el ajuste de zona horaria está eliminado por defecto. Para asegurar que Zabbix utiliza la hora correcta, deberá establecer la zona horaria apropiada:

      /etc/zabbix/php-fpm.conf

      ...
      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[date.timezone] = Europe/Riga
      

      Borre la línea timezone resaltada en el bloque de código anterior y cámbiela a su zona horaria. Puede usar esta lista de zonas horarias compatibles para encontrar la adecuada para usted. Luego, guarde y cierre el archivo.

      Ahora reinicie PHP-FPM para aplicar esta nueva configuración:

      • sudo systemctl restart php7.4-fpm.service

      Ahora puede iniciar el servidor Zabbix:

      • sudo systemctl start zabbix-server

      A continuación, compruebe si el servidor Zabbix está funcionando correctamente:

      • sudo systemctl status zabbix-server

      Verá el siguiente estado:

      Output

      ● zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2020-06-12 05:59:32 UTC; 36s ago Process: 27026 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ...

      Finalmente, habilite el servidor para que se inicie en el momento del arranque:

      • sudo systemctl enable zabbix-server

      El servidor está configurado y conectado a la base de datos. A continuación, configure el frontend web.

      Paso 5: Configurar los ajustes de la interfaz web de Zabbix

      La interfaz web le permite ver los informes y añadir los hosts que desea monitorizar, pero necesita cierta configuración inicial antes de poder usarla. Abra su servidor y vaya a la dirección http://zabbix_server_name o https://zabbix_server_name si configuró Let´s Encrypt. En la primera pantalla, verá un mensaje de bienvenida. Haga clic en Siguiente paso para continuar.

      En la siguiente pantalla, verá la tabla que enumera todos los requisitos previos para ejecutar Zabbix.

      Requisitos previos

      Todos los valores de esta tabla deben estar en OK, de forma que verifique que así es. Asegúrese de desplazarse hacia abajo y ver todos los requisitos previos. Una vez que haya verificado que todo está listo, haga clic en Siguiente paso para continuar.

      La siguiente pantalla pide información sobre la conexión con la base de datos.

      Conexión con la BBDD

      Le ha hablado al servidor Zabbix sobre su base de datos, pero la interfaz web de Zabbix también necesita acceder a la base de datos para administrar los hosts y leer datos. Por tanto, introduzca las credenciales de MySQL que configuró en el Paso 2. Haga clic en Siguiente paso para continuar.

      En la siguiente pantalla, puede dejar las opciones en sus valores predeterminados.

      Detalles del servidor Zabbix

      El Nombre es opcional; se usa en la interfaz web para distinguir un servidor de otro en caso de que tenga varios servidores de monitorización. Haga clic en Siguiente paso para continuar.

      La siguiente pantalla mostrará el resumen de la preinstalación para que pueda confirmar que todo es correcto.

      Resumen

      Haga clic en Siguiente paso para continuar a la pantalla final.

      Ha finalizado la configuración de la interfaz web. Este proceso crea el archivo de configuración /usr/share/zabbix/conf/zabbix.conf.php, del que podría realizar copias de seguridad para su uso en el futuro. Haga clic en Finalizar para continuar a la pantalla de inicio de sesión. El usuario predeterminado es Admin y la contraseña es zabbix.

      Antes de iniciar sesión, configure el agente Zabbix en su segundo servidor Ubuntu.

      Paso 6: Instalar y configurar el agente Zabbix

      Ahora, deberá configurar el software agente que enviará datos de monitorización al servidor Zabbix.

      Inicie sesión en el segundo servidor Ubuntu:

      • ssh sammy@second_ubuntu_server_ip_address

      Al igual que en el servidor Zabbix, ejecute los siguientes comandos para instalar el paquete de configuración del repositorio:

      • wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
      • sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

      A continuación, actualice el índice del paquete:

      Luego instale el agente Zabbix:

      • sudo apt install zabbix-agent

      Aunque Zabbix es compatible con el cifrado basado en certificados, configurar una autoridad de certificado está fuera del ámbito de este tutorial. Pero puede usar claves precompartidas (PSK) para proteger la conexión entre el servidor y el agente.

      Primero, genere una PSK:

      • sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

      Muestre la clave usando cat para que pueda copiarla en otra parte:

      • cat /etc/zabbix/zabbix_agentd.psk

      La clave tendrá un aspecto similar a este:

      Output

      75ad6cb5e17d244ac8c00c96a1b074d0550b8e7b15d0ab3cde60cd79af280fca

      Guarde esto para más tarde; la necesitará para configurar el host.

      Ahora edite los ajustes del agente Zabbix para configurar su conexión segura al servidor Zabbix. Abra el archivo de configuración en su editor de texto:

      • sudo nano /etc/zabbix/zabbix_agentd.conf

      Cada ajuste en este archivo se documenta a través de comentarios informativos por todo el archivo, pero solo necesitará editar algunos de ellos.

      Primero tendrá que editar la dirección IP del servidor Zabbix. Busque la siguiente sección:

      /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
      ...
      

      Cambie el valor predeterminado a la IP de su servidor Zabbix:

      /etc/zabbix/zabbix_agentd.conf

      ...
      Server=zabbix_server_ip_address
      ...
      

      Por defecto, el servidor Zabbix se conecta con el agente. Pero para algunas comprobaciones (por ejemplo, monitorizar los registros), se requiere una conexión inversa. Para obtener un funcionamiento correcto, deberá especificar la dirección del servidor Zabbix y un nombre de host único.

      Busque la sección que configura las comprobaciones activas y cambie los valores predeterminados:

      /etc/zabbix/zabbix_agentd.conf

      ...
      ##### Active checks related
      
      ### Option: ServerActive
      #       List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks.
      #       If port is not specified, default port is used.
      #       IPv6 addresses must be enclosed in square brackets if port for that host is specified.
      #       If port is not specified, square brackets for IPv6 addresses are optional.
      #       If this parameter is not specified, active checks are disabled.
      #       Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
      #
      # Mandatory: no
      # Default:
      # ServerActive=
      
      ServerActive=zabbix_server_ip_address
      
      ### Option: Hostname
      #       Unique, case sensitive hostname.
      #       Required for active checks and must match hostname as configured on the server.
      #       Value is acquired from HostnameItem if undefined.
      #
      # Mandatory: no
      # Default:
      # Hostname=
      
      Hostname=Second Ubuntu Server
      ...
      

      A continuación, busque la sección que configura la conexión segura con el servidor Zabbix y habilite el soporte con clave precompartida. Busque la sección TLSConnect, que tiene el siguiente aspecto:

      /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=unencrypted
      ...
      

      A continuación añada esta línea para configurar el soporte de clave precompartida:

      /etc/zabbix/zabbix_agentd.conf

      ...
      TLSConnect=psk
      ...
      

      Luego, localice la sección TLSAccept, que tiene el siguiente aspecto:

      /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=unencrypted
      ...
      

      Configure las conexiones entrantes para que admitan las claves precompartidas añadiendo esta línea:

      /etc/zabbix/zabbix_agentd.conf

      ...
      TLSAccept=psk
      ...
      

      Luego, localice la sección TLSPSKIdentity, que tiene el siguiente aspecto:

      /etc/zabbix/zabbix_agentd.conf

      ...
      ### Option: TLSPSKIdentity
      #       Unique, case sensitive string used to identify the pre-shared key.
      #
      # Mandatory: no
      # Default:
      # TLSPSKIdentity=
      ...
      

      Elija un nombre único para identificar su clave precompartida añadiendo esta línea:

      /etc/zabbix/zabbix_agentd.conf

      ...
      TLSPSKIdentity=PSK 001
      ...
      

      Usará esto como el PSK ID cuando añada su host a través de la interfaz web de Zabbix.

      A continuación establezca la opción que apunta a su clave precompartida creada previamente. Busque la opción TLSPSKFile:

      /etc/zabbix/zabbix_agentd.conf

      ...
      ### Option: TLSPSKFile
      #       Full pathname of a file containing the pre-shared key.
      #
      # Mandatory: no
      # Default:
      # TLSPSKFile=
      ...
      

      Añada esta línea para apuntar el agente Zabbix al archivo PSK que ha creado:

      /etc/zabbix/zabbix_agentd.conf

      ...
      TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
      ...
      

      Guarde y cierre el archivo. Ahora puede reiniciar el agente Zabbix y configurarlo para que se inicie en el arranque:

      • sudo systemctl restart zabbix-agent
      • sudo systemctl enable zabbix-agent

      Por seguridad, compruebe que el agente Zabbix se está ejecutando correctamente:

      • sudo systemctl status zabbix-agent

      Verá el siguiente estado, que indica que el agente se está ejecutando:

      Output

      ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-06-12 08:19:54 UTC; 25s ago ...

      El agente escuchará en el puerto 10050 las conexiones del servidor. Configure UFW para permita las conexiones con este puerto:

      Puede obtener más información sobre UFW en Cómo configurar un firewall con UFW en Ubuntu 20.04.

      Su agente está listo para enviar datos al servidor Zabbix. Pero para usarlo, tendrá que vincularlo desde la consola web del servidor. En el siguiente paso, completará la configuración.

      Paso 7: Añadir el nuevo host al servidor Zabbix

      Instalar un agente en un servidor que desea monitorizar es solo la mitad del proceso. Cada host que desee monitorizar debe estar registrado en el servidor Zabbix, lo cual puede hacer a través de la interfaz web.

      Inicie sesión en la interfaz web del servidor Zabbix navegando a la dirección http://zabbix_server_name o https://zabbix_server_name:

      La pantalla de inicio de sesión de Zabbix

      Cuando haya iniciado sesión, haga clic en Configuración y, luego, en Hosts en la barra de navegación izquierda. A continuación haga clic en el botón Crear host en la esquina superior derecha de la pantalla. Esto abrirá la página de configuración del host.

      Crear un host

      Ajuste el Nombre del host y la Dirección IP para reflejar el nombre de host y la dirección IP de su segundo servidor Ubuntu y luego añada el host a un grupo. Puede seleccionar un grupo existente, por ejemplo Servidores Linux o crear su propio grupo. El host puede estar en varios grupos. Para hacer esto, introduzca el nombre de un grupo existente o uno nuevo en el campo Grupos y seleccione el valor deseado de la lista propuesta.

      Antes de añadir el grupo, haga clic en la pestaña Plantillas.

      Añadir una plantilla al host

      Escriba Template OS Linux by Zabbix agent en el campo Buscar y selecciónela de la lista para añadir esta plantilla al host.

      A continuación, navegue a la pestaña Cifrado. Seleccione PSK para Conexiones al host y Conexiones desde el host. A continuación, establezca la identidad PSK a PSK 001, que es el valor del ajuste TLSPSKIdentity del agente Zabbix que configuró previamente. Ahora configure el valor PSK a la clave que generó para el agente Zabbix. Es la almacenada en el archivo /etc/zabbix/zabbix_agentd.psk en el equipo agente.

      Configurar el cifrado

      Finalmente, haga clic en el botón Añadir en la parte inferior del formulario para crear el host.

      Verá su nuevo host en la lista. Espere un minuto y vuelva a cargar la página para ver etiquetas verdes que indican que todo funciona bien y la conexión está cifrada.

      Zabbix muestra su nuevo host

      Si tiene servidores adicionales que desea monitorizar, inicie sesión en cada host, instale el agente Zabbix, genere una PSK, configure el agente y añada el host a la interfaz web siguiendo los mismos pasos que siguió para añadir su primer host.

      El servidor Zabbix está ahora monitorizando su segundo servidor Ubuntu. Ahora, configure notificaciones por correo electrónico para recibir avisos sobre problemas.

      Paso 8: Configurar notificaciones por correo electrónico

      Zabbix admite automáticamente muchos tipos de notificaciones: correo electrónico, OTRS, Slack, Telegram, SMS, etc. Puede ver la lista completa de integraciones en el sitio web de Zabbix.

      Como ejemplo, este tutorial configurará notificaciones para el tipo de medio Correo electrónico.

      Haga clic en Administración, y a continuación en Tipos de medio en la barra de navegación izquierda. Verá la lista de todos los tipos de medios. Existen dos opciones preconfiguradas para correos electrónicos: para la notificación de texto sin formato y para las notificaciones HTML. En este tutorial, usará la notificación de texto sin formato. Haga clic en Correo electrónico.

      Ajuste las opciones SMTP según los ajustes proporcionados por su servicio de correo electrónico. Este tutorial utiliza las capacidades SMTP de Gmail para configurar las notificaciones por correo electrónico; si desea obtener más información sobre cómo configurar esto, consulte Cómo usar el servicio SMTP de Google.

      Nota: Si utiliza la Verificación de 2 pasos con Gmail, deberá generar una contraseña de aplicación para Zabbix. Solo tendrá que introducir una contraseña de aplicación una vez durante la configuración. Encontrará instrucciones sobre cómo generar esta contraseña en el Centro de Ayuda de Google.

      Si está usando Gmail, escriba smtp.gmail.com para el campo Servidor SMTP, 465 para el campo Puerto del servidor SMTP, gmail.com para SMTP helo, y su correo electrónico para Correo electrónico SMTP. Luego seleccione SSL/TLS para Seguridad de la conexión y Nombre de usuario y contraseña para Autenticación. Introduzca su dirección de Gmail como el Nombre de usuario, y la Contraseña de aplicación que generó desde su cuenta de Google como Contraseña.

      Configurar el tipo de medio de correo electrónico

      En la pestaña Plantillas de mensaje, puede ver la lista de mensajes predefinidos para varios tipos de notificaciones. Finalmente, haga clic en el botón Actualizar en la parte inferior del formulario para actualizar los parámetros del correo electrónico.

      Ahora puede probar el envío de notificaciones. Para hacer esto, haga clic en el enlace subrayado Prueba en la línea correspondiente.

      Ahora verá una ventana emergente. Introduzca su dirección de correo electrónico en el campo Enviar a *y haga clic en el botón *Prueba. Verá un mensaje sobre el envío correcto y recibirá un mensaje de prueba.

      Correo electrónico de prueba

      Cierre la ventana emergente haciendo clic en el botón Cancelar.

      Ahora cree un nuevo usuario. Haga clic en Administración y, a continuación, en** Usuarios** en la barra de navegación izquierda. Verá la lista de usuarios. A continuación haga clic en el botón Crear usuario en la esquina superior derecha de la pantalla. Esto abrir la página de configuración del usuario:

      Crear un usuario

      Introduzca el nuevo nombre de usuario en el campo Alias y configure una nueva contraseña. A continuación, añada el usuario al grupo del administrador. Escriba Zabbix administrators en el campo Grupos y selecciónelo desde la lista propuesta.

      Una vez que haya añadido el grupo, haga clic en la pestaña Medios y haga clic en el enlace subrayado Añadir (no el botón Añadir debajo). Ahora verá una ventana emergente.

      Añadir un correo electrónico

      Seleccione la opción Correo electrónico desde el desplegable Tipo. Introduzca su dirección de correo en el campo Enviar a. Puede dejar el resto de las opciones en sus valores predeterminados. Haga clic en el botón Añadir en la parte inferior para enviar.

      Ahora navegue a la pestaña Permisos. Seleccione Zabbix Super Admin desde el menú desplegable Tipo de usuario.

      Finalmente, haga clic en el botón Añadir en la parte inferior del formulario para crear el usuario.

      Nota: Usar la contraseña predeterminada no es seguro. Para cambiar la contraseña del usuario integrado Admin, haga clic en el alias en la lista de usuarios. Luego haga clic en Cambiar contraseña, introduzca una nueva contraseña y confirme los cambios haciendo clic en el botón Actualizar.

      Ahora debe habilitar las notificaciones. Haga clic en la pestaña Configuración y a continuación en Acciones en la barra de navegación izquierda. Verá una acción preconfigurada, que es responsable de enviar notificaciones a todos los administradores Zabbix. Puede revisar y cambiar los ajustes haciendo clic en su nombre. A efectos de este tutorial, utilice los parámetros predeterminados. Para habilitar la acción, haga clic en el enlace rojo Deshabilitado en la columna Estado.

      Ahora está listo para recibir alertas. En el siguiente paso, generará una para probar la configuración de notificaciones.

      Paso 9: Generar una alerta de prueba

      En este paso, generará una alerta de prueba para garantizar que todo está conectado. Por defecto, Zabbix realiza un seguimiento de la cantidad de espacio libre en el disco de su servidor. Detecta automáticamente todos los montajes en disco y añade las comprobaciones correspondientes. Este descubrimiento se ejecuta cada hora, de forma que deberá esperar un poco para que se active la notificación.

      Cree un archivo temporal que sea lo suficientemente grande para activar la alerta de uso del sistema de archivos de Zabbix. Para hacer esto, inicie sesión en su segundo servidor Ubuntu si aún no está conectado:

      • ssh sammy@second_ubuntu_server_ip_address

      A continuación, determine cuánto espacio libre tiene en el servidor. Puede usar el comando df para averiguarlo:

      El comando df informará del uso del espacio en el disco de su sistema de archivos, y -h hará que el resultado sea legible para el ser humano. Verá un resultado como el siguiente:

      Output

      Filesystem Size Used Avail Use% Mounted on /dev/vda1 78G 1.4G 77G 2% /

      En este caso, el espacio libre es 77G. Su espacio libre puede ser diferente.

      Utilice el comando fallocate, que le permite preasignar o desasignar el espacio a un archivo, para crear un archivo que ocupa más del 80 % del espacio disponible en el disco. Esto será suficiente para activar la alerta:

      • fallocate -l 70G /tmp/temp.img

      Tras aproximadamente una hora, Zabbix activará una alerta sobre la cantidad de espacio libre en el disco y ejecutará la acción que configuró, enviando el mensaje de notificación. Puede comprobar su buzón de entrada en busca del mensaje del servidor Zabbix. Verá un mensaje como este:

      Problem started at 09:49:08 on 2020.06.12
      Problem name: /: Disk space is low (used > 80%)
      Host: Second Ubuntu Server
      Severity: Warning
      Operational data: Space used: 71.34 GB of 77.36 GB (92.23 %)
      Original problem ID: 106
      

      También puede navegar a la pestaña Monitorización y luego a Panel de control para ver la notificación y sus detalles.

      Panel de control principal

      Ahora que sabe que las alertas están funcionando, elimine el archivo temporal que creó para que pueda reclamar su espacio en disco:

      Tras un minuto Zabbix enviará un mensaje de recuperación y la alerta desaparecerá del panel de control principal.

      Conclusión

      En este tutorial, ha aprendido a configurar una solución de monitorización sencilla y segura que le ayudará a monitorizar el estado de sus servidores. Ahora puede avisarle si existen problemas, y podrá analizar los procesos que se producen en su infraestructura de TI.

      Para obtener más información sobre cómo configurar una infraestructura de monitorización, consulte nuestra página sobre el tema Monitorización.



      Source link

      Cómo monitorizar el estado del servidor con Checkmk en Ubuntu 18.04


      El autor seleccionó a Open Internet/Free Speech Fund para recibir una donación como parte del programa Write for DOnations.

      Introducción

      Cómo administrador del sistema, es una buena práctica conocer el estado actual de su infraestructura y servicios. Idealmente, querrá darse cuenta de los discos que fallan o los tiempos de inactividad de la aplicación antes de que lo hagan sus usuarios. Las herramientas de monitorización como Checkmk pueden ayudar a los administradores a detectar estos problemas y a mantener los servidores en perfecto estado.

      Generalmente, el software de monitorización puede realizar un seguimiento del hardware de sus servidores, el tiempo de actividad y los estados de servicio, y puede presentar alertas si algo va mal. En un escenario muy básico, un sistema de monitorización le alertaría si algún servicio falla. En uno más robusto, las notificaciones llegarían poco después de que surja cualquier señal sospechosa, como un mayor uso de la memoria o una cantidad anormal de conexiones TCP.

      Existen muchas soluciones de monitorización disponibles que ofrecen varios grados de complejidad y conjuntos de funciones, tanto gratuitas como comerciales. En muchos casos, la instalación, configuración y gestión de estas herramientas es difícil y requieren mucho tiempo.

      Checkmk, sin embargo, es una solución de monitorización robusta y sencilla de instalar. Es un paquete de software autónomo que combina Nagios (un servicio de alertas popular y de código abierto) con complementos para recopilar, monitorizar y realizar gráficos de los datos. También cuenta con la interfaz web de Checkmk, una herramienta integral que aborda muchas de las deficiencias de Nagio. Ofrece un panel de control fácil de usar, un sistema de notificaciones completo y un repositorio de agentes de monitorización fáciles de instalar para muchas distribuciones Linux. Si no fuese por la interfaz web de Checkmk, tendríamos que utilizar diferentes vistas para diferentes tareas y no sería posible configurar todas esas funciones sin recurrir a amplias modificaciones de archivos.

      En esta guía, configuraremos Checkmk en un servidor Ubuntu 18.04 y monitorizaremos dos hosts independientes. Monitorizaremos el servidor Ubuntu también como servidor CentOS 7 independiente, pero podríamos usar el mismo enfoque para añadir cualquier cantidad de hosts adicionales a nuestra configuración de monitorización.

      Requisitos previos

      Paso 1: Instalar Checkmk en Ubuntu

      Para usar nuestro sitio de monitorización, primero debemos instalar Checkmk en el servidor Ubuntu. Esto nos proporcionará las herramientas que necesitamos. Checkmk ofrece archivos de paquete Ubuntu listos para usar que podemos utilizar para instalar nuestro paquete de software.

      Primero, vamos a utilizar la lista de paquetes para tener la versión más reciente de los listados del repositorio:

      Para examinar los paquetes, podemos ir al sitio de listado de paquetes. En el menú de la página puede seleccionarse Ubuntu 18.04 entre otros.

      Ahora, descargue el paquete:

      • wget https://checkmk.com/support/1.6.0p8/check-mk-raw-1.6.0p8_0.bionic_amd64.deb

      A continuación, instale el paquete recién descargado:

      • sudo apt install -y ./check-mk-raw-1.6.0p8_0.bionic_amd64.deb

      Este comando instalará el paquete Checkmk junto con todas las dependencias necesarias, incluyendo el servidor web Apache que se usa para proporcionar acceso web a la interfaz de monitorización.

      Tras completarse la instalación, ahora podemos acceder al comando omd. Pruébelo:

      Este comando omd generará el siguiente resultado:

      Output

      Usage (called as root): omd help Show general help . . . General Options: -V <version> set specific version, useful in combination with update/create omd COMMAND -h, --help show available options of COMMAND

      El comando omd puede gestionar todas las instancias Checkmk en nuestro servidor. Puede iniciar y detener todos los servicios de monitorización a la vez, y podremos utilizarlo para crear nuestra instancia Checkmk. Primero, sin embargo, tenemos que actualizar los ajustes de nuestro firewall para permitir el acceso externo a los puertos web predeterminados.

      Paso 2: Configurar el firewall

      Antes de poder trabajar con Checkmk, es necesario permitir el acceso externo al servidor web en la configuración del firewall. Asumiendo que siguió los pasos de configuración del firewall en los requisitos previos, tendrá un firewall UFW configurado para restringir el acceso a su servidor.

      Durante la instalación, Apache se registra con UFW para proporcionar una forma sencilla de habilitar o deshabilitar el acceso a Apache a través del firewall.

      Para permitir el acceso a Apache, utilice el siguiente comando:

      Ahora, verifique los cambios:

      Verá que Apache está listado entre los servicios permitidos:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

      Esto nos permitirá acceder a la interfaz web de Checkmk.

      En el siguiente paso, crearemos la primera instancia de monitorización de Checkmk.

      Paso 3: Crear una instancia de monitorización de Checkmk

      Checkmk utiliza el concepto de instancias, o instalaciones individuales, para aislar múltiples copias de Checkmk en un servidor. En la mayoría de los casos, una única copia de Checkmk es suficiente y así es como configuraremos el software en esta guía.

      Primero, debemos proporcionar un nombre a nuestra nueva instancia, y usaremos monitoring en este texto Para crear la instancia, escriba:

      • sudo omd create monitoring

      La herramienta omd configurará todo automáticamente. El comando debe tener un aspecto similar al siguiente:

      Output

      Adding /opt/omd/sites/monitoring/tmp to /etc/fstab. Creating temporary filesystem /omd/sites/monitoring/tmp...OK Restarting Apache...OK Created new site monitoring with version 1.6.0p8.cre. The site can be started with omd start monitoring. The default web UI is available at http://your_ubuntu_server/monitoring/ The admin user for the web applications is cmkadmin with password: your-default-password (It can be changed with 'htpasswd -m ~/etc/htpasswd cmkadmin' as site user.) Please do a su - monitoring for administration of this site.

      En este resultado, se resaltarán la dirección URL, nombre predeterminado del usuario y contraseña para acceder a nuestra interfaz de monitorización. La instancia se crea ahora, pero aún debe iniciarse. Para iniciar la instancia, escriba:

      • sudo omd start monitoring

      Ahora, todas las herramientas y servicios necesarios se iniciarán a la vez. Al final, veremos un resultado que verifica que todos nuestros servicios se han iniciado correctamente:

      Output

      Starting mkeventd...OK Starting rrdcached...OK Starting npcd...OK Starting nagios...OK Starting apache...OK Initializing Crontab...OK

      La instancia está lista.

      Para acceder a la instancia Checkmk, abra http://your_ubuntu_server_ip/monitoring/ en el navegador web. Se le solicitará una contraseña. Utilice las credenciales predeterminadas impresas previamente en la pantalla; cambiaremos estos valores predeterminados más adelante.

      La pantalla de Checkmk se abre con un panel de control, que muestra todos nuestros servicios y los estados del servidor en listas, y utiliza gráficos prácticos que se parecen a la Tierra. Justo después de la instalación, estos están vacíos, pero pronto se mostrarán estados para nuestros servicios y sistemas.

      Panel de control en blanco de Checkmk

      En el siguiente paso, cambiaremos la contraseña predeterminada para proteger el sitio usando esta interfaz.

      Paso 4: Cambiar su contraseña administrativa

      Durante la instalación, Checkmk genera una contraseña aleatoria para el usuario administrativo cmkadmin. Esta contraseña debe cambiarse tras la instalación, y como tal, a menudo es corta y no muy segura. Podemos cambiar esto a través de la interfaz web.

      Primero, abra la página Users desde el menú WATO – Configuration a la izquierda. La lista mostrará todos los usuarios que actualmente tiene acceso al sitio de Checkmk. En una nueva instalación, listará solo dos usuarios. El primero, automation, está destinado a ser usado con herramientas automatizadas; el segundo es el usuario cmkadmin, que usamos para iniciar sesión en el sitio.

      Lista de usuarios Checkmk

      Haga clic en el icono de lápiz junto al usuario cmkadmin para cambiar sus detalles, incluyendo la contraseña.

      Formulario de edición para el usuario admin de Checkmk

      Actualice la contraseña, añada un correo electrónico de administrador y realice cualquier otro cambio que quiera.

      Tras guardar los cambios, nos solicitará que iniciemos sesión de nuevo con nuestras nuevas credenciales. Haga esto y vuelva al panel de control, donde hay una cosa más que debemos hacer para aplicar por completo nuestra nueva configuración.

      De nuevo, abra la página Users desde el menú WATO – Configuration a la izquierda. El botón naranja en la esquina superior derecha etiquetado como 1 Change nos indica que hemos realizado algunos cambios a la configuración de Checkmk, y que debemos guardarlos y activarlos. Esto sucederá cada vez que cambiemos la configuración de nuestro sistema de monitorización, no solo tras editar las credenciales del usuario. Para guardar y activar los cambios pendientes, debemos hacer clic en este botón y aceptar activar los cambios enumerados usando la opción Activate affected en la siguiente pantalla.

      Lista de usuarios de Checkmk tras las modificaciones Activar la pantalla de configuración en los cambios de configuración Cambios de configuración activados correctamente

      Tras activar los cambios los datos del nuevo usuario se escriben en los archivos de configuración serán usados por todos los componentes del sistema. Checkmk notifica automáticamente a los componentes individuales del sistema de monitorización, recargándolos cuando sea necesario y administrando todos los archivos de configuración necesarios.

      La instalación de Chekmk ahora está lista para usarse. En el siguiente paso, añadiremos el primer host a nuestro sistema de monitorización.

      Paso 5: Monitorizar el primer host

      Ahora estamos listos para monitorizar el primer host. Para conseguir esto, primero instalaremos check-mk-agent en el servidor Ubuntu. A continuación, restringiremos el acceso a los datos de monitorización usando xinetd.

      Los componentes instalados con Checkmk se encargan de recibir, almacenar y presentar la información de monitorización. No proporcionan información en sí mismos.

      Para recopilar datos reales, usaremos el agente de Checkmk. Diseñado específicamente para este trabajo, el agente de Checkmk es capaz de monitorizar todos los componentes vitales del sistema a la vez y de reportar esa información a la instancia de Checkmk.

      Instalar el agente

      El primer host que monitorizaremos será your_ubuntu_server, el servidor sobre el cual hemos instalado la instancia Checkmk.

      Para comenzar, debemos instalar el agente de Checkmk. Los paquetes para todas las distribuciones principales, incluyendo Ubuntu, están disponibles directamente desde la interfaz web. Abra la página Monitoring Agents desde el menú WATO – Configuration a la izquierda. Verá las descargas de agente disponibles con los paquetes más populares bajo la primera sección, etiquetada como Packaged agents.

      Lista de agentes de monitorización empaquetados disponibles

      El paquete check-mk-agent_1.6.0p8-18_all.ded es el adecuado para las distribuciones basadas en Debian, incluyendo Ubuntu. Copie el enlace de descarga para ese paquete desde el navegador web y utilice esa dirección para descargar el paquete.

      • wget http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent_1.6.0p8-1_all.deb

      Tras su descarga, instale el paquete:

      • apt install -y ./check-mk-agent_1.6.0p8-1_all.deb

      Ahora, verifique que el agente se ha instalado correctamente:

      El comando generará un texto muy largo que parece un texto sin sentido, pero combina toda la información vital sobre el sistema en un solo lugar.

      Output

      <<<check_mk>>> Version: 1.6.0p8 AgentOS: linux . . . ["monitoring"] <<<job>>> <<<local>>>

      Checkmk utiliza el resultado de este comando para recopilar datos de esto desde los hosts monitorizados. Ahora, restringiremos el acceso a los datos de monitorización usando xinetd.

      Restringir el acceso a los datos de monitorización utilizando xinetd

      Por defecto, los datos de check_mk_agent se presentan usando xinetd, un mecanismo que genera datos sobre un cierto puerto de red tras acceder a él. Esto significa que podemos acceder a chek_mk_agent usando telnet al puerto 6556 (el puerto predeterminado para Checkmk) desde cualquier otro equipo en Internet a menos que la configuración de nuestro firewall no lo permita.

      No es una buena política de seguridad publicar información vital sobre los servidores a nadie en Internet. Solo deberíamos permitir a los hosts que ejecuten Checkmk y estén bajo supervisión acceder a estos datos, de forma que solo nuestro sistema de monitorización pueda recopilarlos.

      Si siguió el tutorial de configuración inicial del servidor, incluyendo los pasos sobre cómo configurar un firewall, el acceso al agente Checkmk está bloqueado por defecto. Sin embargo, es una buena práctica aplicar estas restricciones de acceso directamente en la configuración del servicio, y no depender únicamente de un firewall para su protección.

      Para restringir el acceso a los datos del agente, tenemos que editar el archivo de configuración en /etc/xinetd.d/check_mk. Abra el archivo de configuración en su editor favorito. Para utilizar nano, escriba:

      • sudo nano /etc/xinetd.d/check_mk

      Localice esta sección:

      /etc/xinetd.d/check_mk

      . . .
      # configure the IP address(es) of your Nagios server here:
      #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2
      . . .
      

      El ajuste only_from se encarga de restringir el acceso a ciertas direcciones IP. Debido a que ahora estamos trabajando en monitorizar el mismo servidor sobre el que Checkmk se está ejecutando, está bien permitir que localhost se conecte. Elimine y actualice el ajuste de configuración a:

      /etc/xinetd.d/check_mk

      . . .
      # configure the IP address(es) of your Nagios server here:
      only_from      = 127.0.0.1
      . . .
      

      Guarde el archivo y ciérrelo.

      El daemon xinetd debe reiniciarse para que los cambios surtan efecto. Hágalo ahora:

      • sudo systemctl restart xinetd

      Ahora, nuestro agente está en funcionamiento y restringido para aceptar solo las conexiones locales. Podemos proceder a configurar la monitorización para ese host usando Checkmk.

      Configurar el host en la interfaz web de Checkmk

      Primero, para añadir un nuevo host a monitorizar tenemos que ir al menú Hosts en el menú WATO – Configuration a la izquierda. Desde aquí, haga clic en Create new host. Se nos solicitará cierta información sobre el host.

      Creación de un nuevo host en Checkmk

      El Hostname es el nombre familiar que Checkmk usará para la monitorización. Puede ser un nombre de dominio completamente cualificado, pero no es necesario. En este ejemplo, llamaremos al host monitoring, igual que el nombre de la instancia Checkmk. Debido a que monitoring no se resuelve a nuestra dirección IP, también debemos proporcionar la dirección IP de nuestro servidor. Y ya que estamos monitorizando el host local, la IP será simplemente 127.0.0.1. Seleccione la casilla IPv4 Address para habilitar la entrada manual de la IP e introduzca el valor en el campo de texto.

      La configuración predeterminada de la sección Data Sources depende del agente Checkmk para proporcionar los datos de monitorización, lo que está bien. El ajuste Networking Segment se usa para indicar los hosts en las redes remotas, que se caracterizan por una mayor latencia esperada, lo cual no es una señal de mal funcionamiento. Ya que este es un host local, el ajuste predeterminado también está bien.

      Para guardar el host y configurar qué servicios se monitorizarán, haga clic en el botón Save & go to services.

      Lista de servicios disponibles para monitorizar

      Checkmk realizará un inventario automático. Eso significa que recopilará el resultado del agente y lo descifrará para saber qué tipos de servicios puede monitorizar. Todos los servicios disponibles para la monitorización estarán en la lista, incluyendo carga de CPU, uso de memoria y espacio libre en los discos.

      Para habilitar la monitorización de todos los servicios descubiertos, debemos hacer clic en el botón Monitor bajo la sección Undecided services (currently not monitored). Esto actualizará la página, pero ahora todos los servicios se listarán bajo la sección Monitored services, informándonos de que están siendo monitorizados.

      Igual que cuando cambiamos nuestra contraseña de usuario, estos nuevos cambios deben guardarse y activarse antes de que estén activos. Pulse el botón 2 changes y acepte lo cambios usando el botón Activate affected. Tras esto, la monitorización del host estará lista.

      Ahora está listo para trabajar con los datos de su servidor. Eche un vistazo al panel de control principal utilizando el elemento de menú Overview/Main Overview (Información/Información principal) a la izquierda.

      Trabajar con los datos de la monitorización

      Ahora, vamos a ver el panel de control principal usando el menú Overview/Main Overview a la izquierda:

      Panel de control de la monitorización con todos los servicios en buen estado

      La esfera de la Tierra está completamente verde y la tabla dice que un host está activo sin problemas. Podemos ver la lista completa de hosts, que ahora consta de un único host, en la vista Hosts/All hosts (usando el menú de la izquierda).

      Lista de los hosts con todos los servicios en buen estado

      Ahí veremos cuántos servicios están en buen estado (en verde), cuántos están fallando y cuántos deben comprobarse aún. Tras hacer clic en el nombre del host, podremos ver la lista de todos los servicios con sus estados completos y sus Perf-O-Meters. El Perf-O-Meter muestra el rendimiento de un único servicio en relación con lo que Checkmk considera que es un buen estado.

      Detalles del estado de un servicio de host

      Todos los servicios que devuelven datos que pueden ponerse en un gráfico mostrarán un icono de gráfico junto a su nombre. Podemos utilizar ese ícono para obtener acceso a los gráficos asociados con el servicio. Ya que la monitorización del host es nueva, los gráficos no tienen casi nada, pero, tras algún tiempo, los gráficos proporcionarán información valiosa sobre cómo cambia el rendimiento de nuestro servicio a lo largo del tiempo.

      Gráficos que representan la carga en la CPU del servidor

      Cuando cualquiera de estos servicios falle o se recupere, la información se mostrará en el panel de control. Para los servicios que fallan, se mostrará un error en rojo, y el problema también estará visible en el gráfico de la Tierra.

      Panel de control con un host con problemas

      Tras la recuperación, todo se mostrarán en verde, lo que indica un buen funcionamiento, pero el registro de eventos de la derecha contendrá información sobre fallos anteriores.

      Panel de control con un host recuperado tras presentar problemas

      Ahora que hemos explorado el panel de control, vamos a añadir un segundo host a nuestra instancia de monitorización.

      Paso 6: Monitorizar un segundo host CentOS

      La monitorización es realmente útil cuando tiene varios hosts. Ahora añadiremos un segundo servidor a nuestra instancia Checkmk, esta vez ejecutando CentOS 7.

      Al igual que con nuestro servidor Ubuntu, es necesario instalar el agente Checkmk para recopilar datos de monitorización en CentOS. Esta vez, sin embargo, necesitaremos un paquete rpm desde la página Monitoring Agentes en la interfaz web, llamado check-mk-agent-1.6.0p8-1.noarch.rpm.

      Primero, sin embargo, debemos instalar xinetd, que por defecto no está disponible en la instalación CentOS. Xinetd, como recordará, es un daemon responsable de poner a disposición sobre la red los datos de monitorización proporcionados por check_mk_agent.

      En su servidor CentOS, primero instale xinetd:

      • sudo yum install -y xinetd

      Ahora podemos descargar e instalar el paquete del agente de monitorización necesario para nuestro servidor CentOS:

      • sudo yum install -y http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent-1.6.0p8-1.noarch.rpm

      Igual que antes, podemos verificar que el agente funciona correctamente ejecutando check_mk_agent:

      El resultado será similar al del servidor Ubuntu. Ahora, restringiremos el acceso al agente.

      Restringir el acceso

      Esta vez no monitorizaremos un host local, de forma que xinetd debe permitir las conexiones que provienen del servidor Ubuntu, donde Checkmk está instalado, para recopilar los datos. Para permitir esto, primero abra su archivo de configuración:

      • sudo vi /etc/xinetd.d/check_mk

      Aquí verá la configuración para su servicio check_mk, especificando cómo se puede acceder al agente Checkmk a través del daemon xinetd. Busque las siguientes dos líneas comentadas:

      /etc/xinetd.d/check_mk

      . . .
      # configure the IP address(es) of your Nagios server here:
      #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2
      . . .
      

      Ahora, elimine la segunda línea y sustituya las direcciones IP locales con your_ubuntu_server_ip:

      /etc/xinetd.d/check_mk

      . . .
      # configure the IP address(es) of your Nagios server here:
      only_from      = your_ubuntu_server_ip
      . . .
      

      Guarde y salga del archivo escribiendo :x y luego ENTER. Reinicie el servicio xinetd usando:

      • sudo systemctl restart xinetd

      Ahora podemos configurar Checkmk para que monitorice nuestro host CentOS 7.

      Configurar un nuevo host en Checkmk

      Para añadir hosts adicionales a Checkmk, usamos el menú Hosts como hicimos antes. Esta vez, llamaremos al host centos, configuraremos su dirección IP, y seleccionaremos WAN (high-latency) bajo la casilla de selección Networking Segment, ya que el host está en otra red. Si omitimos esto y lo dejamos como local, Checkmk pronto nos alertará de que el host está desconectado, ya que esperaría que respondiese a las consultas del agente mucho más rápido de lo que es posible por Internet.

      Crear la pantalla de configuración del segundo host

      Haga clic en Save & go to services, lo que mostrará los servicios disponibles para monitorizar sobre el servidor CentOS. La lista será muy similar a la del primer host. De nuevo, esta vez debemos hacer clic en Monitor y, luego, activar los cambios utilizando el botón naranja en la esquina superior izquierda.

      Tras activar los cambios, podemos verificar que el host está siendo monitorizado en la página All hosts. Vaya allí. Ahora estarán visibles dos hosts, monitoring y centos.

      Lista de hosts con dos hosts monitorizados

      Ahora está monitorizando un servidor Ubuntu y un servidor CentOS con Checkmk. Es posible monitorizar aún más hosts. De hecho, no hay un límite aparte del rendimiento del servidor, que no debería ser un problema hasta que su número de hosts sea de cientos. Además, el procedimiento es el mismo para cualquier otro host. Los agentes Checkmk en los paquetes deb y rpm funcionan en Ubuntu, CentOS y en la mayoría de las otras distribuciones Linux.

      Conclusión

      En esta guía hemos configurado dos servidores con dos distribuciones Linux diferentes: Ubuntu y CentOS. A continuación, instalamos y configuramos Checkmk para monitorizar ambos servidores, y exploramos la potente interfaz web de Checkmk.

      Checkmk permite configurar fácilmente un sistema de monitorización completo y versátil, que empaqueta todo el difícil trabajo de la configuración manual en una interfaz web fácil de usar con múltiples opciones y funciones. Con estas herramientas es posible monitorizar múltiples hosts; configurar correo electrónico, SMS o notificaciones push cuando se produzcan problemas; configurar comprobaciones adicionales para más servicios; monitorizar la accesibilidad y el rendimiento, etcétera.

      Para obtener más información sobre Checkmk, asegúrese de visitar la documentación oficial.



      Source link