1. Introducción

Checkmk ofrece muchas funciones básicas para la monitorización de tu infraestructura de red y proporciona las métricas correspondientes, como el ancho de banda, la tasa de paquetes o la tasa de errores. También permite la monitorización del estado y la velocidad de las interfaces de red y los umbrales.
Hasta aquí, todo bien. Pero, ¿qué hay de las siguientes preguntas? ¿Quién se está comunicando con tus hosts? ¿Qué puertos de tus hosts se están utilizando? ¿Quién se comunica con más frecuencia, es decir, quiénes son los llamados «top talkers»? ¿Qué aplicaciones se utilizan en la red? ¿Funciona bien mi red y dónde están los cuellos de botella, si los hay? ¿Existen amenazas, por ejemplo, de ataques de denegación de servicio distribuido (DDoS)?
Para obtener respuestas a estas y otras preguntas similares, es necesario un análisis en profundidad de tu red, algo que Checkmk por sí solo no puede hacer. Aquí se necesita un análisis de los flujos de red, es decir, las numerosas relaciones de comunicación que tienen lugar simultáneamente en la red. Un flujo de red se define por el origen y el destino (cada uno determinado por la dirección IP y el puerto) y el protocolo utilizado.
En lugar de añadir funciones de monitorización de red en profundidad a Checkmk y, por lo tanto, reinventar la rueda, hay una solución más elegante: la integración de ntopng en Checkmk.
La integración de ntopng es un complemento disponible para su compra en las ediciones comerciales de Checkmk.
ntopng es un software potente y eficiente en cuanto a recursos para la monitorización y el análisis del tráfico de red en tiempo real, así como de los datos históricos, de modo que puede dar respuesta a las preguntas planteadas anteriormente. ntopng es el núcleo de la solución Open Source para la monitorización del tráfico de red de la empresa ntop. En una solución ntop, los datos suelen recopilarse de los dispositivos a través de módulos de software especiales (nProbe) y reenviarse a ntopng para su análisis.
ntopng está relacionado con Checkmk en más de un sentido: proviene y tiene sus raíces en el mundo del Open Source. ntopng está disponible en una versión gratuita «Community», así como en varias versiones comerciales ampliadas «Professional» y «Enterprise». La interfaz de usuario es web y muestra la información en vistas de tabla y dashboards. Se pueden crear varios usuarios y asignar un rol a cada uno. Se admiten notificaciones basadas en umbrales. Por último, los datos se pueden recuperar de ntopng a través de la API-REST de Checkmk.
La interacción entre los productos implicados se muestra en la siguiente ilustración:

La integración de ntopng amplía así el alcance funcional de Checkmk en dos aspectos importantes: la monitorización del flujo de datos de red y el análisis en profundidad del tráfico de red.
En este contexto, la integración significa lo siguiente en términos concretos:
Checkmk y ntopng se instalan y configuran como sistemas independientes en servidores diferentes. Se recomienda no ejecutar Checkmk y ntopng en el mismo servidor.
Se establece una conexión desde el servidor Checkmk al servidor de ntopng. Aquí, Checkmk se comunica con ntopng a través de su API-REST. Los parámetros de conexión se utilizan para especificar qué datos se recogen de ntopng. La asignación se realiza a través de las cuentas de usuario disponibles en ambos sistemas.
La información de ntopng se muestra en la interfaz de usuario de Checkmk. Por un lado, esto se consigue en nuevos dashboards en los que la información de ntopng se prepara para los usuarios de Checkmk. Por otro lado, los datos de ntopng se pueden integrar en vistas de tabla y dashboards existentes de Checkmk.
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
2. Conexión a ntopng
Para usar la integración de ntopng en Checkmk, necesitas una de las ediciones comerciales de Checkmk con el complemento para la integración de ntopng y una instalación de ntopng en una versión Professional o Enterprise >= 5.6,
con una API-REST v2 a través de la cual se comunican Checkmk y ntopng.
Primero, recopila la siguiente información sobre el sistema de destino de ntopng que quieres conectar a Checkmk. Debes introducir esta información en Checkmk como parámetros de conexión de ntopng:
| Parámetro | Descripción |
|---|---|
Nombre del host |
El nombre o la dirección IP (Host Address) del servidor ntopng. |
Número de puerto |
El número del puerto TCP (Port number) a través del cual se puede acceder a ntopng.
El puerto se especifica al iniciar ntopng.
El valor predeterminado es |
Protocolo |
|
Cuenta de usuario para la autenticación |
Nombre y contraseña de una cuenta de usuario del grupo de usuarios «Administrator» de ntopng (ntopng Admin User).
Checkmk se autentica en el servidor de ntopng utilizando estas credenciales a través de la API-REST.
Por cierto, la cuenta de usuario predeterminada de ntopng se llama |
En Checkmk, empieza a introducir los parámetros de conexión de ntopng en el menú Setup > General > Global settings > Ntopng (chargeable add-on) > Ntopng Connection Parameters (chargeable add-on):

A estas alturas ya habrás obtenido la mayoría de los valores de los parámetros solicitados, por lo que puedes tomarlos de la tabla anterior. Solo tenemos que fijarnos más detenidamente en uno de los parámetros de conexión: ntopng username to aquire data for. Esto determina quién puede ver qué datos de ntopng en Checkmk. Las cuentas de usuario con las que Checkmk se autentica en ntopng y con las que Checkmk recupera datos de ntopng se definen de forma diferente. En las dos secciones siguientes explicamos las opciones y las diferencias resultantes a la hora de recuperar los datos.
La validez de las entradas para la conexión a ntopng no se comprueba al guardar. No recibirás mensajes de error por valores inválidos hasta que se muestre la información de ntopng. Con el primer parámetro de conexión de ntopng, Enable this ntopng instance, puedes desactivar la conexión a ntopng, por ejemplo, si el servidor de ntopng no está disponible temporalmente. |
2.1. Asignaciones fijas de usuarios de Checkmk y ntopng con el mismo nombre
La solución más sencilla es dar a un usuario de Checkmk acceso a la información que ve en ntopng con el mismo nombre de usuario.
Para ello, selecciona el valor Use the Checkmk username as ntopng user name para el parámetro ntopng username to aquire data for. Checkmk utilizará entonces el nombre de usuario actual de Checkmk y recuperará los datos de ntopng con ese nombre.
Para que la recuperación de datos funcione mediante esta asignación, debe existir al menos una cuenta de usuario con el mismo nombre tanto en Checkmk como en ntopng. Mires como lo mires, probablemente será necesario cambiar los nombres de usuario en Checkmk, en ntopng o incluso en ambos sistemas. En el artículo sobre administración de usuarios se explica cómo crear o cambiar un nombre de usuario en Checkmk.
Una vez que hayas activado los cambios, todos los usuarios de Checkmk verán los cambios en la interfaz de usuario de ntopng tal y como se describe en el capítulo sobre la visualización de la información de ntopng, por ejemplo, la ampliación del menú «Monitor». Sin embargo, los datos de ntopng solo serán visibles para aquellos usuarios de Checkmk que tengan una cuenta de usuario en la contraparte de ntopng. Los demás usuarios de Checkmk podrán abrir las páginas específicas de ntopng, pero solo verán páginas en blanco o un mensaje de error indicando que los datos de inicio de sesión son inválidos.
Esta es la opción más sencilla, pero también la menos flexible.
2.2. Asignación flexible de usuarios de Checkmk a usuarios de ntopng
Checkmk y ntopng tienen conceptos similares en la administración de usuarios: ambos sistemas pueden tener varios usuarios y a cada uno se le asigna un rol. En Checkmk, estos roles se denominan, entre otros, «Administrador», «Usuario de monitorización normal» y «Usuario invitado», mientras que ntopng tiene los roles «Administrador» y «Usuario sin privilegios». Estos roles asignados se utilizan —entre otras funciones— para decidir a qué información puede acceder un usuario.
En lugar de la asignación rígida 1:1 descrita anteriormente, tienes la opción de decidir para cada usuario de Checkmk si quieres darle datos de ntopng y, en caso afirmativo, de qué usuario de ntopng debe recibirlos.
Dado que a los usuarios se les asignan roles diferentes en ambos sistemas, puedes controlar con mucha precisión qué contenido de ntopng se permite ver en Checkmk, por ejemplo, así:
No asignes un usuario de ntopng a un «usuario invitado» de Checkmk que no esté interesado en el tráfico de red, de modo que las extensiones de la interfaz de Checkmk específicas de ntopng queden ocultas para este usuario.
Asigna un «Usuario sin privilegios» de ntopng a un «Usuario de monitorización normal» de Checkmk y a un aprendiz de redes.
Asigna un «administrador» de ntopng a un «administrador» de Checkmk y a un experto en redes.
El procedimiento para las asignaciones flexibles es el siguiente:
En la configuración de ntopng (Ntopng Connection Parameters (chargeable add-on)), selecciona para «ntopng username to aquire data for» el valor «Use the ntopng username as configured in the User settings».
Una vez guardada la configuración de conexión de ntopng, aparecerá un nuevo campo en la configuración de cada usuario (Setup > Users > Users) bajo «Identity», por ejemplo, como se muestra a continuación para el usuario cmkadmin:

En el campo ntopng Username, introduce el nombre de usuario de ntopng cuya información se mostrará al usuario actual de Checkmk. Si este campo se deja vacío (que es el valor predeterminado), las extensiones específicas de ntopng de la interfaz de Checkmk se ocultan para el usuario de Checkmk. Por último, activa los cambios.
3. Visualización de la información de ntopng
Una vez cumplidos los requisitos descritos en el capítulo «Conexión a ntopng», ya tendrás acceso a los datos de ntopng en Checkmk. Para ello, inicia sesión en Checkmk con una cuenta de usuario asignada a una cuenta de usuario de ntopng.
A continuación te ofrecemos una vista general de dónde y cómo puedes acceder a la información de ntopng en la interfaz de usuario de Checkmk.
3.1. Estadísticas de red en el menú Monitor

El cambio más notable se encuentra en el menú «Monitor», que contiene el nuevo tema «Network statistics» con entradas para varios dashboards con datos de ntopng, que presentaremos en secciones posteriores.
Pero primero, veamos la información que puedes obtener sobre los hosts de ntopng en Checkmk.
3.2. Vistas de tabla con hosts de ntopng
Checkmk y ntopng no solo gestionan a sus usuarios de forma independiente, sino también a sus hosts. Sin embargo, si un host de Checkmk también está configurado en ntopng, puedes mostrar información específica de ntopng para este host.
En cada vista de tabla de hosts, puedes usar el filtro «Ntopng Host» para crear una visualización de los hosts presentes tanto en Checkmk como en ntopng, así:
En la vista de tabla de hosts (por ejemplo, All hosts), haz clic en «
» Filter en la barra de acciones para abrir la barra de filtros.
En la barra de filtros, primero haz clic en «Add filter» para mostrar los filtros disponibles y luego en «
» para mostrar todos los filtros.
Selecciona el filtro «Ntopng Host» de la lista, configúralo en «yes» y actívalo con «Apply filters».
La vista de tabla mostrará entonces solo los hosts que están tanto en Checkmk como en ntopng:

En el ejemplo anterior, hay dos hosts en común. Un host de ntopng muestra la entrada «Ntop integration of this host» en el menú de acción.
3.3. Estadísticas de red para un host
Para un host de ntopng, haz clic en el elemento de menú de acción «Ntop integration of this host» y aparecerá la página específica del host Network statistics and flows:

La primera línea muestra un resumen de todos los hosts configurados en ntopng, con el número de alertas actuales (Alerts y Flow Alerts).
A continuación, los datos de red del host seleccionado se presentan desde diferentes perspectivas en esta página, en las siguientes pestañas:
Host: Información básica del host y un resumen de la información más importante de las otras pestañas.
Traffic: Información sobre el protocolo de capa 4 (TCP y UDP) con una vista general en forma de gráfico circular y detalles en una tabla.
Packets: Distribución de los indicadores en las conexiones TCP. Los indicadores muestran el estado específico de la conexión o proporcionan información adicional. Los indicadores más utilizados son SYN (sincronización), ACK (Reconocimiento), FIN (fin) y RST (reinicio).
Ports: Estadísticas de tráfico agrupadas por puertos de cliente y servidor
Peers: Una vista general de los pares (es decir, socios) con los que más contacto hay y de las aplicaciones más utilizadas, en forma de gráficos y una tabla. Los elementos gráficos se pueden filtrar haciendo clic en ellos.
Apps: El volumen de tráfico dividido por aplicaciones y resumido por categorías. Las aplicaciones de capa 7 se determinan mediante una inspección profunda de paquetes. En la tabla de aplicaciones, los nombres de las aplicaciones están enlazados y llevan a una página de ntopng con información detallada.
Flows: Tabla de los flujos de datos que tienen el host seleccionado como punto de inicio o de destino. Para más información, consulta la sección Dashboard de flujos.
Engaged alerts , Past alerts , Flow alerts: Tablas de alertas activas, alertas pasadas y alertas de flujo. Para más información, consulta la sección Dashboard de alertas.
En cada pestaña, puedes usar el enlace View data in ntopng para acceder a la página de ntopng asociada, que te llevará a los detalles del host de ntopng.
Consejo: También puedes acceder a la página Network statistics and flows desde las vistas Services of Host y Status of Host seleccionando la pestaña que abre la página. Ambas vistas, cuando se abren para un host de ntopng, muestran el menú ntopng en su barra de menú, que contiene entradas para cada pestaña individual.
3.4. Estado de un host
En la página Network statistics and flows, haz clic en Status of host en la barra de acciones para abrir la vista de tabla Status of Host.
En esta vista de tabla se muestra una amplia variedad de información específica del host en una tabla, que puede ampliarse con entradas específicas de ntopng. Esto mostrará información con la que ya estás familiarizado de algunas de las pestañas de la página «Network statistics and flows»; sin embargo, debido en parte a la falta de espacio, solo se mostrará una selección de esta información.
Para utilizar las entradas específicas de ntopng, debes personalizar esta vista de tabla. En el menú, selecciona «Display > Clone built-in view». En la página «Clone view», las columnas del contenido de la tabla se pueden definir en la caja «Columns».
Puedes añadir las siguientes entradas específicas de ntopng a través de la configuración de la vista (Add column):
Hosts: Ntop hosts details: Muestra la información más importante en la pestaña «Host».
Hosts: Ntop protocol breakdown: Muestra la tabla de registros en la pestaña «Traffic».
Hosts: Ntop ports: Muestra los gráficos circulares de cliente y servidor para la pestaña «Ports».
Hosts: Ntop top peers: Muestra el gráfico circular de la aplicación de la pestaña «Peers».
3.5. Dashboard de alertas
El dashboard de alertas te ofrece una vista general de todas las alertas en ntopng.
Selecciona Monitor > Network statistics > Alerts:

Puedes switchear entre las tablas de alertas con las siguientes pestañas:
Engaged Host: Tabla de alertas de hosts activas. ntopng genera alertas para informar del rebasamiento de los umbrales.
Past Host: Tabla de alertas antiguas que ya no están activas.
Past Flows: Tabla de alertas de flujo, una categoría especial en la que ntopng informa de flujos anormales o sospechosos. Las alertas de flujo siempre están vinculadas a eventos. Se recogen en su propia categoría y no aparecen en las tablas de alertas activas o pasadas.
Cada página muestra un máximo de 20 entradas. Puedes switch a las otras páginas usando los botones de navegación situados a la derecha, encima de la tabla.
En todas las pestañas, hay dos gráficos de barras encima de la tabla con un desglose por fecha y hora, que puedes usar para filtrar la tabla: Arrastra con el ratón para seleccionar un intervalo de tiempo en el gráfico. El filtro definido de esta manera se aplica inmediatamente a la tabla de alertas. Para desactivar el filtro, haz clic fuera de la marca en el gráfico.
Este dashboard tiene una estructura similar a las tres pestañas específicas de alertas de la página Network statistics and flows (consulta la sección Estadísticas de red de un host). |
3.6. Dashboard de flujos
El dashboard «Flows» te ofrece una vista general de los flujos en ntopng. Un flujo es una conexión a través del protocolo de capa 4 entre el punto de inicio y el punto final, cada uno de ellos determinado por una dirección IP y un puerto. Un flujo solo se puede mostrar una vez que se ha completado la transmisión de datos. Por este motivo, la visualización de los flujos siempre es una mirada al pasado, aunque haya sido hace solo unos segundos.
Selecciona «Monitor > Network statistics > Flows»:

La tabla es prácticamente idéntica a la tabla Flows de la interfaz de ntopng.
Este dashboard tiene una estructura similar a la pestaña «Flows» de la página «Network statistics and flows» (consulta la sección «Estadísticas de red para un host»). |
3.7. Dashboard «Top Talkers»
El dashboard «Top Talkers» te muestra en tiempo real qué hosts de ntopng están generando más tráfico de red.
Selecciona «Monitor > Network statistics > Top Talkers»:

En la parte izquierda del dashboard, hay una lista de los «Top Talkers» actuales, ordenados por el volumen de tráfico de datos que están intercambiando. La sección superior muestra los hosts de la red local, la inferior los destinos en redes remotas. Puedes hacer clic en cada host para abrir la página correspondiente de ntopng con los detalles del host.
En los diagramas también obtienes una vista general del tráfico de datos en las aplicaciones (izquierda) y las interfaces de monitorización (derecha), durante la última hora (arriba) y las últimas 24 horas (abajo). Las entradas de la leyenda que se muestra en cada diagrama son clicables y se pueden usar para filtrar los datos.
Este dashboard tiene una estructura similar al Panel de tráfico de la interfaz de ntopng. |
3.8. Dashlets
Los dashboards «Alerts», «Flows» y «Top Talkers» presentados en las secciones anteriores constan cada uno de un solo dashlet.
Al editar un dashboard, puedes usar estos dashlets de ntopng para personalizar los dashboards existentes o crear otros nuevos. Puedes empezar a configurar el dashboard en el menú «Personalizar» con «Visualization > Dashboards». Al editar un dashboard, encontrarás los dashlets de ntopng, así como los demás dashlets, en el menú «Add» de la sección «Ntop».
