
0. Intro
Je n'ai trouvé aucun article sur NetXMS sur Habr, bien que j'aie vraiment cherché. Et c'est uniquement pour cette raison que j'ai décidé d'écrire cette création afin de faire attention à ce système.
Il s'agit d'un didacticiel, de la procédure à suivre et d'un aperçu superficiel des capacités du système.
Cet article contient une analyse et une description superficielles des capacités du système. Au fond des opportunités, je n'ai pas creusé pour un certain nombre de raisons. Et la description de toutes les fonctionnalités prendrait bien plus d'un article.
Comme j'ai plus ou moins travaillé uniquement avec Zabbix - dans l'article, ce système sera souvent mentionné pour comparaison avec le sujet. De plus, il est arrivé en quelque sorte que tout soit comparé à quelque chose de généralement reconnu.
1. Quoi et pourquoi?
Le système de surveillance, comme le montre la définition, est un système qui vous permet d'obtenir à tout moment des informations à jour sur n'importe quel nœud de réseau \ machine \ routeur \ pour entrer les informations dont vous avez besoin.
La raison pour laquelle cela est nécessaire est tout aussi évidente. Pour se tenir au courant de ce qui se passe.
Souvent, un système de surveillance peut fournir des informations très complètes sur l'état de l'infrastructure dans son ensemble et de ses différentes parties. De plus, si vous configurez des alertes (et sans aucune surveillance, cela ne vaut rien), nous obtenons un outil sérieux qui nous permet non seulement de répondre aux urgences en temps opportun, mais aussi, dans la plupart des cas, de prévenir ces accidents.
2. Pourquoi NetXMS?
Un petit hors-sujet pour ceux qui aiment le multi-livreQuand j'étais jeune et inexpérimenté ... Alors, généralement, tous les contes de fées commencent? ... En un mot, quand j'étais maximaliste, j'ai étudié la question de la surveillance des infrastructures, et le résultat de ces "études" a été la conclusion qu'il n'y a rien de mieux que Zabbix. Et à ce moment-là, je l'aimais beaucoup, car il peut faire beaucoup, il peut faire beaucoup, et ses fonctionnalités peuvent être étendues avec des scripts auto-écrits, nous pouvons donc dire qu'il peut tout faire si ses mains se développent au bon endroit. Mais Zabbix est un outil assez compliqué. Il m'a fallu près de deux semaines pour le comprendre d'une manière ou d'une autre. Et ce n'est que l'étape de mise en œuvre. Puis quelques semaines de plus pour mettre en place un suivi de tout ce dont j'avais besoin. Et comment l'utiliser pour regarder l'état des ports sur les routeurs que j'ai lus, lus, effrayés et décidé que je n'en avais pas vraiment besoin ... Non, eh bien, c'est vraiment effrayant pour un esprit non préparé juste après l'université ...
Et après quelques années, ayant mûri et mûri, j'ai décidé qu'il était temps de rafraîchir mes connaissances sur les systèmes de surveillance. Et enfin, faites une surveillance réseau normale et stable, car ce problème est devenu urgent en relation avec la croissance des segments, la connexion de la succursale et d'autres détails. Tout coule, tout change. Et j'ai commencé à tester toutes sortes d'outils. Je vais mettre ce système en marche, le toucher, puis un. Et partout où quelque chose manque, partout où quelque chose ne ressemble pas. Soit l'interface n'est pas pratique, alors vous êtes tourmenté par le réglage, puis autre chose. Et puis NetXMS est apparu pour moi. Soit dit en passant: où j'ai travaillé avec Zabbix pendant deux semaines, avec NetXMS, tout s'est passé en quelques heures. Peut-être que l'expérience avec Zabbix est affectée, ou peut-être que le point est dans NetXMS lui-même ... c'est difficile à dire.
NetXMS s'est avéré assez facile à installer et à configurer. Il a des versions du serveur et de la console d'administration pour Windows et Linux, des graphiques, un «navigateur» intégré qui vous permet de vous connecter aux mêmes routeurs via les protocoles http \ https à partir de la console d'administration, et l'interface est intuitive, ainsi qu'un agent pour n'importe quel OS. En un mot, ce système s'est avéré simple et pratique. À première vue.
La documentation dont ils disposent, soit dit en passant, est de 8 sur 10. Les principaux éléments y sont indiqués, mais pour comprendre les subtilités, vous devez creuser plus profondément.
Les principaux avantages indiqués par le développeurSurveillance profonde du réseau
Détectez, visualisez et recherchez automatiquement les composants connectés aux niveaux 2 et 3
Prise en charge complète de SNMPv3
Détection active avec des «sondes» de balayage
Découverte passive basée sur les informations des périphériques surveillés - ARP et tables de routage, interfaces
Surveillance des applications et des serveurs
Toutes les métriques de base que vous attendez: processeur, systèmes de fichiers, E / S, mémoire, trafic
Pont JMX pour la surveillance des applications Java
Extensions spécifiques à l'application: Oracle, MySQL, PostgreSQL, MongoDB, DB2, Tuxedo et bien d'autres
API d'intégration pour les applications natives
Conçu pour les grands réseaux
Un serveur peut suivre des centaines de mesures sur des milliers d'appareils
Prise en charge complète de la surveillance distribuée et de la mise à l'échelle horizontale
Surveillance des sous-réseaux IP qui se chevauchent
Contrôle d'accès flexible pour les opérateurs et les clients
3. Nous allons en profondeur
Comment installer le système - il y a tout un
manuel d' administration disponible sur
le site du développeur , et il n'y a rien de compliqué à ce sujet, donc je ne m'arrêterai pas là. La chose la plus difficile à installer est de connecter le système à la base de données ... Il n'y aura qu'une différence dans le choix d'un SGBD et d'un OS serveur. J'ai choisi Windows (ci-après-enter-data-ready) et MSSQL, car je l'avais déjà.
3.1. Activer la détection automatique
La découverte automatique des hôtes peut être activée pendant l'installation. Si cela n'a pas été fait pour une raison quelconque, alors il peut toujours être inclus dans la
"Configuration-Network Discovery" ou en cliquant sur l'icône du même nom. Les propriétés de découverte apparaissent dans l'espace de travail. Vous devez l'activer en passant en mode passif ou actif et spécifier d'autres propriétés, par exemple, les sous-réseaux interrogés. Ici, vous pouvez enrouler des filtres, et vous pouvez à la fois sélectionner et configurer les systèmes intégrés et écrire vos propres scripts. Honnêtement, je n'avais pas besoin de filtres. Mais le cadre semble assez sympathique et clair.
Ici aussi, vous pouvez spécifier la communauté SNMP par défaut et ses informations d'identification (autorisation de lecture).
3.2. Ajout de nœuds
Lorsque la découverte automatique est activée, les nœuds finaux (PC, imprimantes) sont ajoutés et distribués automatiquement sur les sous-réseaux. Avec le réseautage actif, les choses sont un peu plus compliquées.
Vous devez commencer par activer SNMP sur votre équipement réseau et configurer la communauté. Si la valeur par défaut de la communauté SNMP n'a pas changé dans les propriétés de découverte automatique des nœuds de réseau, le système utilise la communauté publique et ce paramètre peut être modifié pour chaque nœud dans les propriétés du nœud ajouté (nœud).
Pour plus de commodité, vous pouvez regrouper les périphériques selon n'importe quel principe pratique; pour cela, vous pouvez créer des conteneurs dans la branche Infrastructure Services dans l'arborescence et y lier des nœuds du réseau Entrie.
Après avoir activé et configuré SNMP sur les routeurs et les avoir ajoutés à la liste des équipements surveillés, le système les contactera, les interrogera, déterminera de quels périphériques il s'agit, appliquera des modèles, commencera à collecter des données et affichera le panneau avant de chaque routeur. Lui-même. Hors de la boîte. Quand j'ai créé Zabbix, je ne pouvais que rêver d'une telle chose.

J'ai ajouté tous mes glandes réseau manuellement, car ils ne se sont pas présentés pour une raison quelconque. Ici, tout est simple. Nous créons un conteneur dans Infrastructure Services avec n'importe quel nom pratique (par exemple, commutateurs) et
RMB-create-node , spécifiez le nom affiché du nœud, son adresse IP et il est préférable de cocher la case "désactiver l'utilisation de l'agent NetXMS", car il ne peut pas être installé sur équipement réseau et paquets supplémentaires à tout.
Navigateur intégré. Vous pouvez simplement cliquer avec le bouton droit sur le routeur souhaité et ouvrir l'interface Web de l'appareil. Il m'a semblé plus pratique que chaque fois de grimper dans vos notes et de rechercher l'IP souhaitée. Certes, le navigateur est moyen.
3.3. Construire une carte du réseau
Tout d'abord, vous devez créer une carte réseau en tant qu'objet. Comme d'habitude, dans la branche
Network Maps de
RMB, créez, sélectionnez un type de carte, définissez les paramètres et le système fera tout.
Les types de cartes sont les suivants:
- Personnalisé Il s'agit d'une carte conçue pour une formation manuelle, à la demande de l'utilisateur.
- Topologie de couche 2 . Il s'agit d'une carte qui vous permet de tout faire automatiquement pour l'utilisateur, en s'appuyant sur le 2ème niveau du modèle OSI (en fait, il construit une carte basée sur les adresses mac des appareils).
- Topologie IP , également appelée couche 3 . Comme pour la couche 2 , seule la carte est construite sur la base du 3ème niveau du modèle OSI (adresses IP).
Lorsque vous choisissez un mappage manuel, vous devez faire glisser les nœuds de l'arborescence sur la couche de carte, les connecter, etc. Dessin normal.
Dans deux autres cas, vous devez choisir un point de référence à partir duquel le système commencera à construire une carte. Par exemple, un nœud d'un routeur. Le système y lit des données sur les périphériques connectés et les ports auxquels ils sont connectés, après quoi il lit les données du routeur suivant, les compare, etc. Après avoir analysé tous les périphériques, NetXMS établira lui-même les connexions entre les périphériques réseau en indiquant les ports sur lesquels ce qui est connecté. Il est également possible de spécifier que le système doit également placer les périphériques finaux (imprimantes, PC, serveurs) sur la carte, simplement en appuyant sur l'élément correspondant dans les propriétés de la carte (
RMB - propriétés - propriétés de la carte ). Dans ce paragraphe, vous pouvez également définir le "rayon de détection" si vous le souhaitez ou si nécessaire.
Une petite recommandation. Activez la propriété Toujours adapter la mise en page à l'écran afin que chaque fois que vous mettez à jour la carte réseau, vous n'ayez pas à faire défiler l'espace de travail et à utiliser le zoom.

Avec une topologie de réseau distribué, vous pouvez superposer des objets sur une carte de la zone. Il est également possible d'utiliser, par exemple, une photo d'un rack avec du matériel dans la salle des serveurs, par exemple, en superposant les objets nécessaires dessus. Ainsi, vous pouvez déterminer rapidement l'état de n'importe quel périphérique dans le rack. À mon avis, c'est une chose extrêmement utile, si nécessaire, de transférer les choses à un successeur ou à un collègue nouvellement arrivé pour expliquer la situation. Visuellement, commodément, de toute évidence.
3.4. Agents
Les agents existent pour Windows et Linux. Le principe de fonctionnement est le même que celui des agents du même Zabbix: il est installé sur la machine à partir de laquelle il faut prendre des métriques, et transfère les données au serveur de surveillance. Un agent peut être installé à la fois avant d'ajouter un nœud au système et après. Une fois que l'agent apparaît sur le nœud, le système commencera à recevoir des données de celui-ci après un certain temps, en utilisant le modèle standard. Vous pouvez ajouter des paramètres surveillés à la fois pour un nœud et en y attachant un ou plusieurs modèles prédéfinis. Il est recommandé, bien sûr, de travailler avec des modèles, car ce paramètre est plus flexible.
La liste des paramètres surveillés pour les agents est assez longue. Voir la liste complète sur le
wiki NetXMSDès que le système détermine que l'agent fonctionne sur le nœud, il attache immédiatement ce nœud à l'un des modèles par défaut -
Windows, Linux, HP-UX, Generic UNIX, AIX , selon le système d'exploitation du nœud.
Modèle standard pour les hôtes Windows:

Vous pouvez ajouter un paramètre pour suivre un nœud spécifique en cliquant sur "
RMB-Data Collection Parameter ", puis "
RMB dans l'espace de travail - Nouveau paramètre ", et sélectionnez celui dont vous avez besoin dans la liste. Vous pouvez également configurer des déclencheurs pour le paramètre surveillé ici.
Il est important que les agents, comme Zabbix, puissent exécuter des scripts utilisateur.
Comment installer?C'est hors sujet, puisque tout le monde ... hmmm ... comme il veut.
Ici, la question est - les agents doivent-ils être distribués uniquement aux serveurs, voire à toutes les machines du réseau? S'il y a des serveurs, et il y en a peu, la manière la plus simple est à la main. Si beaucoup - politiques de domaine, KIX, PoSh. N'importe quoi. Les agents disposent du commutateur / SILENT, qui leur permet d'être «implémentés» de manière transparente pour l'utilisateur (si nous parlons de les distribuer à toutes les machines du réseau). Je préfère les scripts, car vous pouvez définir une condition et créer un certain indicateur, contrairement aux politiques qui mettront le programme à chaque fois que vous allumez le PC. Donc, nous écrivons un script de la série "vérifiez la présence du fichier indicateur, sinon, exécutez le programme d'installation avec le commutateur / SILENT et après l'installation réussie, créez le fichier indicateur". Bénéfice
3.5. Déclencheurs
Les déclencheurs peuvent être configurés pour répondre à certains événements dans les données collectées. Par exemple, dépasser une certaine valeur de ping-pong pour le routeur. La méthode de notification pour chaque déclencheur est également configurée (pour certains, l'icône dans la console est suffisante, et certains envoient immédiatement des alertes dans la mesure du possible). La réponse à l'événement est sélectionnée parmi celles préconfigurées dans la configuration des actions.
Pour créer un déclencheur:
entrez la configuration de collecte de données du nœud ou du modèle, double-cliquez sur le paramètre qui vous intéresse (sinon, vous devez d'abord le créer) et accédez à l'onglet Seuils dans les propriétés, cliquez sur le bouton Ajouter.
"
Fonction " - quelles valeurs ou quelles valeurs prendre pour calculer la condition. Il peut prendre les valeurs suivantes (le nombre de valeurs utilisées pour la vérification est indiqué dans le champ Échantillons):
- Dernière valeur interrogée: dernière valeur interrogée
- Valeur moyenne: valeur moyenne de la dernière
- Écart moyen: écart moyen
- Diff avec la valeur précédente: différence avec la valeur précédente
- Erreur de collecte de données: erreur de réception des données
- Somme des valeurs: somme des valeurs
- Script: valeur obtenue à la suite du script utilisateur
"
Operation " - condition de déclenchement de déclenchement. Il peut prendre des valeurs (la valeur est indiquée dans le champ Value correspondant):
- <: moins de: moins de
- <=: inférieur ou égal à: inférieur ou égal
- == égal à: équivalent
-> =: supérieur ou égal à: supérieur ou égal
->: supérieur à: plus de
-! =: Pas égal à: pas équivalent
- comme: proche de
- pas comme: pas proche de
Au détriment des deux derniers paramètres, je n'ai aucune confiance dans leur fonctionnement. Par conséquent, je n'assumerai même pas quelles limites y sont intégrées.
En un mot, tout est comme dans le même Zabbix, mais vous n'avez pas besoin d'entrer les formules avec vos mains, ayant peur de faire des erreurs ou de vous réprimander. Pour restaurer un déclencheur (événement de désactivation), le système lui-même substituera une valeur. (Dans Zabbix, encore une fois, vous devez imprimer et ne pas être scellé).
3.6. Patterns
RMB-créez un modèle, entrez un nom pour le modèle. Configuration de la collecte de données RMB.Un peu de théorieLes informations collectées peuvent provenir de plusieurs sources. Il peut s'agir d' un agent NetXMS exécuté sur la machine, il peut s'agir d'une " simple demande " ou " interne " envoyée par le serveur lui-même (par exemple, le même ping), " SNMP ", " check point SNMP ", " Push ", " Windows Performance Counters " , " SM-CLP " ou un " script " personnalisé. Pour chaque type d'informations, vous pouvez choisir le type auquel le système s'attendra à réception. Par exemple, ping renverra un entier, la quantité d'espace disque libre en octets sera également entière, mais la même température ne sera plus entière, c'est-à-dire réelle).
Pour collecter des informations via SNMP dans NetXMS, il existe une énorme liste de paramètres prédéfinis, c'est-à-dire que vous ne pouvez pas entrer un OID spécifique, mais le trouver dans l'arborescence MIB, ce qui est assez problématique en fait ... Mais. Par conséquent, vous devez vous plonger dans la documentation du fabricant et rechercher séparément les valeurs IOD pour chaque périphérique. Vous pouvez perdre beaucoup de temps à configurer les informations de lecture sur les appareils en croisant un message du système NON PRIS EN CHARGE , mais au final, il s'avère que cet appareil particulier ne sait tout simplement pas comment fournir les informations demandées. Il ne reste plus qu'à fumer des manuels et à espérer .
Par exemple, pour collecter des informations sur le temps de réponse du nœud (ping), vous devez ajouter un nouveau paramètre (
RMB-nouveau paramètre ), sélectionnez Interne dans le champ Origine, appuyez sur le bouton Sélectionner et sélectionnez Temps de ping. Il y a là une recherche dont je viens de rêver dans Zabbix. Il est également logique de modifier la période d'interrogation du nœud (par défaut, il s'agit de 60 secondes, c'est-à-dire que si le routeur cesse de répondre immédiatement après avoir été interrogé par le système de surveillance, il faudra près d'une minute avant que le système ne se rende compte qu'il y a quelque chose qui ne va pas). donc, et il sonnera l'alarme).
Liste des données internes pouvant être traitées:

Une fois tous les paramètres nécessaires ajoutés au modèle, cliquez sur
Appliquer RMB et sélectionnez tous les nœuds auxquels ce modèle doit être appliqué (
ctrl + LMB ). Et c'est tout. Après cela, une branche apparaîtra dans l'arborescence sous le modèle, s'ouvrant sur laquelle vous pourrez voir tous les nœuds auxquels ce modèle est appliqué.
Lorsque vous détachez des nœuds du modèle, les données collectées ne cessent pas d'être collectées; pour annuler leur collecte, vous devez accéder à la configuration de collecte de données pour chaque nœud et supprimer tout manuellement, ou supprimer d'abord les paramètres du modèle et ensuite seulement supprimer les nœuds de celui-ci. Je ne sais pas pourquoi cela a été fait de cette façon, mais, à mon avis, c'est une chose extrêmement étrange. Mais ... comme ça.
Dans le modèle, vous pouvez sélectionner les données souhaitées à collecter et les copier dans un autre modèle. Massivement. Et ne copiez-collez pas d'un modèle à un autre avec vos mains ...
Je commence déjà à détester Zabbix ..3.7. Tableaux de bord
Curieusement, mais le wiki NetXMS sur ce sujet ne contient qu'un seul lien vers YouTube:
créer un tableau de bord , il n'y a même pas de liste et de description des éléments qui peuvent être ajoutés au tableau de bord. En gros, tout y est tout aussi intuitif.
L'étiquette est juste ... eh bien ... L'étiquette est ... Je ne sais même pas comment la traduire. En un mot, un champ avec une inscription est utilisé pour désigner et délimiter des éléments, car les éléments des noms eux-mêmes ne contiennent pas.
Le graphique linéaire est un graphique linéaire.
Le graphique à barres est un graphique.
Visualiseur d'alarmes - Une liste d'alertes pour les nœuds sélectionnés. Bref, les noms parlent d'eux-mêmes.
Ensuite, ouvrez les propriétés du tableau de bord et configurez les vues. Nous sommes intéressés par l'onglet Éléments du tableau de bord. Le nombre de colonnes est le nombre de colonnes, éléments qui seront situés horizontalement. Chaque objet a ses propres propriétés, et je recommanderais de décocher l'option d'espace vertical Layout-Grab pour minimiser la taille de chaque élément.

3.8. Configuration des actions
(Configuration-Configuration des actions)Ce sont essentiellement des actions en réponse à des déclencheurs.

NetXMS peut envoyer des messages électroniques, sms, xmpp en réponse à un déclencheur. Tout est trivial ici - remplissez simplement les champs obligatoires.
Vous pouvez également:
- Envoyer une notification à un autre serveur NetXMS
- Exécutez la commande sur le serveur d'administration NetXMS
- Exécutez la commande sur le nœud à l'aide de l'agent NetXMS
- Exécuter le script NXSL (NSXL est son
langage de programmation de script NetXMS )
Après avoir créé une action, vous pouvez configurer le délai d'exécution pour celle-ci, ainsi qu'appliquer la macro à exécuter. Le temps de retard est nécessaire afin de ne pas déranger l'opérateur au cas où le problème se résoudrait par lui-même (par exemple, le temps de réponse à la requête ping était plus long que la valeur spécifiée, mais lors de la prochaine vérification, il peut revenir à la normale, alors pourquoi s'embêter avec de telles bagatelles?) .3.9. Différenciation des droits d'accès
Pour chaque objet, vous pouvez configurer vos droits d'accès. Pour chaque objet à l'intérieur d'un autre objet, vous pouvez également configurer des droits d'accès. Cela permet une répartition très flexible des responsabilités et des capacités de surveillance pour différents groupes d'utilisateurs. C'est tout ce que je voulais dire.4. Conclusion
Je voudrais réfuter le titre de mon propre article. NetXMS n'est pas pour les paresseux. C'est juste que les développeurs ne se sont pas concentrés sur la fonctionnalité, comme certains, mais, en plus de tout le reste, ils ont également pris soin de l'interface.Faisons-le. J'ai utilisé Zabbix et NetXMS. Pour cela, je vais juste écrire mes sentiments à partir de ces deux systèmes.Alors.
Je vois NetXMS comme un système extrêmement convivial. Eh bien ... à l'administrateur ... oui, à l'administrateur. Elle a ce qu'on appelle une interface intuitive, et c'est tout simplement génial. Pas besoin d'écrire vos propres formules, de lire un tas de documentation à l'appui pour activer la vérification ping avant le commutateur ou autre chose simple. Mais. Dans Zabbix, cette chose la plus simple n'est pas très différente de quelque chose de vraiment compliqué, c'est-à-dire que si vous la maîtrisez, vous ferez le reste. NetXMS a des indices; la plupart des paramètres peuvent être trouvés dans l'interface, sélectionnez avec la souris et configurez. Dans Zabbix, vous devez savoir si le système peut faire exactement cela et cela, et si oui, comment il est écrit et quels paramètres il renvoie. Zabbix gagne dans la communauté et des tonnes de modèles pour toutes les occasions ... si dans cette montagne de déchets, vous pouvez trouver quelque chosece dont vous avez besoin ... D'autre part, NetXMS a également un tas de fans et les ajouts qu'ils ont créés à ce système. Et le système lui-même prêt à l'emploi peut surveiller les applications les plus populaires, comme décrit sur la page principale du projet.Pour moi, le principal avantage de NetXMS contre Zabbix était la possibilité d'exécuter un script sur un nœud problématique en réponse à un déclencheur. La température du CPU a dépassé le seuil - elle-même éteindra l'hôte. Et puis nous comprendrons - quel est le problème. Peut-être que dans Zabbix une telle chose est également là, mais je ne pouvais pas. Ainsi que la surveillance des ports sur les routeurs. Et le voici ... Eh bien, tel qu'il est ... Il est nécessaire de maîtriser le langage de script, et c'est tout ...Les droits d'accès dans NetXMS vous permettent de différencier de manière très flexible les capacités des différents utilisateurs du système. Mais pour tout régler, vous devez bricoler directement.En général, les systèmes sont assez similaires et leurs capacités, à première vue, semblent au moins comparables. Bien qu'il pense que Zabbix peut faire plus, ces fonctionnalités se trouvent profondément sous le capot et pour le simple administrateur mortel, le tout-en-un est inaccessible. NetXMS semble simple et clair, convivial et agréable.Zabbix a une excellente documentation, wiki, comment faire, FAQ, meilleures pratiques, ainsi que divers forums, etc., où vous pouvez trouver des réponses à presque toutes les questions. Et si cela - définissez le vôtre.En résumé, je voudrais recommander NetXMS pour les personnes qui commencent tout juste ou pour celles qui n'ont pas besoin de plonger profondément dans le suivi de tout et de tout. Je suis sûr que si vous traitez plus loin, vous pourrez y trouver des observations très, très subtiles.Mais encore, le principal avantage que je vois est une très belle interface et une facilité de configuration.5. Matériaux utilisés
chaîne YouTube Tomas KirnakNetXMS WikiRecherche Google