Cómo supervisar el estado del servidor con Checkmk 2.0 en Ubuntu 20.04

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

Introducción

Como administrador de sistemas, es mejor conocer el estado actual de su infraestructura y sus servicios. Lo ideal es que detecte los discos defectuosos o los tiempos de inactividad de las aplicaciones antes de que lo hagan los usuarios. Las herramientas de supervisión como Checkmk pueden ayudar a los administradores a detectar estos problemas y mantener los servidores en buen estado.

En general, el software de monitoreo puede rastrear el hardware, el tiempo de actividad y los estados de servicio de sus servidores, y puede generar alertas cuando algo sale mal. En un escenario básico, un sistema de monitoreo lo alertaría si algún servicio deja de funcionar. En un escenario más sólido, las notificaciones llegarían después de que surgiera cualquier signo sospechoso, como un mayor uso de memoria o una cantidad anormal de conexiones TCP.

Muchas soluciones de monitoreo ofrecen distintos grados de complejidad y conjuntos de funciones, tanto gratuitas como comerciales. En muchos casos, instalar, configurar y administrar estas herramientas es difícil y requiere mucho tiempo.

Checkmk es una solución de monitorización robusta y sencilla de instalar. Se trata de un paquete de software autónomo que combina Nagios (un popular servicio de alertas de código abierto) con complementos para recopilar, monitorizar y graficar datos. Checkmk también incluye una interfaz web, una herramienta integral que complementa a Nagios. Ofrece un panel de control, un sistema de notificaciones y un repositorio de agentes de monitorización para muchas distribuciones de Linux. Sin la interfaz web de Checkmk, tendría que utilizar diferentes vistas para distintas tareas. No sería posible configurar todas estas funciones sin recurrir a extensas modificaciones de archivos.

En esta guía, configurará Checkmk en un servidor Ubuntu 20.04 y supervisará dos hosts independientes. Supervisará el servidor Ubuntu y un servidor CentOS 8 independiente, pero podría utilizar el mismo enfoque para agregar cualquier cantidad de hosts adicionales a la configuración de supervisión.

Prerrequisitos

  • Un servidor Ubuntu 20.04 con un usuario normal que no sea root y que tenga privilegios sudo. Puedes preparar tu servidor siguiendo este tutorial de configuración inicial del servidor .
  • Un servidor CentOS 8 con un usuario normal, no root, con privilegios sudo. Para preparar este servidor, puede seguir este tutorial de configuración inicial del servidor .

Paso 1: Instalación de Checkmk en Ubuntu

Para utilizar el sitio de monitoreo, primero debe instalar Checkmk en el servidor Ubuntu. Esta instalación le proporcionará todas las herramientas necesarias. Checkmk proporciona archivos de paquetes oficiales de Ubuntu listos para usar que puede utilizar para instalar el paquete de software.

Primero, actualice la lista de paquetes para que tenga la versión más reciente de los listados del repositorio:

  1. sudo apt update

Para buscar paquetes, vaya al sitio de listado de paquetes . Ubuntu 20.04, entre otros, se puede seleccionar en el menú de la página.

Ahora descargue el paquete:

  1. wget https://download.checkmk.com/checkmk/2.0.0p18/check-mk-raw-2.0.0p18_0.focal_amd64.deb

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

  1. sudo apt install -y ./check-mk-raw-2.0.0p18_0.focal_amd64.deb

Este comando instalará el paquete Checkmk y todas las dependencias necesarias, incluido el servidor web Apache utilizado para proporcionar acceso web a la interfaz de monitoreo.

Una vez finalizada la instalación, ya puedes acceder al omdcomando. Pruébalo:

  1. sudo omd

Este omdcomando generará el siguiente resultado:

OutputUsage (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 omdcomando puede administrar todos los sitios Checkmk en su servidor. Puede iniciar y detener todos los servicios de monitoreo a la vez y lo usará para crear sitios Checkmk. Sin embargo, primero debe actualizar la configuración del firewall para permitir el acceso externo a los puertos web predeterminados.

Paso 2: Ajuste de la configuración del firewall

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

Durante la instalación, Apache se registra en 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:

  1. sudo ufw allow Apache

Ahora verifique los cambios:

  1. sudo ufw status

Verás que Apache figura entre los servicios permitidos:

OutputStatus: activeTo                         Action      From--                         ------      ----OpenSSH                    ALLOW       AnywhereApache                     ALLOW       AnywhereOpenSSH (v6)               ALLOW       Anywhere (v6)Apache (v6)                ALLOW       Anywhere (v6)

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

En el siguiente paso, creará el primer sitio de monitoreo de Checkmk.

Paso 3: Creación de un sitio de monitoreo de Checkmk

Checkmk utiliza el concepto de sitios o instalaciones individuales para aislar varias copias de Checkmk en un servidor. En este paso, configurará su sitio inicial. En la mayoría de los casos, basta con una copia de Checkmk y así es como configurará el software en esta guía.

En primer lugar, dale un nombre al nuevo sitio; en este ejemplo, será monitoring. Para crear el sitio, escribe:

  1. sudo omd create monitoring

La omdherramienta configurará todo automáticamente. El resultado del comando será similar al siguiente:

OutputAdding /opt/omd/sites/monitoring/tmp to /etc/fstab.Creating temporary filesystem /omd/sites/monitoring/tmp...OKUpdating core configuration...Generating configuration for core (type nagios)...Precompiling host checks...OKOKExecuting post-create script "01_create-sample-config.py"...OKRestarting Apache...OKCreated new site monitoring with version 2.0.0p18.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  For command line administration of the site, log in with 'omd su monitoring'.  After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.

En este resultado se resaltan la dirección URL, el nombre de usuario predeterminado y la contraseña para acceder a la interfaz de monitoreo. El sitio ya está creado, pero aún es necesario iniciarlo. Para iniciar el sitio, escriba:

  1. sudo omd start monitoring

Ahora todas las herramientas y servicios necesarios se iniciarán a la vez. Al final, verá un resultado que verifica que todos los servicios se iniciaron correctamente:

OutputTemporary filesystem already mountedStarting mkeventd...OKStarting rrdcached...OKStarting npcd...OKStarting nagios...OKStarting apache...OKStarting redis...OKInitializing Crontab...OK

El sitio está en funcionamiento.

Para acceder al sitio de Checkmk, ábralo en el navegador web. Se le solicitará una contraseña. Utilice las credenciales predeterminadas que se muestran en el resultado anterior; cambiará estas credenciales predeterminadas más adelante.http://your_ubuntu_server_ip/monitoring/

La pantalla de Checkmk se abre con un panel de control que muestra todos los servicios y estados de los servidores en listas y utiliza gráficos prácticos que se asemejan a panales de abejas. Inmediatamente después de la instalación, estos gráficos están vacíos, pero en breve podrá hacer que muestren estados de servicios y sistemas.

El menú de la izquierda, el punto de entrada principal a todas las funciones de Checkmk, se divide en tres pestañas principales. La sección Monitor se refiere a todas las actividades de supervisión diaria y verificación del estado de los servicios. La pestaña Personalizar se utiliza para adaptar la experiencia de la interfaz web a sus preferencias. La pestaña Configuración contiene todas las opciones de configuración. Cada una de las pestañas del menú principal revela submenús completos al hacer clic en ellas.

En el siguiente paso, cambiará la contraseña predeterminada para proteger el sitio mediante esta interfaz.

Paso 4: Cambiar la contraseña administrativa

Checkmk genera una contraseña aleatoria para el cmkadminusuario administrativo durante la instalación. Esta contraseña debe cambiarse durante la instalación y, por lo tanto, suele ser corta y no segura. Puede cambiarla a través de la interfaz web.

En primer lugar, abra la página Usuarios desde el menú Configuración a la izquierda. La lista mostrará todos los usuarios que actualmente tienen acceso al sitio de Checkmk. En una instalación nueva, solo se mostrarán dos usuarios. El primero, automation, está destinado a usarse con herramientas automatizadas; el segundo es el cmkadminusuario que utilizó para iniciar sesión en el sitio.

Haga clic en el icono del lápiz junto al cmkadminusuario para cambiar sus detalles, incluida la contraseña.

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

Después de guardar los cambios haciendo clic en el botón Guardar que se encuentra sobre el formulario, se le solicitará que inicie sesión nuevamente con las nuevas credenciales. Hágalo y regrese al panel de control para aplicar por completo la nueva configuración.

A continuación, abra la página Usuarios desde el menú Configuración a la izquierda. El signo de advertencia naranja en la esquina superior derecha etiquetado como 1 cambio le indica que ha realizado algunos cambios en la configuración de Checkmk y que debe guardarlos y activarlos.

Checkmk guarda inicialmente todos los cambios que realice en un entorno de configuración de sandbox que aún no afecta el monitoreo en curso. Los cambios se reflejan en la configuración de producción después de activarlos. Esto sucederá cada vez que cambie la configuración de su sistema de monitoreo, no solo después de editar las credenciales de un usuario.

Para guardar y activar los cambios pendientes, debe hacer clic en la notificación de advertencia naranja y aceptar activar los cambios enumerados haciendo clic en la opción Activar en sitios seleccionados en la siguiente pantalla.

Después de activar los cambios, los datos del nuevo usuario se escriben en los archivos de configuración y serán utilizados por todos los componentes del sistema. Checkmk se encarga automáticamente de notificar a los componentes individuales del sistema de monitoreo, recargarlos cuando sea necesario y administrar todos los archivos de configuración necesarios.

La instalación de Checkmk ya está lista para usarse. En el siguiente paso, agregará el primer host al sistema de monitoreo.

Paso 5: Monitoreo del primer host

Ahora está listo para monitorear el primer host. Para lograrlo, primero lo instalará check-mk-agenten el servidor Ubuntu. Luego, restringirá el acceso a los datos de monitoreo mediante xinetd.

Los componentes instalados con Checkmk son responsables de recibir, almacenar y presentar la información de monitoreo. No proporcionan la información en sí.

Para recopilar los datos reales, utilizará el agente Checkmk . Diseñado específicamente para esta tarea, un agente Checkmk puede supervisar todos los componentes vitales del sistema a la vez y enviar esa información a la instancia Checkmk.

Instalación del agente

El primer host que supervisará será your_ubuntu_serverel servidor en el que ha instalado la instancia de Checkmk.

Para comenzar, debe instalar el agente Checkmk. Los paquetes para todas las distribuciones principales, incluido Ubuntu, están disponibles directamente desde la interfaz web. Abra la página de Linux en la sección Agentes desde el menú Configuración a la izquierda. Verá las descargas de agentes disponibles con los paquetes más populares en la primera sección denominada Agentes empaquetados .

El paquete es el adecuado para distribuciones basadas en Debian, incluido Ubuntu. Copie el enlace de descarga de ese paquete desde el navegador web y use esa dirección para descargar el paquete:check-mk-agent_2.0.0p18-1_all.deb

  1. wget http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent_2.0.0p18-1_all.deb

Después de descargar, instale el paquete:

  1. sudo apt install -y ./check-mk-agent_2.0.0p18-1_all.deb

Ahora verifique la instalación del agente:

  1. check_mk_agent

El comando generará un bloque de texto largo que parece un galimatías pero que combina toda la información vital sobre el sistema en un solo lugar:

Outputcheck_mkVersion: 2.0.0p18AgentOS: linux...monitoring;2.0.0p18.cre;1local:sep(0)

Checkmk utiliza la salida de este comando para recopilar datos de estado de los hosts monitoreados. Ahora, restringirá el acceso a los datos de monitoreo con xinetd.

Cómo restringir el acceso a los datos de monitoreo mediante xinetd

De manera predeterminada, los datos de check_mk_agentse envían mediante xinetd, un mecanismo que envía los datos a un puerto de red específico al acceder a él. Esto significa que puede acceder a check_mk_agentmediante telnet al puerto 6556(el puerto predeterminado para Checkmk) desde cualquier otra computadora en Internet a menos que la configuración de su firewall lo prohíba.

No es una buena política de seguridad publicar información vital sobre servidores a cualquier persona en Internet. Debe permitir que solo los hosts que ejecutan Checkmk y están bajo su supervisión accedan a estos datos para que solo su sistema de monitoreo pueda recopilarlos.

Si ha seguido la configuración inicial del servidor , incluidos los pasos para configurar un firewall, el acceso al agente Checkmk estará bloqueado de forma predeterminada. Sin embargo, es una buena práctica aplicar estas restricciones de acceso directamente en la configuración del servicio y no depender únicamente del firewall para protegerlo.

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

  1. sudo nano /etc/xinetd.d/check_mk

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

La only_fromconfiguración restringe el acceso a direcciones IP específicas. Dado que ahora está monitoreando el mismo servidor en el que se ejecuta Checkmk, está bien permitir solo localhostla conexión. Quite el comentario y actualice la configuración a:

/etc/xinetd.d/check_mk

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

Guardar y salir del archivo.

Es necesario reiniciar el xinetddemonio para que se apliquen los cambios:

  1. sudo systemctl restart xinetd

Ahora el agente está en funcionamiento y restringido a aceptar solo conexiones locales. Puede continuar configurando la supervisión para ese host mediante Checkmk.

Configuración del host en la interfaz web de Checkmk

Para agregar un nuevo host para monitorear, vaya al menú Hosts en el menú Configuración a la izquierda. Desde aquí, haga clic en Agregar host para monitorear . Se le solicitará información sobre el host.

El nombre de host es el nombre familiar que Checkmk utilizará para la monitorización. Puede ser un nombre de dominio completo, pero no es necesario. En este ejemplo, nombrará el host como monitoring, al igual que el nombre de la instancia de Checkmk. Debido a que monitoringno se puede resolver a la dirección IP, también debe proporcionar la dirección IP de su servidor. Dado que está monitoreando el host local, la IP será simplemente 127.0.0.1. Marque la casilla Dirección IPv4 para habilitar la entrada manual de IP e ingrese 127.0.0.1 en el campo de texto.

La configuración predeterminada de la sección Agentes de monitoreo se basa en el agente Checkmk para proporcionar datos de monitoreo, lo cual está bien y no necesita ningún cambio.

Para guardar el host y configurar qué servicios serán monitoreados, haga clic en el botón Guardar e ir a la configuración del servicio .

Checkmk realizará un inventario automático, lo que significa que recopilará la salida del agente y la descifrará para saber qué tipos de servicios puede monitorear. Todos los servicios disponibles para monitoreo estarán en la lista de servicios no decididos (actualmente no monitoreados) , incluida la carga de CPU, el uso de memoria y el espacio libre en los discos.

Para habilitar el monitoreo de todos los servicios detectados, haga clic en el botón Reparar todo . Esto actualizará la página, pero ahora todos los servicios aparecerán en la sección Servicios monitoreados , lo que le informará que efectivamente están siendo monitoreados.

Al igual que cuando se cambia la contraseña del usuario, estos nuevos cambios deben guardarse y activarse antes de que se publiquen. Haga clic en la notificación de 2 cambios en la parte superior derecha y acepte los cambios utilizando el botón Activar en los sitios seleccionados . Después de eso, el monitoreo del host estará en funcionamiento.

Ahora está listo para trabajar con los datos de su servidor con el panel principal.

Trabajar con datos de monitoreo

Eche un vistazo al panel principal utilizando el elemento Panel principal del menú Monitor a la izquierda:

El panal ahora tiene un borde verde y la tabla indica que hay un host activo sin problemas. Puede ver la lista completa de hosts, que actualmente consta de un solo host, en la vista Todos los hosts del menú Monitor a la izquierda.

Allí verá cuántos servicios están en buen estado (mostrados en verde), cuántos están fallando y cuántos están pendientes de verificación. Haga clic en el nombre del host y 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 solo servicio en relación con lo que Checkmk considera como un buen estado.

Todos los servicios que devuelven datos graficables muestran un icono de gráfico junto a su nombre. Puede utilizar ese icono para acceder a los gráficos asociados con el servicio. Dado que la monitorización del host es reciente, casi no hay nada en los gráficos, pero después de un tiempo, los gráficos proporcionarán información valiosa sobre cómo cambia el rendimiento del servicio con el tiempo.

Cuando alguno de estos servicios falla o se recupera, la información se mostrará en el panel de control. Se mostrará un error rojo para los servicios que fallan y el problema también será visible en el gráfico de panal.

Después de la recuperación, todo se mostrará en verde como funcionando correctamente, pero el registro de eventos a la derecha contendrá información sobre fallas pasadas.

Ahora que ha explorado un poco el panel de control, agregará un segundo host a su instancia de monitoreo.

Paso 6: Monitoreo de un segundo host CentOS

La supervisión resulta más útil cuando se tienen varios hosts. Ahora, agregará un segundo servidor a su instancia de Checkmk, que ejecuta CentOS 8.

Al igual que con el servidor Ubuntu, es necesario instalar el agente Checkmk para recopilar datos de monitoreo en CentOS. Sin embargo, esta vez necesitará un rpmpaquete de la página Linux en la sección Agentes de monitoreo de la pestaña Configuración en la interfaz web, llamado .check-mk-agent-2.0.0p18-1.noarch.rpm

En primer lugar, debes instalar xinetd, que por defecto no está disponible en la instalación de CentOS. Como ya se ha mencionado, xinetd, es un demonio que se encarga de poner a check_mk_agentdisposición de la red los datos de monitorización proporcionados por .

En su servidor CentOS, instale xinetd:

  1. sudo dnf install -y xinetd

Ahora puede descargar e instalar el paquete del agente de monitoreo necesario para el servidor CentOS:

  1. sudo dnf install -y http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent-2.0.0p18-1.noarch.rpm

Al igual que antes, puedes verificar que el agente esté funcionando correctamente ejecutando check_mk_agent:

  1. sudo check_mk_agent

La salida será similar a la del servidor Ubuntu. Ahora restringirá el acceso al agente.

Restringir el acceso

Esta vez no supervisará un host local, por lo que xinetddeberá permitir conexiones provenientes del servidor Ubuntu, donde está instalado Checkmk, para recopilar los datos. Para permitirlo, abra su archivo de configuración:

  1. sudo vi /etc/xinetd.d/check_mk

Aquí verá la configuración de su check_mkservicio, que especifica cómo se puede acceder al agente Checkmk a través del xinetddemonio. Busque las dos líneas comentadas siguientes:

/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 descomente la segunda línea y reemplace 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 :xy luego ENTER.

Reinicie el xinetdservicio usando:

  1. sudo systemctl restart xinetd

Si ha configurado un firewall local después de la configuración inicial del servidor , también debe ajustar la configuración del firewall. De lo contrario, no se permitirán las conexiones al agente Checkmk. Para hacerlo, ejecute:

  1. sudo firewall-cmd --add-port=6556/tcp --permanent

Esto permitiría el tráfico TCP entrante al puerto 6556, que utiliza Checkmk. La configuración se actualizará después de que vuelva a cargar el firewall:

  1. sudo firewall-cmd --reload

Nota: Puede aprender cómo ajustar la configuración del firewall siguiendo la guía Cómo configurar un firewall usando firewalld en CentOS 8 .

Ahora puede proceder a configurar Checkmk para monitorear el host CentOS 8.

Configurando el nuevo host en Checkmk

Para agregar hosts adicionales a Checkmk, use el menú Hosts de la pestaña Configuración como antes. Haga clic en el botón Agregar host para abrir la página Agregar host . Asigne un nombre al host centose ingrese su dirección IP en el campo Dirección IPv4 . Luego, expanda las configuraciones adicionales para la sección Atributos personalizados haciendo clic en la flecha que se encuentra junto al nombre y luego en el enlace Mostrar más en el lado derecho.

Aparecerá la configuración del Segmento de red , que antes era invisible. Haga clic en la casilla de verificación para revelar el menú desplegable y, a continuación, elija la opción WAN (alta latencia), ya que el host de monitorización se encuentra en otra red. De forma predeterminada, Checkmk supone que los servidores monitoreados se encuentran en la red local y espera que sean accesibles con baja latencia. Si omitió esto y dejó el valor local predeterminado, Checkmk le avisará pronto de que el host está inactivo, ya que esperaría que el host responda a las consultas del agente mucho más rápido de lo que es posible a través de Internet.

Haga clic en Guardar e ir a la configuración del servicio , que mostrará los servicios disponibles para la supervisión en el servidor CentOS. La lista será similar a la del primer host. Nuevamente, también debe hacer clic en Reparar todo y luego activar los cambios mediante la notificación naranja en la esquina superior derecha.

Después de activar los cambios, puede verificar que el host esté monitoreado en la página Todos los hosts . Ahora, dos hosts, monitoringy centos, estarán visibles.

Ahora está monitoreando un servidor Ubuntu y un servidor CentOS con Checkmk. Es posible monitorear incluso más hosts. No hay un límite superior, salvo el rendimiento del servidor, lo que no debería ser un problema hasta que la cantidad de hosts sea de cientos. Además, el procedimiento es el mismo para cualquier otro host. Los agentes deby rpmpaquetes de Checkmk funcionan en Ubuntu, CentOS y la mayoría de las demás distribuciones de Linux.

Conclusión

En esta guía, configuró dos servidores con dos distribuciones de Linux diferentes: Ubuntu y CentOS. Luego, instaló y configuró Checkmk para monitorear ambos servidores y exploró la interfaz web de Checkmk.

Checkmk permite configurar un sistema de monitoreo completo, que traslada el proceso de configuración manual a una interfaz web con varias opciones y funciones. Con estas herramientas, puede monitorear múltiples hosts; configurar correos electrónicos, SMS o notificaciones push para detectar problemas; configurar controles adicionales para más servicios; monitorear la accesibilidad y el rendimiento; y más.

Para obtener más información sobre Checkmk, visita la documentación oficial .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio