NetXMS como sistema de monitoreo para los perezosos ... y una pequeña comparación con Zabbix

imagen

0. Introducción


No encontré ningún artículo sobre NetXMS en Habr, aunque realmente busqué. Y solo por esta razón decidí escribir esta creación para prestar atención a este sistema.

Este es un tutorial, y cómo hacerlo, y una descripción general de las capacidades del sistema.

Este artículo contiene un análisis superficial y una descripción de las capacidades del sistema. En lo profundo de la oportunidad, no busqué por varias razones. Y la descripción de toda la funcionalidad llevaría mucho más de un artículo.

Como más o menos solo trabajé con Zabbix, en el artículo este sistema a menudo se mencionará para compararlo con el tema. Además, de alguna manera sucedió que todo se compara con algo generalmente reconocido.

1. ¿Qué y por qué?


El sistema de monitoreo, como se puede ver en la definición, es un sistema que le permite obtener información actualizada sobre cualquier nodo de red \ máquina \ enrutador \ en cualquier momento para ingresar la información que necesita.

Por qué esto es necesario es tan obvio. Para estar al tanto de lo que está sucediendo.

A menudo, un sistema de monitoreo puede proporcionar información muy completa sobre el estado de la infraestructura en su conjunto y sus partes individuales. Además, si configura alertas (y sin ningún tipo de monitoreo, no tiene valor), entonces obtenemos una herramienta seria que nos permite no solo responder a las emergencias de manera oportuna, sino que también, en la mayoría de los casos, hace posible prevenir estos accidentes.

2. ¿Por qué NetXMS?


Un pequeño tema para los amantes de los libros múltiples.
Cuando era joven e inexperto ... Entonces, ¿por lo general comienzan todos los cuentos de hadas? ... En una palabra, cuando era maximalista, estudié el tema de la infraestructura de monitoreo, y el resultado de esos "estudios" fue la conclusión de que no hay nada mejor que Zabbix. Y en ese momento realmente me gustó, porque puede hacer mucho, puede hacer mucho, y su funcionalidad se puede ampliar con guiones autoescritos, por lo que podemos decir que puede hacer cualquier cosa si sus manos crecen en el lugar correcto. Pero Zabbix es una herramienta bastante complicada. Me llevó casi dos semanas resolverlo de alguna manera. Y esta es solo la etapa de implementación. Luego, un par de semanas más para configurar el monitoreo de todo lo que necesitaba. Y cómo usarlo para ver el estado de los puertos en los enrutadores que leí, leí, asusté y decidí que realmente no lo necesitaba ... No, bueno, realmente da miedo para una mente no preparada justo después de la universidad ...

Y después de unos años, habiendo madurado y madurado, decidí que era hora de actualizar mi conocimiento sobre los sistemas de monitoreo. Y finalmente, realice un monitoreo de red normal y estable, ya que este problema se ha vuelto urgente en relación con el crecimiento de segmentos, la conexión de la sucursal y otros detalles. Todo fluye, todo cambia. Y comencé a probar todo tipo de herramientas. Pondré este sistema, lo tocaré, luego uno. Y en todas partes falta algo, en todas partes algo no es así. O la interfaz es inconveniente, entonces estás atormentado por el ajuste y luego algo más. Y luego NetXMS apareció por mí. Por cierto: donde trabajé con Zabbix durante dos semanas, con NetXMS todo salió y pasó en un par de horas. Quizás la experiencia con Zabbix se haya visto afectada, o tal vez el punto esté en NetXMS en sí mismo ... es difícil de decir.

NetXMS resultó ser bastante fácil de instalar y configurar. Tiene versiones del servidor y la consola de administración para Windows y Linux, gráficos, un "navegador" incorporado que le permite conectarse a los mismos enrutadores a través de protocolos http \ https desde la consola de administración, y la interfaz es intuitiva, así como un agente para cualquier sistema operativo. En una palabra, este sistema resultó ser simple y conveniente. A primera vista.

La documentación que tienen, por cierto, es 8 de 10. Las principales cosas se indican en ella, pero para comprender las sutilezas, debe profundizar.

Las principales ventajas indicadas por el desarrollador.
Monitoreo profundo de la red
Detecta, visualiza y busca automáticamente los componentes conectados en los niveles 2 y 3
Soporte completo de SNMPv3
Detección activa con escaneo de "sondas"
Descubrimiento pasivo basado en información de dispositivos monitoreados - ARP y tablas de enrutamiento, interfaces
Monitoreo de aplicaciones y servidores.
Todas las métricas básicas que espera: procesador, sistemas de archivos, E / S, memoria, tráfico.
Puente JMX para monitorear aplicaciones Java
Extensiones específicas de la aplicación: Oracle, MySQL, PostgreSQL, MongoDB, DB2, Tuxedo y muchos otros.
API de integración para aplicaciones nativas
Diseñado para grandes redes.
Un servidor puede rastrear cientos de métricas en miles de dispositivos
Soporte completo para monitoreo distribuido y escalado horizontal
Supervisión de subredes IP superpuestas
Control de acceso flexible para operadores y clientes.

3. Nos adentramos


Cómo instalar el sistema: hay un manual de administración completo disponible en el sitio del desarrollador , y no hay nada complicado, por lo que no me detendré allí. Lo más difícil de instalar es conectar el sistema a la base de datos ... Solo habrá una diferencia al elegir un DBMS y un sistema operativo del servidor. Elegí Windows (en adelante listo para ingresar datos) y MSSQL, ya que ya lo tenía.

3.1. Activa la detección automática


La detección automática de hosts se puede habilitar durante la instalación. Si esto no se hizo por algún motivo, siempre se puede incluir en la "Configuración-Descubrimiento de red" o haciendo clic en el icono con el mismo nombre. Las propiedades de descubrimiento aparecen en el espacio de trabajo. Debe habilitarlo cambiando al modo pasivo o activo, y especificar otras propiedades, por ejemplo, las subredes encuestadas. Aquí puede cerrar los filtros, y puede seleccionar y configurar los sistemas integrados y escribir sus propios scripts. Honestamente, no necesitaba filtros. Pero el entorno parece bastante amigable y claro.

También aquí puede especificar la comunidad SNMP predeterminada y sus credenciales (autorización de lectura).

3.2. Agregar nodos


Cuando la Detección automática está habilitada, los nodos finales (PC, impresoras) se agregarán y distribuirán a través de subredes automáticamente. Con una red activa, las cosas son un poco más complicadas.

Debe comenzar habilitando SNMP en su equipo de red y configurando la comunidad. Si el valor predeterminado para la comunidad SNMP no ha cambiado en las propiedades de autodescubrimiento de los nodos de red, el sistema usa la comunidad pública, y esta configuración se puede cambiar para cada nodo en las propiedades del nodo agregado (nodo).

Por conveniencia, puede agrupar dispositivos de acuerdo con cualquier principio conveniente; para esto, puede crear contenedores en la rama de Servicios de Infraestructura en el árbol y vincular nodos de la Red de Entrada a ellos.

Después de habilitar y configurar SNMP en los enrutadores y agregarlos a la lista de equipos monitoreados, el sistema los contactará, los interrogará, determinará qué dispositivos son, aplicará plantillas, comenzará a recopilar datos y mostrará el panel frontal de cada enrutador. Sí mismo. Fuera de la caja Cuando configuré Zabbix, solo podía soñar con algo así.

imagen

Agregué todas mis glándulas de red manualmente, ya que ellas mismas no aparecieron por alguna razón. Todo es simple aquí. Creamos un contenedor en los Servicios de infraestructura con cualquier nombre conveniente (por ejemplo, conmutadores) y RMB-create-node , especificamos el nombre que se muestra del nodo, su dirección IP y es mejor marcar la casilla "deshabilitar el uso del agente NetXMS", ya que no se puede instalar equipo de red y paquetes adicionales para cualquier cosa.

Navegador incorporado Simplemente puede hacer clic derecho en el enrutador deseado y abrir la interfaz web del dispositivo. Me pareció más conveniente que cada vez subir a sus notas y buscar la IP deseada. Es cierto que el navegador es regular.

3.3. Construyendo un mapa de red


En primer lugar, debe crear un mapa de red como un objeto. Como de costumbre, en la rama Mapa de redes de RMB, cree, seleccione un tipo de mapa, establezca parámetros y el sistema hará todo más.

Los tipos de tarjetas son las siguientes:

  1. Personalizado Esta es una tarjeta diseñada para la formación manual, a petición del usuario.
  2. Topología de capa 2 . Este es un mapa que le permite hacer todo automáticamente para el usuario, basándose en el segundo nivel del modelo OSI (de hecho, crea un mapa basado en las direcciones mac de los dispositivos).
  3. Topología de IP , también conocida como Capa 3 . Al igual que en el caso de la capa 2 , solo el mapa se construye sobre la base del tercer nivel del modelo OSI (direcciones IP).

Al elegir la asignación manual, debe arrastrar los nodos del árbol a la capa del mapa, conectarlos, etc. Dibujo normal

En otros dos casos, debe elegir un punto de referencia desde el cual el sistema comenzará a construir un mapa. Por ejemplo, un nodo de un enrutador. El sistema lee los datos sobre los dispositivos conectados y los puertos a los que están conectados, después de lo cual lee los datos del siguiente enrutador, los compara, etc. Después de analizar todos los dispositivos, el propio NetXMS dibujará las conexiones entre los dispositivos de red indicando los puertos donde está conectado. También es posible especificar que el sistema también debe colocar los dispositivos finales (impresoras, PC, servidores) en la tarjeta, simplemente tocando el elemento correspondiente en las propiedades de la tarjeta ( RMB - propiedades - propiedades de la tarjeta ). También en este párrafo puede establecer el "radio de detección" si lo desea o es necesario.

Una pequeña recomendación Active la propiedad Ajustar siempre a pantalla para que cada vez que actualice el mapa de red no tenga que desplazarse por el espacio de trabajo y trabajar con el zoom.

imagen

Con una topología de red distribuida, puede superponer objetos en un mapa del área. También es posible usar, por ejemplo, una foto de un estante con equipo en la sala de servidores, por ejemplo, superponiendo los objetos necesarios en él. Por lo tanto, puede determinar rápidamente el estado de cualquier dispositivo en el bastidor. En mi opinión, esto es extremadamente útil, si es necesario, para transferir los asuntos a un sucesor o un colega recién llegado para explicar la situación. Visualmente, convenientemente, evidentemente.

3.4. Agentes


Existen agentes para Windows y Linux. El principio de funcionamiento es el mismo que el de los agentes del mismo Zabbix: se instala en la máquina desde la que es necesario tomar métricas y transfiere los datos al servidor de monitoreo. Se puede instalar un agente antes de agregar un nodo al sistema y después. Después de que el agente aparece en el nodo, el sistema comenzará a recibir datos de él después de un tiempo, utilizando la plantilla estándar. Puede agregar parámetros monitoreados tanto para un nodo como adjuntándole una o varias plantillas predefinidas. Se recomienda, por supuesto, trabajar con plantillas, ya que esta configuración es más flexible.

La lista de parámetros monitoreados para agentes es bastante extensa. Vea la lista completa en el Wiki de NetXMS

Tan pronto como el sistema determine que el agente está funcionando en el nodo, lo conectará inmediatamente a una de las plantillas predeterminadas: Windows, Linux, HP-UX, UNIX genérico, AIX , dependiendo del sistema operativo del nodo.

Plantilla estándar para hosts de Windows:

imagen

Puede agregar un parámetro para rastrear un nodo específico haciendo clic en " Parámetro de recopilación de datos RMB ", luego " RMB en el espacio de trabajo - Nuevo parámetro " y seleccione el que necesita de la lista. También puede configurar disparadores para el parámetro monitoreado aquí.

Es importante que los agentes, como Zabbix, puedan ejecutar scripts de usuario.

¿Cómo instalar?
Esto no es un tema, ya que todos ... hmmm ... como él quiera.

Aquí la pregunta es: ¿los agentes deben distribuirse solo a los servidores, o incluso a todas las máquinas de la red? Si hay servidores, y hay pocos, la forma más fácil es a mano. Si mucho - políticas de dominio, KIX, PoSh. Cualquier cosa Los agentes tienen el modificador / SILENT, que les permite "implementarse" de forma transparente para el usuario (si estamos hablando de distribuirlos a todas las máquinas de la red). Prefiero las secuencias de comandos, porque puede establecer una condición y crear un determinado indicador, en contraste con las políticas que colocará el programa cada vez que encienda la PC. Por lo tanto, estamos escribiendo un script de la serie "verifique la presencia del archivo indicador, si no, ejecute el instalador con el modificador / SILENT y luego de la instalación exitosa cree el archivo indicador". Ganancia

3.5. Disparadores


Los activadores se pueden configurar para responder a ciertos eventos en los datos que se recopilan. Por ejemplo, exceder un cierto valor de ping-pong al enrutador. El método de notificación para cada disparador también está configurado (para algunos, el icono en la consola es suficiente, y algunos envían alertas de inmediato siempre que sea posible). La respuesta al evento se selecciona desde la configuración previa en la Configuración de acción.

Para crear un desencadenante: ingrese la Configuración de recopilación de datos del nodo o plantilla, haga doble clic en el parámetro de interés (si no, primero debe crearlo) y vaya a la pestaña Umbrales en las propiedades, haga clic en el botón Agregar.

imagen

" Función ": qué o qué valores tomar para calcular la condición. Puede tomar los siguientes valores (el número de valores utilizados para la verificación se indica en el campo Muestras):
- Último valor sondeado: último valor sondeado
- Valor promedio: valor promedio de la última
- Desviación media: desviación media
- Diferencia con valor anterior: diferencia con valor anterior
- Error de recopilación de datos: error al recibir datos
- Suma de valores: suma de valores
- Script: valor obtenido como resultado del script de usuario

" Operación " - condición de activación del disparador. Puede tomar valores (el valor se indica en el campo Valor correspondiente):
- <: menor que: menor que
- <=: menor o igual que: menor o igual
- == igual a: equivalente
-> =: mayor o igual que: mayor o igual que
->: genial que: más que
-! =: No es igual a: no es equivalente
- como: cerca de
- no como: no cerca de
A expensas de los dos últimos parámetros, no tengo confianza en cómo funcionan. Por lo tanto, ni siquiera asumiré qué límites están integrados en ellos.

En una palabra, todo es igual que en el mismo Zabbix, pero no es necesario ingresar las fórmulas con las manos, temer cometer errores o regañarse a uno mismo. Para restaurar un activador (evento de desactivación), el sistema mismo sustituirá un valor. (En Zabbix, nuevamente, necesita imprimir y no sellar).

3.6. Patrones


RMB-crea una plantilla, ingresa un nombre para la plantilla. RMB-Data Collection Cnfiguration.

Poco de teoría
La información recopilada puede provenir de varias fuentes. Puede ser un agente de NetXMS que se ejecuta en la máquina, puede ser una " solicitud simple " o " interna " enviada por el propio servidor (por ejemplo, el mismo ping), " SNMP ", " punto de verificación SNMP ", " Push ", " Contadores de rendimiento de Windows " , " SM-CLP " o un " script " personalizado. Para cada tipo de información, puede elegir el tipo que el sistema esperará al recibirlo. Por ejemplo, ping devolverá un número entero, la cantidad de espacio libre en disco en bytes también será un número entero, pero la misma temperatura ya no será un número entero, es decir, real).

Para recopilar información a través de SNMP en NetXMS, hay una gran lista de parámetros predefinidos, es decir, no puede ingresar un OID específico, sino encontrarlo en el árbol MIB, lo cual es bastante problemático de hecho ... Pero. Como resultado, debe profundizar en la documentación del fabricante y buscar los valores de IOD para cada dispositivo por separado. Puede perder mucho tiempo configurando la información de lectura de los dispositivos tropezando con un mensaje del sistema NO SOPORTADO , pero al final resulta que este dispositivo en particular simplemente no puede proporcionar la información solicitada. Solo queda fumar manuales y esperanza .

Por ejemplo, para recopilar información sobre el tiempo de respuesta del nodo (ping), debe agregar un nuevo parámetro (nuevo parámetro RMB ), seleccionar Interno en el campo Origen, presionar el botón Seleccionar y seleccionar Tiempo de ping. Hay una búsqueda allí que acabo de soñar en Zabbix. También tiene sentido cambiar el período de sondeo del nodo (por defecto son 60 segundos, es decir, si el enrutador deja de responder inmediatamente después de ser interrogado por el sistema de monitoreo, tomará casi un minuto antes de que el sistema se dé cuenta de que hay algo mal) entonces, y sonará la alarma).

Lista de datos internos que se pueden procesar:

imagen

Una vez que se hayan agregado todas las configuraciones necesarias a la plantilla, haga clic en Aplicar RMB y seleccione todos los nodos a los que se debe aplicar esta plantilla ( ctrl + LMB ). Y eso es todo. Después de eso, aparecerá una rama en el árbol debajo de la plantilla, abriendo la cual puede ver todos los nodos a los que se aplica esta plantilla.

Al separar los nodos de la plantilla, los datos recopilados no dejan de recopilarse; para cancelar su recopilación, debe ir a la Configuración de recopilación de datos para cada nodo y eliminar todo manualmente, o primero eliminar los parámetros de la plantilla y solo luego eliminar los nodos de ella. No sé por qué se hizo de esa manera, pero, en mi opinión, esto es algo extremadamente extraño. Pero ... tal como es.

En la plantilla, puede seleccionar los datos que desea recopilar y copiarlos en otra plantilla. Masivamente. Y no copie y pegue de una plantilla a otra con sus manos ... Ya estoy empezando a odiar a Zabbix ...

3.7. Tableros


Por extraño que parezca, pero el Wiki de NetXMS sobre este tema contiene solo un enlace a YouTube: al crear un Panel , ni siquiera hay una lista y una descripción de los elementos que se pueden agregar al Panel. Básicamente, todo es tan intuitivo allí. La etiqueta es solo ... bueno ... La etiqueta es ... Ni siquiera sé cómo traducirla. En una palabra, un campo con una inscripción se usa para denotar y delimitar elementos, ya que los elementos de los nombres mismos no contienen. Gráfico de líneas es un gráfico de líneas. Bar Chart es un gráfico. Visor de alarmas : una lista de alertas para los nodos seleccionados. En resumen, los nombres hablan por sí mismos.

A continuación, abra las propiedades del panel y configure las vistas. Estamos interesados ​​en la pestaña Elementos del panel. Número de columnas es el número de columnas, elementos que se ubicarán horizontalmente. Cada objeto tiene sus propias propiedades, y recomendaría desmarcar la opción de espacio vertical excesivo Layout-Grab para minimizar el tamaño de cada elemento.

imagen

3.8. Configuración de la acción


(Configuración de configuración de acciones)
En esencia, estas son acciones en respuesta a los desencadenantes.

imagen

NetXMS puede enviar mensajes de correo electrónico, sms, xmpp en respuesta a un disparador. Aquí todo es trivial: solo complete los campos obligatorios.

También puedes:

- Enviar notificación a otro servidor NetXMS
- Ejecute el comando en el servidor de administración NetXMS
- Ejecute el comando en el nodo utilizando el agente de NetXMS
- Ejecute el script NXSL (NSXL es su lenguaje de programación de scripts NetXMS )

Después de crear una acción, puede configurar el tiempo de retraso de ejecución para ella, así como aplicar la macro para ejecutar. El tiempo de retraso es necesario para no molestar al operador en caso de que el problema se resuelva por sí solo (por ejemplo, el tiempo de respuesta a la solicitud de ping fue más largo que el valor especificado, pero durante la próxima verificación puede volver a la normalidad, entonces, ¿por qué molestarse con tales pequeñeces?) .

3.9. Diferenciación de derechos de acceso.


Para cada objeto, puede configurar sus derechos de acceso. Para cada objeto dentro de otro objeto, también puede configurar los derechos de acceso. Esto permite una distribución muy flexible de responsabilidades y capacidades de monitoreo para diferentes grupos de usuarios. Eso es todo lo que quería decir.

4. Conclusión


Me gustaría refutar el título de mi propio artículo. NetXMS no es para los vagos. Es solo que los desarrolladores no se centraron en la funcionalidad, como algunos, pero, además de todo lo demás, también se ocuparon de la interfaz.

Hagámoslo Usé Zabbix y NetXMS. Para esto solo escribiré mis sentimientos de estos dos sistemas.

Entonces

Veo NetXMS como un sistema extremadamente fácil de usar. Bueno ... para el administrador ... sí, para el administrador. Ella tiene lo que se llama una interfaz intuitiva, y es simplemente genial. No es necesario escribir sus propias fórmulas, lea un montón de documentación de respaldo para habilitar la verificación de ping antes del cambio o alguna otra cosa simple. PeroEn Zabbix, esta cosa más simple no es muy diferente de algo realmente complicado, es decir, si lo dominas, entonces harás el resto. NetXMS tiene consejos; la mayoría de los parámetros se pueden encontrar en la interfaz, seleccione con el mouse y configure. En Zabbix, debe averiguar si el sistema puede hacer exactamente eso y esto, y si es así, cómo se escribe y qué parámetros devuelve. Zabbix gana en la comunidad y toneladas de plantillas para todas las ocasiones ... si puede encontrar lo que necesita en esta montaña basura ... Por otro lado, NetXMS también tiene un montón de fanáticos y las adiciones que crearon en este sistema. Y el sistema mismo listo para usar puede monitorear las aplicaciones más populares, como se describe en la página principal del proyecto.

La principal ventaja de NetXMS contra Zabbix para mí fue la capacidad de ejecutar un script en un nodo problemático en respuesta a un desencadenante. La temperatura de la CPU ha subido por encima del umbral, ya que extinguirá el host. Y luego entenderemos cuál es el problema. Quizás en Zabbix tal cosa también está allí, pero no pude. Así como la supervisión de puertos en enrutadores. Y aquí está ... Bueno, tal como está ... Es necesario dominar el lenguaje de secuencias de comandos, y eso es todo ... Los

derechos de acceso en NetXMS le permiten diferenciar de manera muy flexible las capacidades de varios usuarios del sistema. Pero para configurarlo todo, debe jugar directamente.

En general, los sistemas son bastante similares, y sus capacidades, a primera vista, parecen al menos comparables. Aunque parece que Zabbix puede hacer más, estas características se encuentran muy por debajo del capó y para un administrador mortal ordinario, todo en uno es inalcanzable. NetXMS parece simple y claro, amigable y agradable.

Zabbix tiene una excelente documentación, wiki, instrucciones, preguntas frecuentes, mejores prácticas, así como varios foros, etc., donde puede encontrar respuestas a casi todas las preguntas. Y si eso, establece el tuyo.

En resumen, me gustaría recomendar NetXMS para las personas que recién comienzan o para aquellos que no necesitan profundizar en el monitoreo de todo y de todo. Estoy seguro de que si lo trata más a fondo, puede terminar con observaciones muy, muy sutiles.

Pero aún así, la ventaja principal que veo es una interfaz muy agradable y fácil de configurar.

5. Materiales usados


canal de youtube Tomas Kirnak
NetXMS Wiki
Búsqueda de Google

Source: https://habr.com/ru/post/443938/


All Articles