Intégration de NorthStar avec HealthBot
Vue d’ensemble
L’intégration du contrôleur NorthStar et des produits HealthBot est un effort de développement continu et est lancée selon une approche progressive. Cette rubrique décrit l’état de l’intégration de la version 5.1.0 du contrôleur NorthStar avec la version 2.1 de HealthBot.
Le contrôleur 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 collecte 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 à la prise en charge multifournisseur) et seules les collectes 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 (logiques et physiques)
-
Statistiques de latence de liaison à 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 NorthStar. Les chiffres 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 de données d’échantillons 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 NorthStar ou dans une autre interface Northbound (NBI).
Reportez-vous à votre documentation 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 de HealthBot |
Descriptif |
|---|---|
| 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. |
| Guide de jeu |
Ensemble de règles pour répondre à un cas d’utilisation spécifique. |
| Instance de playbook |
Instance spécifique d’un playbook appliqué sur 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 de collecte de données et le guide de NorthStar
Pour préparer HealthBot à fournir des données de collecte à NorthStar, procédez comme suit.
-
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 du 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 met à 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.shLe script vous invite à :
-
L’adresse IP ou VIP du serveur NorthStar ou le nom d’hôte
-
Le nom d’utilisateur et le mot de passe de l’administrateur NorthStar
-
Adresse IP du serveur d’applications HealthBot
-
Le nom d’utilisateur et le mot de passe de l’administrateur de 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 indiqué dans la Figure 2.
de HealthBot
Vous pouvez également confirmer que le playbook NorthStar est visible, comme illustré à la Figure 3.
de HealthBot
Cliquez sur le guide NorthStar pour voir si les règles NorthStar sont associées au manuel comme illustré à la figure 4. Vous pouvez supprimer des règles d’ici si nécessaire.
NorthStar
Configurer le côté NorthStar
Pour préparer NorthStar à recevoir des données d’analyse de HealthBot, procédez comme suit.
-
Remplacez le type de collection 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-collectorLe script vous invite à confirmer que vous souhaitez effectuer la modification, puis vous demande de fournir les informations suivantes :
-
Adresse IP du serveur Web de HealthBot
-
Le nom d’utilisateur et le mot de passe de l’interface utilisateur de HealthBot
-
L’adresse IP de la base de données HealthBot (c’est 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 au HealthBot à l’aide du CLI 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 appareil Juniper du réseau pour envoyer des données de sondes JTI et RPM au serveur HealthBot. Voir 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 NorthStar, accédez à Administration > Device Profile pour envoyer les informations de profil de l’appareil à HealthBot et appliquer l’instance du playbook NorthStar.
Étant donné que vous définissez le type de regroupement sur HealthBot, la fenêtre Profil d’appareil de l’interface utilisateur NorthStar comprend un bouton pour Mettre à jour les appareils vers HealthBot, comme illustré à la figure 5.
Figure 5 : fenêtre de profil d’appareil avec bouton
Mettre à jour les appareils
Vous ne sélectionnez pas d’appareils avant de cliquer sur le bouton - cliquer sur le bouton met à jour dans HealthBot toutes les informations sur les appareils de tous les appareils Juniper gérés par NorthStar. Vous verrez un message de réussite lorsque le processus sera terminé.
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 indiqué à la figure 6. Tous les appareils Juniper transférés vers 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
de HealthBot
Notez également dans la Figure 6 qu’un groupe d’appareils 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 de HealthBot, vous pouvez confirmer qu’une instance de playbook NorthStar a été créée, comme indiqué à la figure 7. L’affichage indique qu’une instance du playbook est en cours d’exécution.
Figure 7 : Instance de 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, notamment son groupe d’appareils, ses appareils et ses règles.
Affichage des données dans l’interface utilisateur 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 du trafic LSP total
-
Principaux trafics pour les graphiques LSP, nœuds, interfaces et retards d’interface
-
Collecte Netflow
-
Statistiques SR (trafic SID)
-
Rapports à la demande et rapports sur les groupes de demande
Remarque :Ces rapports sont disponibles à l’aide de la collecte native Elasticsearch.