Intégration de NorthStar avec HealthBot
Aperçu
L’intégration des produits Contrôleur NorthStar et HealthBot est un effort de développement continu et est publiée selon une approche progressive. Cette rubrique décrit l’état de l’intégration à partir de la version 5.1.0 du contrôleur NorthStar avec HealthBot version 2.1.
Le contrôleur NorthStar NorthStar peut utiliser HealthBot comme collecteur d’analyses dans un scénario d’installation côte à côte. Vous installez et gérez NorthStar et HealthBot indépendamment, mais configurez certaines fonctions de collecteur d’analyses dans NorthStar pour qu’elles soient gérées par HealthBot au lieu d’Elasticsearch. Depuis la version 5.1.0 du contrôleur NorthStar, seuls les nœuds Juniper sont pris en charge (par opposition au support multifournisseur) et seules les collections d’analyses suivantes peuvent être gérées par HealthBot :
Statistiques LSP de l’interface de télémétrie Junos (JTI)
Statistiques de l’interface JTI (logique et physique)
Statistiques de latence des liens à l’aide de sondes RPM
Statistiques de la demande LDP à l’aide de commandes LDP show
La Figure 1 résume les relations entre les composants de HealthBot et de NorthStar. Les numéros correspondent aux processus suivants :
NorthStar envoie la liste des appareils et les informations de profil à HealthBot.
NorthStar fournit à HealthBot un ensemble de règles à utiliser pour la collecte de données à partir des périphériques réseau.
Les règles NorthStar permettent à HealthBot d’informer automatiquement NorthStar de la collecte d’échantillons de données en direct via AMQP.
NorthStar node.js et le générateur de rapports NorthStar interrogent la base de données HealthBot en fonction des modèles jinja.
Les statistiques et les données de HealthBot peuvent être consultées dans l’interface utilisateur de NorthStar ou dans une autre interface Northbound (NBI).
Reportez-vous à la documentation de votre HealthBot pour plus d’informations sur les règles et les playbooks, ainsi que sur le fonctionnement général de HealthBot. Nous fournissons la terminologie de base de HealthBot suivante à titre de référence.
Terme HealthBot |
Description |
|---|---|
Règle |
Ensemble de composants, ou blocs, nécessaires pour extraire des informations spécifiques du réseau ou d’un équipement Junos. Les règles sont conformes à un langage DSL (Domain Specific Language) adapté aux applications d’analyse. |
Playbook |
Collection de règles pour traiter un cas d’utilisation spécifique. |
Instance de Playbook |
Instance spécifique d’un playbook appliqué à un appareil ou à un groupe de réseaux. |
Fonctions définies par l’utilisateur (UDF) |
Les fonctions définies par l’utilisateur sont utilisées à l’intérieur des règles. |
Mettre à jour HealthBot avec les règles et le guide de collecte de données NorthStar
Pour préparer HealthBot afin de fournir des données de collecte à NorthStar, effectuez les opérations suivantes.
Vérifiez que les services HealthBot sont opérationnels.
Installez python3 module requests et pika sur le serveur HealthBot. Par exemple :
pip3 install requests; pip3 install pika
Copiez les règles NorthStar du serveur d’applications NorthStar dans un répertoire temporaire sur le serveur HealthBot.
[root@northstar]# cp /opt/northstar/northstar_bundle_x.x.x/hb_config/hb-rules-config.tar.gz /var/tmp
Sur le serveur HealthBot, décompressez le fichier de règles.
[root@healthbot]# tar xvf hb-rules-config.tar.gz
Sur le serveur HealthBot, exécutez le script qui insère les règles et le playbook NorthStar dans HealthBot afin qu’ils deviennent visibles dans l’interface utilisateur de HealthBot et mette à jour les fonctions définies par l’utilisateur (UDF) pour NorthStar. Ce script récupère également les informations d’identification requises pour la communication entre NorthStar et HealthBot.
[root@healthbot]:~/ns/installation# ./install-ns-rules.sh
Le script vous invite à :
L’adresse IP ou VIP ou le nom d’hôte du serveur NorthStar
Le nom d’utilisateur et le mot de passe de l’administrateur NorthStar
L’adresse IP du serveur d’applications HealthBot
Le nom d’utilisateur et le mot de passe de l’administrateur HealthBot
Vous verrez la progression du script :
root@healthbot:~/ns/installation# ./install-ns-rules.sh Copying config file /opt/northstar/data/northstar.cfg from Northstar APP server, Please enter below info --------------------------------------------------------------------------------------------------------- Please enter Northstar application server IP/VIP address or host name: 10.53.64.97 Please enter Northstar Web Admin username: admin Please enter Northstar Web Admin password: Please enter HealtBot application server IP address: 10.53.64.96 Please enter HealthBot Web Admin username: admin Please enter HealthBot Web Admin password: retrieving config file from application server... Saving to /root/ns/input/northstar.cfg Copying NS input files to /var/local/healthbot/input Starting Northstar rules and playbook upload/creation Rule/yml file directory: /root/ns/rules Successfully import the yml file: ns-ldp-demand-stats.yml Successfully import the yml file: ns-rpm-probe-ifl.yml Successfully import the rule file: ns-jti-logical-interface.rule Successfully import the rule file: ns-jti-label-switched-path.rule Successfully import the rule file: ns-ldp-demand-stats.rule Successfully import the rule file: ns-jti-physical-interface.rule Successfully import the rule file: ns-rpm-probe-ifl.rule Successfully created the playbook: "northstar" Updating UDF.... Running /root/ns/installation/udf-config.sh in iagent engine.. Success! See /tmp/.iagent_modification.log for logs Running /root/ns/installation/udf-config.sh in jtimon engine.. Success! See /tmp/.jtimon_modification.log for logs Running /root/ns/installation/udf-config.sh in fluentd engine.. Success! See /tmp/.fluentd_modification.log for logs Running /root/ns/installation/udf-config.sh in telegraf engine.. Success! See /tmp/.telegraf_modification.log for logs Running /root/ns/installation/udf-config.sh in itsdb engine.. Success! See /tmp/.itsdb_modification.log for logs
Vérifiez la connectivité entre HealthBot et NorthStar en exécutant le script suivant sur le serveur HealthBot.
[root@healthbot]# /ns_config/installation/ns_setup.py -t Test connectivity with input/northstar.cfg # mq_host=10.53.64.97 mq_port=5672 mq_username=northstar mq_password_enc=eF0A0DhJ0GiKcHlAfEnFgMpB Connected to rabbitmq on 10.53.64.97 successfully
Une fois le script terminé, vous devriez pouvoir voir les règles NorthStar dans l’interface utilisateur de HealthBot, comme illustré à la figure 2.
de HealthBot
Vous pouvez également vérifier que le playbook NorthStar est visible, comme illustré à la Figure 3.
de HealthBot
Cliquez sur le playbook de NorthStar pour voir que les règles de NorthStar sont associées au playbook, comme illustré à la figure 4. Vous pouvez supprimer des règles à partir d’ici si nécessaire.
NorthStar
Configurer le côté NorthStar
Pour préparer NorthStar à recevoir des données d’analyse de HealthBot, effectuez les opérations suivantes.
Remplacez le type de collecte par défaut (Elasticsearch) par HealthBot en exécutant le script net_setup.py avec l’option config-healthbot-collector.
[root@northstar]# /opt/northstar/utils/net_setup.py --config-healthbot-collector
Le script vous invite à confirmer que vous souhaitez effectuer la modification, puis vous demande de fournir les informations suivantes :
L’adresse IP du serveur Web HealthBot
Nom d’utilisateur et mot de passe de l’interface utilisateur HealthBot
L’adresse IP de la base de données HealthBot (généralement la même que l’adresse IP du serveur Web HealthBot)
Le script met ensuite à jour les fichiers de configuration et redémarre le serveur Web NorthStar. Un message de réussite s’affiche lorsque le processus est terminé.
Configurez les paramètres liés à HealthBot à l’aide de l’interface de ligne de commande NorthStar :
[root@ns1 root]# /opt/northstar/utils/cmgd_cli root@ns1> edit Entering configuration mode [edit] root@ns1# set northstar analytics healthbot openconfig-port 32767 [edit] root@ns1# set northstar analytics healthbot iagent-port 830 [edit] root@ns1# set northstar analytics healthbot native-port 4000 [edit] root@ns1# set northstar analytics healthbot device-group-name northstar [edit] root@ns1# set northstar analytics healthbot playbook-name northstar [edit] root@ns1# set northstar analytics healthbot playbook-instance ns [edit] root@ns1# set northstar analytics healthbot rules northstar/juniper-jti-label- switched-path,northstar/juniper-jti-logical-interface,northstar/juniper-jti- physical-interface,northstar/juniper-ldp-demand-stats,northstar/juniper-rpm-probe-ifl; [edit] root@ns1# commit root@ns1# exit Exiting configuration mode root@ns1> show configuration northstar analytics healthbot openconfig-port 32767; iagent-port 830; native-port 4000; device-group-name northstar; playbook-name northstar; playbook-instance ns; rules northstar/juniper-jti-label-switched-path,northstar/juniper-jti-logical- interface,northstar/juniper-jti-physical-interface,northstar/juniper-ldp-demand- stats,northstar/juniper-rpm-probe-ifl;
Configurez chaque équipement Juniper du réseau pour qu’il envoie les données des sondes JTI et RPM au serveur HealthBot. Reportez-vous à la section Configuration des routeurs pour envoyer des données de télémétrie JTI et des statistiques RPM aux collecteurs de données pour obtenir des instructions.
Dans l’interface utilisateur de NorthStar, accédez à > Device Profile pour envoyer les informations de profil de l’appareil à Administration HealthBot et appliquer l’instance de playbook NorthStar.
Étant donné que vous définissez le type de collection sur HealthBot, la fenêtre Profil de l’appareil de l’interface utilisateur NorthStar inclut un bouton permettant de mettre à jour les appareils vers HealthBot, comme illustré à la Figure 5.
Figure 5 : fenêtre Profil de l’appareil avec bouton
Mettre à jour les appareils
Vous ne sélectionnez pas les équipements avant de cliquer sur le bouton : cliquez sur le bouton pour mettre à jour dans HealthBot toutes les informations sur les périphériques pour tous les équipements Juniper gérés par NorthStar. Un message de réussite s’affiche à la fin du processus.
Vous pouvez vérifier que les informations sur l’appareil ont été partagées avec HealthBot en consultant le tableau de bord de l’interface utilisateur de HealthBot, sous Appareils, comme illustré à la figure 6. Tous les appareils Juniper envoyés à HealthBot y sont répertoriés. Cliquez sur l’un des noms d’appareils pour afficher les détails des informations de profil dans une fenêtre contextuelle.
Figure 6 : Appareils NorthStar dans le tableau de bord
HealthBot
Notez également dans la Figure 6 qu’un groupe de périphériques NorthStar (tout à gauche) a été créé. Cliquez sur le nom du groupe pour afficher la liste de tous les appareils dont vous avez envoyé les informations à HealthBot.
Sous Playbooks dans l’interface utilisateur HealthBot, vous pouvez confirmer qu’une instance de playbook NorthStar a été créée, comme illustré à la Figure 7. L’écran indique qu’une instance du playbook est en cours d’exécution.
Figure 7 : Instance du playbook NorthStar dans l’interface utilisateur
de HealthBot
Cliquez sur la flèche en regard du nom du playbook pour afficher les détails de l’instance, y compris son groupe d’appareils, ses appareils et ses règles.
Affichage des données dans l’interface utilisateur de NorthStar
L’affichage des données collectées dans l’interface utilisateur NorthStar n’est pas différent avec HealthBot comme type de collecte, sauf que dans cette phase de l’intégration NorthStar/HealthBot, il existe certaines limitations. Les éléments suivants ne sont pas encore pris en charge :
Graphiques de trafic LSP total
Trafic le plus important pour les graphiques LSP, de nœuds, d’interfaces et de retards d’interface
Collecte Netflow
Statistiques SR (trafic SID)
Rapports sur les demandes et les groupes de demandes
Note:Ces rapports sont disponibles à l’aide de la collection native Elasticsearch.