ThousandEyes Enterprise Agent

ThousandEyes Enterprise Agent Overview

ThousandEyes Enterprise Agent is an enterprise network-monitoring tool that provides you an end-to-end view across networks and services that impact your business. It monitors the network traffic paths across internal, external, carrier, and internet networks in real time, to provide network performance data. Enterprise Agents are commonly installed in branch sites and data centers to provide a detailed understanding of WAN and internet connectivity.

The ThousandEyes Enterprise Agent provides the following:

  • Benchmarking the performance of networks and applications.

  • Detailed hop-by-hop metrics.

  • End-to-end path visualization from branch or campus to data center or cloud.

  • Outage detection and resolution.

  • User-experience analysis.

  • Visualization of the traffic-flow pattern.

Prerequisites for the ThousandEyes Enterprise Agent

  • The ThousandEyes Enterprise Agent image available at the ThousandEyes site must be signed by the same certificate authority (CA) that is used by http://www.cisco.com for HTTPS downloads; without a username or a password.

  • Installation of the Enterprise Agent requires internet connectivity, or a proxy server. For more information, see the ThousandEyes documentation at: https://docs.thousandeyes.com/product-documentation/enterprise-agents.

  • The Enterprise Agent application can only be used after the user’s license privileges are validated.

  • Only Docker-based applications are supported.

Resources Required for the ThousandEyes Enterprise Agent

This table describes the required resources for installing the ThousandEyes Enterprise Agent:

Table 1. Resources Required for the ThousandEyes Enterprise Agent

App Media

Maximum Resource

Minimum Supported Release

Bootflash

  • CPU: 2 vCPU

  • Memory: 2G RAM

  • Storage: 1G for persistent logging by applications.

Cisco NX-OS Release 10.4(2)F

Installing the ThousandEyes Enterprise Agent

Guidelines and Limitations

ThousandEyes Enterprise Agent has the following guidelines and limitations:

  • NX-OS supports ThousandEyes Enterprise Agent version 4.4.2 and above.

  • It is recommended to use interface eth0 for the container interface in 10.4(2)F and above. If the interface other than the eth0 is used, the app comes up with proper network configuration right after downgrade, but if the app is stopped, deactivated, or started, the default gateway will not be installed and connectivity to the app is not established. If eth1 is used in 10.4(2)F prior to downgrade, after the downgrade, the runtime configuration incorrectly reflects the VNIC as management instead of gateway (front panel port) even though the configuration within the container is correct. To resolve this issue, reconfigure the ThousandEyes Enterprise Agent. See Installing the ThousandEyes Enterprise Agent.

Configuring Application Hosting for the ThousandEyes Enterprise Agent

Beginning with Cisco NX-OS 10.4(2)F, you can configure up to 4 IPv4 and IPv6 interfaces within the ThousandEye Enterprise agent.

Follow the steps to install the ThousandEyes Enterprise Agent.

SUMMARY STEPS

  1. configure terminal
  2. app-hosting bridge bridge-index
  3. ip address ip-address/mask
  4. vrf member name
  5. exit
  6. app-hosting appid name
  7. app-vnic gateway bridge bridge-index guest-interface guest-interface-number
  8. guest-ipaddress ip-address/mask
  9. exit
  10. app-default-gateway ip-address guest-interfacenumber
  11. nameserver# ip-address
  12. app-resource docker
  13. run-opts options
  14. prepend-pkg-opts
  15. end

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal

Enters global configuration mode.

Step 2

app-hosting bridge bridge-index

Example:

switch(config)# app-hosting bridge 1

Configures the App-hosting bridge and enters App Hosting Bridge configuration mode.

<1-8> Bridge index

Step 3

ip address ip-address/mask

Example:

switch(config-app-hosting-bridge)# ip address 172.25.44.1/30
Configures the App Bridge IPv4 address which acts as the gateway to the Application Container.

Step 4

vrf member name

Example:

switch(config-app-hosting-bridge)# vrf member overlay-VRF
Sets the VRF context. If not configured, it would be part of VRF default.

Step 5

exit

Example:

switch(config-app-hosting-bridge)# exit
Exits App Bridge configuration mode and returns to global configuration mode.

Step 6

app-hosting appid name

Example:

switch(config)# app-hosting appid te_app

Configures an application and enters application-hosting configuration mode.

Step 7

app-vnic gateway bridge bridge-index guest-interface guest-interface-number

Example:

switch(config-app-hosting)# app-vnic bridge 1 guest-interface 0

Configures the guest VNIC interface for an application and enters application-hosting vnic interface mode.

Step 8

guest-ipaddress ip-address/mask

Example:

switch(config-config-app-hosting-app-vnic)# guest-ipaddress 172.25.44.2/30

Configures one of the available IPv4 address from the bridge 1 subnet.

Step 9

exit

Example:

switch(config-config-app-hosting-vlan-access-ip)# exit

Exits App vnic interface configuration mode and returns to app-hosting configuration mode.

Step 10

app-default-gateway ip-address guest-interfacenumber

Example:

switch(config-app-hosting-)# app-default-gateway 172.25.44.1

Configures the available IPv4 address from the bridge1 subnet.

Step 11

nameserver# ip-address

Example:

Device(config-app-hosting)# name-server0 10.2.2.2

Configures the DNS server.

Step 12

app-resource docker

Example:

switch(config-app-hosting)# app-resource docker

Enters application-hosting docker-configuration mode to specify application resource updates.

Step 13

run-opts options

Example:

switch(config-app-hosting-docker)# run-opts 1 
"-e TEAGENT_ACCOUNT_TOKEN=[account-token]"
run-opts 10 "-e TEAGENT_DEF_IPV4_GW_ETH1=172.25.44.65"
run-opts 11 "-e TEAGENT_DEF_IPV6_GW_ETH1=2001:420:287:2003:7:110:1205:1"
run-opts 12 "-e TEAGENT_DEF_IPV4_GW_ETH2=172.25.44.73"
run-opts 13 "-e TEAGENT_DEF_IPV6_GW_ETH2=2001:420:287:2003:7:110:1206:1"
run-opts 14 "-e TEAGENT_DEF_IPV4_GW_ETH3=172.25.44.81"
run-opts 15 "-e TEAGENT_DEF_IPV6_GW_ETH3=2001:420:287:2003:7:110:1207:1"

Specifies the Docker run time options.

You can configure additional default gateways through the run-opts option. The TEAGENT_DEF_IPV[4/6]_GW_ETH[0-3] command is used to indicate IPv4 and IPv6 and the index is between 0-3.You can only configure 1 gateway using the app-default-gateway command.

Step 14

prepend-pkg-opts

Example:

switch(config-app-hosting-docker)# prepend-pkg-opts

Merges the package options with the Docker runtime options.

Any duplicate variable is overwritten.

Step 15

end

Example:

switch(config-app-hosting-docker)# end

Exits application-hosting docker-configuration mode and returns to privileged EXEC mode.

Example

Following is the example for ThousandEye multi interface configuration.


app-hosting bridge 1
ip address 172.25.44.113/29
ipv6 address 2001:420:287:2003:7:110:1210:1/125
app-hosting bridge 2
vrf member apphosting
ip address 172.25.44.97/30
ipv6 address 2001:420:287:2003:7:110:1208:1/126
app-hosting bridge 3
vrf member te
ip address 172.25.44.105/29
ipv6 address 2001:420:287:2003:7:110:1209:1/125
app-hosting bridge 4
vrf member vxlan_blue
ip address 172.25.44.33/30
ipv6 address 2001:420:287:2003:7:110:1203:1/114
app-hosting appid tea
app-vnic gateway bridge 1 guest-interface 0
guest-ipaddress 172.25.44.114/29
guest-ipv6address 2001:420:287:2003:7:110:1210:2/125
app-vnic gateway bridge 2 guest-interface 1
guest-ipaddress 172.25.44.98/30
guest-ipv6address 2001:420:287:2003:7:110:1208:2/126
app-vnic gateway bridge 3 guest-interface 2
guest-ipaddress 172.25.44.106/29
guest-ipv6address 2001:420:287:2003:7:110:1209:2/125
app-vnic gateway bridge 4 guest-interface 3
guest-ipaddress 172.25.44.34/30
guest-ipv6address 2001:420:287:2003:7:110:1203:2/114
app-default-gateway 172.25.44.97 guest-interface 1
app-default-ipv6-gateway 2001:420:287:2003:7:110:1208:1 guest-interface 1
app-resource docker
prepend-pkg-opts
run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN=[account-token]"
run-opts 2 "--hostname=southlake2-1-Multi-UsrVRF"
run-opts 5 "-e TEAGENT_PROXY_TYPE=STATIC"
run-opts 6 "-e TEAGENT_PROXY_LOCATION=proxy.domainname.com:80"
run-opts 7 "-e TEAGENT_PROXY_BYPASS_LIST=T*.domainname.com"
run-opts 8 "--dns 8:8:8:8"
run-opts 9 "--dns 8::8"
run-opts 10 "-e TEAGENT_DEF_IPV4_GW_ETH0=172.25.44.113"
run-opts 11 "-e TEAGENT_DEF_IPV6_GW_ETH0=2001:420:287:2003:7:110:1210:1"
run-opts 14 "-e TEAGENT_DEF_IPV4_GW_ETH2=172.25.44.105"
run-opts 15 "-e TEAGENT_DEF_IPV6_GW_ETH2=2001:420:287:2003:7:110:1209:1"
run-opts 16 "-e TEAGENT_DEF_IPV4_GW_ETH3=172.25.44.33"
run-opts 17 "-e TEAGENT_DEF_IPV6_GW_ETH3=2001:420:287:2003:7:110:1203:1"

Installing the ThousandEyes Enterprise Agent

Before you begin

You can install the ThousandEyes Enterprise Agent from a file in the bootflash of the switch.

SUMMARY STEPS

  1. app-hosting install appid application-name package package-path
  2. app-hosting activate appid application-name
  3. app-hosting start appid application-name
  4. end

DETAILED STEPS

  Command or Action Purpose

Step 1

app-hosting install appid application-name package package-path

Example:

switch# app-hosting install appid 1keyes package bootflash:[file path]

Installs an application from the specified location.

Step 2

app-hosting activate appid application-name

Example:

switch# app-hosting activate appid 1keyes

Activates the application hosting configuration mode

Step 3

app-hosting start appid application-name

Example:

switch# app-hosting start appid 1keyes

(Optional) Starts the application.

Step 4

end

Example:

switch# end

Exits application hosting configuration mode and returns to privileged EXEC mode.

The following is sample output from the show app-hosting list command:
switch# show app-hosting list 

App id                                   State
---------------------------------------------------------
1keyes                                   RUNNING

Configuration Examples for ThousandEyes Enterprise Agent

Examples: Installing ThousandEyes Enterprise Agent

The following example shows how to enable apphosting feature:

switch# configure terminal
switch(config)# feature app-hosting
switch(config)# end
The following example shows how to configure AppHosting:

switch# configure terminal
switch(config)# app-hosting bridge 2

switch(config)# ip address 172.25.44.1/28
switch(config)# app-hosting appid 1keyes
switch(config-app-hosting)# app-vnic gateway bridge 1 guest-interface 0
switch(config-config-app-hosting)# guest-ipaddress 172.25.44.3/28
switch(config-config-app-hosting)# exit
switch(config-app-hosting)# app-default-gateway 172.25.44.1 guest-interface 0
switch(config-app-hosting)# name-server0 10.2.2.2
switch(config-app-hosting)# app-resource docker
switch(config-app-hosting-docker)# run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN=[account-token]"
switch(config-app-hosting-docker)# prepend-pkg-opts
switch(config-app-hosting-docker)# end
The following example shows how to configure the SVI:
switch(config)# interface Vlan606
switch(config-if)# no shutdown
switch(config-if)# vrf member red
switch(config-if)# no ip redirects
switch(config-if)# ip address 172.30.2.193/26
switch(config-if)# ip proxy-arp
switch(config-if)# ip local-proxy-arp
switch(config-if)# interface Ethernet1/15
switch(config-if)# switchport
switch(config-if)# switchport mode trunk
switch(config-if)# switchport trunk allowed vlan 606
switch(config-if)# no shutdown

Sample Configuration for ThousandEyes Enterprise Agent

The following is sample output from the show app-hosting detail command:

switch# show app-hosting detail
App id : 1keyes
Owner : appmgr
State : DEPLOYED
Application
Type : docker
Name : ThousandEyes Enterprise Agent
Version : 4.0.2
Description :
Author : ThousandEyes <support@thousandeyes.com>
Path : /bootflash/thousandeyes-enterprise-agent-4.0.2.cisco.tar.gz
URL Path :
Activated profile name : custom
Resource reservation
Memory : 2048 MB
Disk : 51 MB
CPU : 7400 units
Platform resource profiles
Profile Name CPU(unit) Memory(MB) Disk(MB)
--------------------------------------------------------------
Attached devices
Name Type Alias
---------------------------------------------
iox_trace serial/trace serial3
iox_syslog serial/syslog serial2
iox_console_aux serial/aux serial1
iox_console_shell serial/shell serial0
Network interfaces
---------------------------------------
Docker
------
Run-time information
Command :
Entry-point :
Run options in use :
Package run options :
Application health information
Status : 0
Last probe error :
Last probe output :

The following sample output from the show running-configuration command without proxy server:

switch# show running-config app-hosting

feature app-hosting
app-hosting signed-verification disable
app-hosting bridge 2
ip address 172.25.44.33/28
app-hosting appid 1keyes
app-vnic gateway bridge 2 guest-interface 0
guest-ipaddress 172.25.44.35/28
app-default-gateway 172.25.44.33 guest-interface 0
name-server0 171.70.168.183
name-server1 173.36.131.10
app-resource docker
prepend-pkg-opts
run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN = [account-token]"
run-opts 2 "--hostname=southlake2-1"
run-opts 3 "--cap-add=NET_ADMIN"
run-opts 4 "--mount type=tmpfs,destination=/var/log/agent,tmpfs-size=140m"
run-opts 5 "-e TEAGENT_PROXY_TYPE=STATIC"
run-opts 6 "-e TEAGENT_PROXY_LOCATION=proxy.domainname.com:80"
run-opts 7 "-e TEAGENT_PROXY_BYPASS_LIST=T*.domainname.com"