This article details the steps to install the ThousandEyes Virtual Appliance (VA) as a third-party virtual machine on a Juniper NFX router. The NFX series supports Juniper's Virtual Network Functions (VNF). A VNF virtual machine provides all the needed functionality for a fully virtualized networking environment.
Virtual Network Functions are managed through the Juniper Device Manager (JDM).
Junos OS Release 15.1X53-D45 or higher
Juniper NFX250 router
Minimum 8 GB of physical memory
2 GB of virtual memory per ThousandEyes Virtual Appliance
Juniper Device Manager with enhanced orchestration mode enabled
Internet connectivity from the Juniper Device Manager
First configure network settings in Junos OS, consisting of a VLAN containing a physical network interface, and a bridged virtual interface belonging to the VNF containing the ThousandEyes Virtual Appliance. Then use the JDM to install and configure the ThousandEyes VNF. In our example we are going to use VLAN 100, physical interface GigabitEthernet 0/0/1, virtual bridge interface SXE 0/0/0 and "ThousandEyesVNF" as the name of our VNF.
The installation process for a ThousandEyes Virtual Appliance VNF consists of 3 steps:
Configuring Network Settings
Installing and activating the ThousandEyes Virtual Appliance
Initializing the Virtual Appliance
To enable the connectivity between the VA and the physical network (LAN) a physical network interface (Ethernet interface) must be bridged with an internal-facing interface (SXE interface) using a routing instance named host-os and a VLAN.
Perform the following steps to configure the interface bridging:
Connect to the router's JDM command line interface as the root user
The connection can be made using a console port or via network login (SSH or telnet). The example below connects using SSH.
$ ssh [email protected]'s password: \*\*\*\*\*\*\*\*Last login: Sun Oct 23 13:35:46 2016 from 10.100.10.239
Connect to the Junos Control Plane (JCP) and enter the JCP command line interface. The JCP provides access to Junos OS and is implemented in a VNF virtual machine called vjunos0. The example below connects using SSH.
[email protected]:~\# ssh vjunos0Last login: Wed Oct 19 11:10:20 2016 from 192.168.1.254--- JUNOS 15.1X53-D47.4 Kernel 64-bit FLEX JNPR-10.3-20170523.350481\_build[email protected]:~ \# cli{master:0}root>
Enter configuration mode
root> configureEntering configuration mode{master:0}\[edit\]root\#
Configure the VLAN to be used on the physical network (LAN). The example below uses a VLAN name of vlan100 and a VLAN ID of 100.
root\# set vlans vlan100 vlan-id 100
Configure a physical network port (front panel port) and add it to the VLAN. The example below uses a gigabit Ethernet port ge-0/0/1.
root\# set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members vlan100
Configure an internal network port as a trunk and add it to the VLAN. The example below uses an internal interface sxe-0/0/0. This interface normally should be a trunk interface in order to support traffic from multiple physical network ports.
root\# set interfaces sxe-0/0/0 unit 0 family ethernet-switching interface-mode trunkroot\# set interfaces sxe-0/0/0 unit 0 family ethernet-switching vlan members vlan100
Save the configuration using the commit command and return to the JDM
root\# commit and-quitroot\# exitExiting configuration mode{master:0}[email protected]:~>exit[email protected]:~ \# exit[email protected]:~ \#
Connect to the JDM and enter configuration mode
[email protected]:~ \# cli{master:0}[email protected]> configureEntering configuration mode{master:0}\[edit\]
Assign the previously configured VLAN name to the host-os routing instance:
[email protected]\# set host-os vlans vlan100 vlan-id 100
Download the Juniper Junos OS Container OVA file from the Settings > Enterprise Agents page of the ThousandEyes app.
Copy the file onto the Juniper NFX Series using one of the following methods:
Secure Copy Protocol (SCP)
USB storage device
Note: By default, Juniper saves third-party containers to the /var/third-party/images folder.
In the JDM, configure the memory size of the VNF. We recommend at least 2 gigabytes of RAM per ThousandEyes Virtual Appliance.
[email protected]\# set virtual-network-functions ThousandEyesVNF memory size 2097152[email protected]\# set virtual-network-functions ThousandEyesVNF memory features hugepages
Note: If the JDM does not already have hugepages configured, configure the system memory:
[email protected]\# set system memory hugepages page-size 1024 page-count 5
In this example, we configure 5 hugepages with 1 gigabyte of memory each. 1 hugepage is reserved for the JDM and the other 4 hugepages for the user's VNFs. 2 VNFs with 2 gigabytes of memory or 4 VNFs with 1 gigabyte of memory are two possible configurations, based on this example. Configure the actual number of total gigabytes as needed.
Assign a name to our new VNF and select the Virtual Appliance location. In this example, we use the name ThousandEyesVNF and a file path of /var/third-party/images/thousandeyes-va-64-16.04.juniper-ch1.qcow2.
root\# set virtual-network-functions ThousandEyesVNF image /var/third-party/images/thousandeyes-va-64-16.04.juniper-ch1.qcow2
Add the quantity of CPUs to be used and CPU hardware features. In this example, two CPUs with hardware virtualization enabled are added.
root\# set virtual-network-functions ThousandEyesVNF virtual-cpu 0 physical-cpu 4root\# set virtual-network-functions ThousandEyesVNF virtual-cpu 1 physical-cpu 10root\# set virtual-network-functions ThousandEyesVNF virtual-cpu count 2root\# set virtual-network-functions ThousandEyesVNF virtual-cpu features hardware-virtualization
Configure the ThousandEyes Virtual Appliance interface. Select the interface eth2 because the interfaces eth0 and eth1 are reserved by Juniper NFX Series for management purposes.
root\# set virtual-network-functions ThousandEyesVNF interfaces eth2 mapping vlan members vlan100
Save and activate the Virtual Appliance
[email protected]\# commitcommit complete{master:0}\[edit\][email protected]\# exit
Verify that the ThousandEyes Virtual Appliance is running
[email protected]> show virtual-network-functions## ID Name State Liveliness44 ThousandEyesVNF Running alive
Connect to the ThousandEyes Virtual Appliance's console
[email protected]> request virtual-network-functions console ThousandEyesVNF
You should see a console with the current Agent’s IP address as follows:
If a different IP address is needed, type the “N” key, and enter the information to change the Network configuration.
To exit the console press “CTRL + SHIFT + ] ”
Access the ThousandEyes Virtual Appliance
Using a web browser from a system on the LAN, access the ThousandEyes Virtual Appliance using the URL and login credentials shown in the console screen.
Change the Web Interface password
Obtain and enter the Account Group Token
Click the ThousandEyes Platform Account Settings link.
From the Settings > Enterprise Agents page, open the Add New Agent form and click the Show Account Group Token for Installation link, at the bottom.
Copy the Token and paste into the Account Token field of the ThousandEyes Virtual Appliance Setup.
Select 'Yes' to install the BrowserBot component if using Page Load or Transaction tests, then click the Next button. If the Diagnostics check is successful, the Virtual Appliance's Status page should indicate that the ThousandEyes Agent is running.
The Agent will appear in the ThousandEyes platform, on the Settings > Enterprise Agents page.
To uninstall the ThousandEyes Virtual Appliance, use the following steps:
Connect to the JDM Connect to the JDM and enter configuration mode
[email protected]:~ \# cli{master:0}root> configureEntering configuration mode{master:0}\[edit\]root\#
Delete the ThousandEyes Virtual Appliance
root\# delete virtual-network-functions ThousandEyesVNF
Commit the changes to apply the configuration
[email protected]\# commitcommit complete{master:0}\[edit\][email protected]\# exit
Verify that the Virtual Appliance was deleted
[email protected]> show virtual-network-functions## ID Name State Liveliness
The Agent will also be shown as OFFLINE in the ThousandEyes platform, on the Settings > Enterprise Agents page.
To connect to the VA, use the following command:
[email protected]> request virtual-network-functions console ThousandEyesVNF
To restart to the VA, use the following command
[email protected]> request virtual-network-functions restart ThousandEyesVNF
To shut down to the VA, use the following command
[email protected]> request virtual-network-functions stop ThousandEyesVNF
To power up the VA, use the following command:
[email protected]> request virtual-network-functions start ThousandEyesVNF
To check the VNF configuration, including the management IP:
[email protected]> show virtual-network-functions ThousandEyesVNF detailVirtual Network Function Information-------------------------------------Id: :44Name::ThousandEyesVNFState: :RunningLiveliness: :UpIP Address: :192.168.1.102VCPUs: :2Maximum Memory::2097152 KiBUsed Memory::2097152 KiB## Block Devices## Target \| Sourcevda\| /var/third-party/images/thousandeyes-va-64-16.04.juniper-ch1.qcow2