
0. Introducción
No encontré un solo artículo sobre NetXMS en Habré, aunque lo estaba buscando. Y solo por eso 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 superficial de las capacidades del sistema.
Este artículo contiene un análisis superficial y una descripción de las capacidades del sistema. No profundicé en las posibilidades por varias razones. Y la descripción de toda la funcionalidad tomaría mucho de un artículo.
Dado que más o menos trabajé solo con Zabbix, este sistema en particular se mencionará a menudo en el artículo 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 en cualquier nodo de la red, máquina enrutadora e ingresar la información necesaria en cualquier momento.
Por qué esto es necesario es igual de obvio. Ser consciente de lo que está pasando.
A menudo, el sistema de seguimiento puede proporcionar información muy completa sobre el estado de la infraestructura en su conjunto y de sus partes individuales. Además, si configura alertas (y sin ellas, cualquier monitoreo es inútil), entonces en la salida obtenemos una herramienta seria que nos permite no solo responder de manera oportuna a las emergencias que ya han ocurrido, pero también, en la mayoría casos, permite prevenir estos accidentes.
2. ¿Por qué NetXMS?
Un poco fuera de tema para aquellos a los que les gustan los múltiples sujetalibros.Cuando yo era joven e inexperto... ¿Así es como suelen empezar todos los cuentos de hadas?... En una palabra, cuando yo era un maximalista, estudié el tema del monitoreo de infraestructura, y el resultado de esas "investigaciones" fue la conclusión de que no hay nada mejor que Zabbix. Y en ese momento me gustó mucho, porque puede hacer mucho, puede hacer mucho, y su funcionalidad se puede expandir con guiones escritos por él mismo, entonces podemos decir que puede hacer todo si sus manos crecen desde la derecha. lugar. Pero Zabbix es una herramienta bastante compleja. Me tomó casi dos semanas llegar al fondo del asunto. Y esto es sólo la etapa de implementación. Luego, otro par de semanas para configurar el monitoreo de todo lo que necesitaba. Y cómo usarlo para ver el estado de los puertos en los enrutadores, leí y leí, me asusté y decidí que realmente no lo necesitaba ... No, bueno, es realmente aterrador para una mente no preparada justo después del instituto...
Y ahora, unos años después, habiendo madurado y madurado, decidí que era hora de refrescar mis conocimientos sobre los sistemas de monitoreo. Y finalmente, hacer un seguimiento normal y estable de la red, ya que este problema se ha vuelto relevante debido al crecimiento de los segmentos, la conexión de una sucursal y otras bagatelas. Todo fluye, todo cambia. Y comencé a probar todo tipo de herramientas. Instalaré este sistema, lo tocaré, luego ese. Y en todas partes falta algo, en todas partes algo no es de su agrado. O la interfaz es inconveniente, entonces te atormenta configurarlo, luego algo más. Y luego apareció NetXMS para mí. Por cierto: donde traté con Zabbix durante dos semanas, con NetXMS todo fue y fue en un par de horas. Quizá afectó la experiencia con Zabbix, o quizá el asunto esté en el propio NetXMS… es difícil de decir.
NetXMS resultó ser un sistema bastante fácil de instalar y configurar. Tiene versiones de servidor y consola de administración para ambos Windows y bajo LinuxGeneración de gráficos, un navegador integrado que permite conectarse a los mismos enrutadores mediante protocolos HTTP/HTTPS desde la consola de administración, una interfaz intuitiva y un agente para cualquier sistema operativo. En resumen, este sistema resultó ser simple y práctico. A primera vista.
Su documentación, por cierto, es 8 de 10. Las cosas principales se indican en él, pero para profundizar en las sutilezas, debe profundizar más.
Las principales ventajas indicadas por el desarrollador.Supervisión profunda de la red
Detección, visualización y búsqueda automática de componentes conectados a nivel 2 y 3
Compatibilidad total con SNMPv3
Detección activa con escaneo de "sondas"
Descubrimiento pasivo basado en información de dispositivos monitoreados - ARP y tablas de enrutamiento, interfaces
Supervisión de aplicaciones y servidores
Todas las métricas principales que esperaría: CPU, 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 muchas más
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 escalamiento horizontal
Supervisión de subredes IP superpuestas
Control de acceso flexible para operadores y clientes
3. Profundizando
Cómo instalar el sistema: hay un todo administrador disponible en y no tiene nada de complicado, así que no me detendré en ello. La parte más difícil de la instalación es conectar el sistema a la base de datos... La única diferencia aquí es la elección del SGBD y el sistema operativo del servidor. Elegí Windows (siguiente-siguiente-introducir datos-listo) y MSSQL, ya que ya lo tenía instalado.
3.1. Activar 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 alguna razón, entonces siempre se puede incluir en "Configuración-Descubrimiento de red" o haciendo clic en el icono con el mismo nombre. Las propiedades de detección aparecen en el espacio de trabajo. Debe habilitarlo cambiándolo al modo pasivo o activo, y designar otras propiedades, por ejemplo, subredes encuestadas. También puede terminar filtros aquí, y puede seleccionar y ajustar los integrados en el sistema, o escribir sus propios scripts. Para ser honesto, no necesitaba filtros. Pero el entorno parece bastante amigable y comprensible.
También aquí puede especificar la comunidad SNMP predeterminada y sus credenciales (autorización de lectura).
3.2. Adición de nodos
Cuando la detección automática está habilitada, los nodos finales (PC, impresoras) se agregarán y distribuirán a través de las subredes automáticamente. Con equipos de red activa, todo es algo más complicado.
Debe comenzar habilitando SNMP en su equipo de red y configurando la comunidad. Si el valor predeterminado para la comunidad SNMP no se ha cambiado en las propiedades de detección automática de nodos de red, entonces el sistema usa la comunidad pública, y esta configuración se puede cambiar para cada nodo en las propiedades del nodo agregado (nodo).
Para mayor comodidad, puede agrupar dispositivos de acuerdo con cualquier principio conveniente; para esto, puede crear contenedores en el árbol en la rama de Servicios de infraestructura y vincular nodos de Entrie Network en ellos.
Después de habilitar y configurar SNMP en los enrutadores y agregarlos a la lista de equipos monitoreados, el propio sistema los contactará, los sondeará, determinará qué tipo de dispositivos son, aplicará plantillas, comenzará a recopilar datos y mostrará el panel frontal de cada enrutador. Sí misma. De la caja. Cuando configuré Zabbix, solo podía soñar con algo como esto.

Agregué todas las piezas de hierro de mi red manualmente, ya que por alguna razón no se encontraron en mí. Todo es simple aquí. Creamos un contenedor en Servicios de infraestructura con cualquier nombre conveniente (por ejemplo, conmutadores), y RMB-crear-nodo, especifique el nombre para mostrar del nodo, su dirección IP, y es mejor marcar la casilla "deshabilitar el uso del agente NetXMS", ya que aún no se puede instalar en equipos de red y los paquetes adicionales son inútiles.
Navegador incorporado. Simplemente puede pulsar RMB en el enrutador deseado y abrir la interfaz web del dispositivo. Me pareció más conveniente que cada vez entrar en tus registros y buscar la IP correcta. Es cierto que el navegador es regular.
3.3. Construcción de un mapa de red
En primer lugar, debe crear un mapa de red como un objeto. Como de costumbre - en el hilo Networks Map RMB, crear, seleccionar tipo de mapa, establecer parámetrosy el sistema hará todo por sí mismo.
Los tipos de tarjeta son los siguientes:
- Personalizado. Este es un mapa diseñado para ser formado manualmente, a solicitud del usuario.
- Topología de capa 2. Este es un mapa que le permite hacer todo automáticamente por el usuario, basado en el segundo nivel del modelo OSI (de hecho, construye un mapa basado en las direcciones mac de los dispositivos).
- topología IP, es lo mismo Capa 3. Lo mismo que en el caso de Capa 2, solo el mapa se basa en la capa 3 del modelo OSI (direcciones IP).
Al elegir el mapeo manual, debe arrastrar los nodos desde el árbol a la capa del mapa, conectarlos, etc. Dibujo habitual.
En los otros dos casos, debe seleccionar un punto de referencia desde el cual el sistema comenzará a construir un mapa. Por ejemplo, un nodo de algún enrutador. El sistema lee datos sobre los dispositivos conectados y los puertos a los que están conectados, y luego lee datos del siguiente enrutador, coincidencias, etc. Después de analizar todos los dispositivos, el propio NetXMS dibujará las conexiones entre los dispositivos de la red, indicando los puertos donde todo está conectado. También puede especificar que el sistema coloque dispositivos finales (impresoras, PC, servidores) en el mapa simplemente haciendo clic en el elemento apropiado en las propiedades del mapa (RMB - propiedades - propiedades del mapa). También en este párrafo, puede configurar el "radio de detección" si lo desea o es necesario.
Poca recomendación. Habilite la propiedad Ajustar siempre el diseño a la pantalla para que cada vez que actualice el mapa de la red, no tenga que desplazarse por el espacio de trabajo y acercar.

Con una topología de red distribuida, puede superponer objetos en un mapa del área. También puede usar, por ejemplo, una foto de un bastidor con equipo en una sala de servidores como sustrato de fondo, superponiendo los objetos necesarios sobre él. Por lo tanto, puede determinar rápidamente el estado de cualquier dispositivo en el bastidor. En mi opinión, esto es algo extremadamente útil si es necesario transferir casos a un sucesor o un colega recién llegado para explicar el estado de las cosas. Claramente, convenientemente, evidentemente.
3.4. Agentes
Los agentes existen tanto para Windowsentonces para LinuxEl principio de funcionamiento es el mismo que el de los agentes de Zabbix: se instala en la máquina desde la que se necesitan recopilar métricas y transmite los datos al servidor de monitorización. El agente puede instalarse antes o después de añadir un nodo al sistema. Tras la instalación del agente en el nodo, el sistema comenzará a recibir datos del mismo después de un breve periodo de tiempo, utilizando una plantilla estándar. Los parámetros monitorizados pueden añadirse para un único nodo o mediante la vinculación de una o varias plantillas predefinidas. Se recomienda utilizar plantillas, ya que esta configuración ofrece mayor flexibilidad.
La lista de parámetros monitoreados para los agentes es bastante extensa. Se puede ver una lista completa en
Tan pronto como el sistema determine que un agente está funcionando en el nodo, adjuntará inmediatamente este nodo a una de las plantillas predeterminadas: Windows, LinuxHP-UX, UNIX genérico, AIX, dependiendo del sistema operativo del nodo.
Plantilla estándar para Windows-hosts:

Puede agregar un parámetro para rastrear un nodo específico haciendo clic en "Parámetro de recopilación de datos RMB", Más "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 es offtopic, porque cada quien... hmmm... como quiera.
Aquí la pregunta es: ¿es necesario distribuir agentes solo a los servidores o, en general, a todas las máquinas en la red? Si hay servidores, y son pocos, la forma más sencilla es a mano. Si hay muchas, políticas de dominio, KIX, PoSh. Cualquier cosa. Los agentes disponen de la clave /SILENT, que permite “inyectarla” de forma transparente para el usuario (si hablamos de distribución a todas las máquinas de la red). Prefiero los scripts, ya que puede establecer una condición y crear una bandera, a diferencia de las políticas que instalarán el programa cada vez que encienda la PC. Por lo tanto, estamos escribiendo un script de la serie "verifique la presencia de un archivo de bandera, si no, ejecute el instalador con la tecla / SILENCIO y después de una instalación exitosa, cree un archivo de bandera". Ganancia.
3.5. Desencadenantes
Los activadores se pueden configurar para responder a eventos específicos en los datos recopilados. Por ejemplo, superar un cierto valor de ping-pong al enrutador. El método de notificación para cada disparador también está configurado (para algunos, un icono en la consola es suficiente, y algunos envían notificaciones de inmediato siempre que sea posible). La reacción al evento se selecciona de las preconfiguradas en la Configuración de la Acción.
Para crear un disparador: ingrese al nodo o plantilla Configuración de recolección de datos, haga doble clic en el parámetro de interés (si no, primero debe crearlo), y en las propiedades vaya a la pestaña Umbrales, haga clic en el botón Agregar.

«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 prueba se indica en el campo Muestras):
- Último valor sondeado: último/valor recibido/valores
- Valor medio: valor medio de la última
— Desviación media: desviación media
- Diff con valor anterior: diferencia con el valor anterior
- Error de recopilación de datos: error de recuperación de datos
- Suma de valores: suma de valores
- Script: el valor obtenido como resultado del script del usuario
«Operación» — condición de disparo. Puede tomar valores (el valor se indica en el campo Valor correspondiente):
- <: menor que: menor que
- <=: menor o igual que: menor o igual que
- == igual a: equivalente
- >=: mayor o igual que: mayor o igual que
- >: genial que: más que
— !=: no igual a: no equivalente
- como: cerca de
- no como: no cerca de
En cuanto a los dos últimos parámetros, no estoy seguro de 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 tiene que ingresar las fórmulas con las manos, sin tener miedo de cometer un error o cometer un error. Para restablecer el disparo (evento de desactivación), el propio sistema sustituirá el valor. (En Zabbix, nuevamente, debe imprimir y no estar sellado).
3.6. Plantillas
RMB-crear plantilla, ingrese el nombre de la plantilla. Configuración de recopilación de datos RMB.
Un poco de teoríaLa información que recopilamos puede provenir de varias fuentes. Podría ser agente NetXMSejecutándose en la máquina puede ser "petición sencilla" o "Interno ", enviado por el propio servidor (por ejemplo, el mismo ping), "SNMP","punto de control SNMP","Push","Windows Contadores de rendimiento","SM-CLP", o personalizado"guión". Para cada tipo de información, puede seleccionar el tipo que el sistema esperará al recibir. Por ejemplo, ping devolverá un valor entero (entero), la cantidad de espacio libre en el 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, NetXMS tiene una lista enorme de parámetros predefinidos, es decir, no puede ingresar un OID específico, sino encontrarlo en el árbol MIB, lo que en realidad es bastante problemático ... 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 lectura de información de los dispositivos, chocando con un mensaje del sistema "SIN SOPORTE", pero al final resulta que este dispositivo en particular simplemente no sabe cómo proporcionar la información solicitada. Solo queda fumar manuales y esperanza.
Por ejemplo, para recopilar información sobre el tiempo de respuesta de un nodo (ping), debe agregar un nuevo parámetro (RMB-nuevo parámetro), seleccione Interno en el campo Origen, presione el botón Seleccionar y seleccione Tiempo de ping. Hay una búsqueda, con la que solo soñé en Zabbix. También tiene sentido cambiar el período de sondeo del nodo (el valor predeterminado es 60 segundos, es decir, si el enrutador deja de responder inmediatamente después de haber sido sondeado por el sistema de monitoreo, pasará casi un minuto entero antes de que el sistema se dé cuenta de que algo anda mal con así, y hacer sonar la alarma).
Lista de datos internos que pueden ser tratados:

Después de que se hayan agregado todas las configuraciones necesarias a la plantilla, debe hacer clic en RMB-aplicar y seleccione todos los nodos a los que se debe aplicar esta plantilla (ctrl + botón izquierdo del ratón). Y eso es todo. Después de eso, aparecerá una rama en el árbol debajo de la plantilla, expandiéndola, puede ver todos los nodos a los que se aplica esta plantilla.
Al desvincularse de la plantilla del nodo, 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 elimine los nodos de él. No sé por qué se hizo de esta 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. Macizamente. Y no hay necesidad de copiar y pegar de una plantilla a otra manualmente... Ya estoy empezando a odiar a Zabbix...
3.7. Tableros
Por extraño que parezca, NetXMS Wiki contiene solo un enlace a YouTube sobre este tema: , ni siquiera hay una lista y descripción de los elementos que se pueden agregar al Tablero. En principio, todo es igual de intuitivo allí. Etiqueta - Es solo que... bueno... Etiqueta... Ni siquiera sé cómo traducirlo. En una palabra, se utiliza un campo con una inscripción para designar y delimitar elementos, ya que los elementos mismos no contienen nombres. Gráfico de líneas es un gráfico de líneas. Gráfico de barras es un diagrama visor de alarmas — lista de advertencias para el/los nodo/s seleccionado/s. En resumen, los nombres hablan por sí solos.
A continuación, debe abrir las propiedades del panel y configurar las vistas. Estamos interesados en la pestaña Elementos del panel. Número de columnas es el número de columnas, elementos que se organizarán horizontalmente. Cada objeto tiene sus propias propiedades, y recomendaría desmarcar Layout-Grab excesivo espacio vertical para minimizar el tamaño de cada elemento.

3.8. Configuración de acciones
(Configuración-Configuración de Acciones)
De hecho, estas son acciones en respuesta a desencadenantes.

NetXMS puede enviar mensajes de correo electrónico, sms y xmpp en respuesta a un disparador. Aquí todo es trivial: solo complete los campos obligatorios.
Tú también puedes:
— Enviar notificación a otro servidor NetXMS
— Ejecutar un comando en el servidor de administración de NetXMS
— Ejecutar un comando en un nodo usando el agente NetXMS
- Ejecute un script NXSL (NSXL es suyo) )
Después de crear una acción, puede establecer el tiempo de demora de ejecución de la misma, así como aplicar una macro para su ejecución. El tiempo de demora es necesario para no molestar al operador en caso de que el problema se resuelva solo (por ejemplo, el tiempo de respuesta a una solicitud de ping fue más largo que el valor especificado, pero en la próxima verificación puede volver a la normalidad, entonces, ¿por qué molestarse? sobre tales bagatelas?).
3.9. Diferenciación de derechos de acceso
Cada objeto se puede configurar con sus propios derechos de acceso. Para cada objeto dentro de otro objeto, también puede establecer derechos de acceso. Esto permite una asignación muy flexible de responsabilidades y capacidades de monitoreo a diferentes grupos de usuarios. Eso es todo lo que quería decir.
4. Заключение
Me gustaría refutar el título de mi propio artículo. NetXMS no es para los perezosos. Es solo que los desarrolladores no se enfocaron en la funcionalidad, como algunos, sino que, entre otras cosas, también cuidaron la interfaz.
Vamos a hacerlo. Usé Zabbix y NetXMS. Por lo tanto, simplemente escribiré mis sentimientos desde estos dos sistemas.
So.
NetXMS me parece un sistema extremadamente fácil de usar. Bueno… al administrador… sí, al administrador. Tiene lo que se llama una interfaz intuitiva, que es realmente genial. No es necesario que escriba 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. Pero. En Zabbix, esto más simple no es muy diferente de algo realmente difícil, es decir, si lo dominas, entonces harás lo mismo con todo lo demás. NetXMS tiene sugerencias, la mayoría de los parámetros se pueden encontrar en la interfaz, seleccionar con el mouse y configurar. En Zabbix, debe averiguar si el sistema puede hacer esto y aquello y, de ser así, cómo está escrito y qué parámetros devuelve. Zabbix gana en la comunidad y toneladas de plantillas para todas las ocasiones... si puedes encontrar lo que necesitas en esta montaña de basura... Por otro lado, NetXMS también tiene un montón de fans y complementos que crearon para esto. sistema. Sí, y el sistema en sí mismo listo para usar puede monitorear las aplicaciones más populares, como se indica en la página principal del proyecto.
Para mí, la principal ventaja de NetXMS frente a Zabbix fue la capacidad de ejecutar un script en un nodo problemático en respuesta a un disparador. La temperatura de la CPU ha superado el umbral: apagará el host. Y luego averiguaremos cuál es el problema. Quizás Zabbix también tenga tal cosa, pero yo no podría. Al igual que en el monitoreo de puertos en enrutadores. Y luego en sí ... Bueno, como va ... Necesitas dominar el lenguaje de secuencias de comandos, y eso es todo ...
Los derechos de acceso en NetXMS le permiten delimitar de manera muy flexible las capacidades de los diferentes usuarios del sistema. Pero para configurarlo todo, debe jugar directamente.
En general, los sistemas son bastante similares y sus capacidades, a primera vista, parecen ser al menos comparables. Aunque se cree que Zabbix puede hacer más, estas capacidades se encuentran muy por debajo del capó y son inalcanzables para un simple administrador mortal todo en uno. NetXMS se considera simple y comprensible, amigable y agradable.
Zabbix tiene 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 en todo caso, pregunta por los tuyos.
En resumen, me gustaría recomendar NetXMS para las personas que recién comienzan o que no necesitan profundizar en el monitoreo de nada y todo. Estoy seguro de que si lo tratas más a fondo, puedes terminar en observaciones muy, muy sutiles.
Pero aún así, la principal ventaja que veo es una interfaz muy agradable y fácil de configurar.
5. Materiales utilizados
canal de Youtube
Fuente: habr.com
