Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

NorthStar Integration with HealthBot

 

Overview

Note

The integration of the NorthStar Controller and HealthBot products is an ongoing development effort and is being released with a phased approach. This topic describes the status of the integration as of NorthStar Controller Release 5.1.0 with HealthBot Release 2.1.

NorthStar Controller can use HealthBot as its analytics collector in a side-by-side installation scenario. You install and manage NorthStar and HealthBot independently, but configure some analytics collector functions in NorthStar to be handled by HealthBot instead of Elasticsearch. In NorthStar Controller Release 5.1.0, only Juniper nodes are supported (as opposed to multi-vendor support), and only the following analytics collections can be handled by HealthBot:

  • Junos Telemetry Interface (JTI) LSP statistics

  • JTI interface statistics (logical and physical)

  • Link latency statistics using RPM probes

  • LDP demand statistics using LDP show commands

Figure 1 summarizes the relationships between components of HealthBot and NorthStar. The numbers correspond to the following processes:

  1. NorthStar pushes the device list and profile information to HealthBot.

  2. NorthStar provides to HealthBot a set of rules to use for data collection from the network devices.

  3. The NorthStar rules enable HealthBot to automatically notify NorthStar about live sample data collection over AMQP.

  4. NorthStar node.js and the NorthStar reports generator query the HealthBot database based on jinja templates.

  5. Statistics and data from HealthBot are available for viewing in the NorthStar UI or other northbound interface (NBI).

Figure 1: NorthStar Controller/HealthBot Integration
NorthStar Controller/HealthBot
Integration

Refer to your HealthBot documentation for information about rules and playbooks, and general HealthBot operation. We provide the following basic HealthBot terminology for reference.

HealthBot Term

Description

Rule

Package of components, or blocks, needed to extract specific information from the network or from a Junos device. Rules conform to a tailored domain specific language (DSL) for analytics applications.

Playbook

Collection of rules for addressing a specific use case.

Playbook instance

Specific instance of a playbook applied over a device or network group.

User-defined functions (UDF)

User-defined functions are used inside of rules.

Update HealthBot with NorthStar Data Collection Rules and Playbook

To prepare HealthBot to provide collection data to NorthStar, perform the following steps.

  1. Confirm that the HealthBot services are up and running.
  2. Install python3 module requests and pika on the HealthBot server. For example:
  3. Copy the NorthStar rules from the NorthStar application server to a temporary directory on the HealthBot server.
    [root@northstar]# cp /opt/northstar/northstar_bundle_x.x.x/hb_config/hb-rules-config.tar.gz /var/tmp
  4. On the HealthBot server, untar the rules file.
    [root@healthbot]# tar xvf hb-rules-config.tar.gz
  5. On the HealthBot server, run the script that inserts the NorthStar rules and playbook into HealthBot so they become visible in the HealthBot UI, and updates the user-defined functions (UDF) for NorthStar. This script also fetches the credentials required for communication between NorthStar and HealthBot.
    [root@healthbot]:~/ns/installation# ./install-ns-rules.sh

    The script prompts you for:

    • The NorthStar server IP or VIP address or host name

    • The NorthStar admin username and password

    • The HealthBot application server IP address

    • The HealthBot admin username and password

    You will see the progress of the script:

  6. Verify connectivity between HealthBot and NorthStar by running the following script on the HealthBot server.
    [root@healthbot]# /ns_config/installation/ns_setup.py -t

Upon successful completion of the script, you should be able to see the NorthStar rules in the HealthBot UI as shown in Figure 2.

Figure 2: NorthStar Rules in the HealthBot UI
NorthStar Rules in the HealthBot
UI

You can also confirm that the NorthStar playbook is visible as shown in Figure 3.

Figure 3: NorthStar Playbook in the HealthBot UI
NorthStar Playbook in the HealthBot
UI

Click on the NorthStar playbook to see that the NorthStar rules are associated with the playbook as shown in Figure 4. You could remove rules from here if needed.

Figure 4: NorthStar Rules in the NorthStar Playbook
NorthStar Rules
in the NorthStar Playbook

Configure the NorthStar Side

To prepare NorthStar to receive analytics data from HealthBot, perform the following steps.

  1. Change the collection type from the default (Elasticsearch) to HealthBot by running the net_setup.py script with the config-healthbot-collector option.
    [root@northstar]# /opt/northstar/utils/net_setup.py --config-healthbot-collector

    The script prompts you to confirm that you want to make the change, and then asks you to provide the following information:

    • The HealthBot web server IP address

    • The HealthBot UI username and password

    • The HealthBot database IP address (this is generally the same as the HealthBot web server IP address)

    The script then updates the configuration files and restarts the NorthStar web server. A success message displays when the process is complete.

  2. Configure each Juniper device in the network to send JTI and RPM probes data to the HealthBot server. See Configuring Routers to Send JTI Telemetry Data and RPM Statistics to the Data Collectors for instructions.
  3. In the NorthStar UI, navigate to Administration > Device Profile to push the device profile information to HealthBot and apply the NorthStar playbook instance.

    Because you set the collection type to HealthBot, the Device Profile window in the NorthStar UI includes a button to Update Devices to HealthBot as shown in Figure 5.

    Figure 5: Device Profile Window with Update Devices Button
    Device Profile Window
with Update Devices Button

    You do not select devices before clicking the button - clicking the button updates to HealthBot all the device information for all the Juniper devices that are managed by NorthStar. You will see a success message when the process is complete.

    You can verify the device information was shared with HealthBot by looking at the HealthBot UI Dashboard, under Devices as shown in Figure 6. All the Juniper devices pushed to HealthBot are listed there. Click on any one of the device names to see the details of the profile information in a pop-up window.

    Figure 6: NorthStar Devices in the HealthBot Dashboard
    NorthStar Devices
in the HealthBot Dashboard

    Notice also in Figure 6 that a NorthStar device group (far left) was created. Click the name of the group to see a list of all the devices whose information you pushed to HealthBot.

    Under Playbooks in the HealthBot UI, you can confirm that a NorthStar playbook instance has been created as shown in Figure 7. The display indicates that one instance of the playbook is running.

    Figure 7: NorthStar Playbook Instance in the HealthBot UI
    NorthStar Playbook Instance
in the HealthBot UI

    Click the arrow beside the playbook name to see the details of the instance including its device group, devices, and rules.

Viewing Data in the NorthStar UI

Viewing collected data in the NorthStar UI is not different with HealthBot as the collection type, except that in this phase of the NorthStar/HealthBot integration, there are some limitations. The following are not yet supported:

  • Total LSP traffic charts

  • Top traffic for LSP, node, interface, and interface delay charts

  • Netflow collection

  • SR stats (SID traffic)

  • as-demands reports and demand groups reports

    Note

    These reports are available using Elasticsearch native collection.