Introduction
This document describes how to configure ThousandEyes on Cisco IOS-XE® platforms.
Prerequisites
Requirements
Cisco recommends validation of the requirements at the ThousandEyes documentation portal:
Support Matrix Thousand Eyes
Components Used
The information in this document is based on Routers with Cisco IOS-XE.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
ISR4Ks Docker installation
Step 1.
Download the ThousandEyes agent from https://app.thousandeyes.com under the menu Cloud & Enterprise Agents > Agent settings > Add New Enterprise Agent > Cisco Application Hosting:
Step 2.
Copy the .tar file to the bootflash of the router. This can be done via TFTP. Or, download the file on a USB flash drive and copy it to the router bootflash.
Router#dir bootflash: | sec .tar
24577 -rw- 186705920 May 19 2022 16:26:31 +00:00 thousandeyes-enterprise-agent-4.2.2.cisco.tar
Step 3.
Enable the IOx daemon on the router with the iox command and validate the service status.
Router(config)#iox
*May 19 16:40:48.485: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start
Router#show iox-service
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Not Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Not Running
IOx service (Sec storage) : Not Supported
Libvirtd 5.5.0 : Running
Step 4.
Install the agent previously stored on the bootflash with the command app-hosting install appid <agent_name> package bootflash:<file.tar>.
Router#app-hosting install appid ISR4k_Agent package bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Installing package 'bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar' for 'ISR4k_Agent'. Use 'show app-hosting list' for progress.
Step 5.
Verify that the agent is installed correctly with the command show app-hosting list.
Router#show app-hosting list
App id State
---------------------------------------------------------
ISR4k_Agent DEPLOYED
Step 6.
Configure a Virtual Port Interface.
interface VirtualPortGroup1
ip address 192.168.2.254 255.255.255.0
no mop enabled
no mop sysid
end
Step 8.
Configure the VNIC for app-hosting.
Router(config)#app-hosting appid ISR4k_Agent
Router(config-app-hosting)#app-vnic gateway1 virtualportgroup 1 guest-interface 1
Router(config-app-hosting-gateway1)#guest-ipaddress 192.168.2.10 netmask 255.255.255.0
Router(config-app-hosting-gateway#)#exit
Router(config-app-hosting)#app-default-gateway 192.168.2.254 guest-interface 1
Router(config-app-hosting)#name-server1 8.8.8.8
Router(config-app-hosting)#end
NOTE: The IP Address of the name-server command can be an internal or an external DNS server.
|
Step 7.
Set up Docker. The required token can be obtained at https://app.thousandeyes.com under the menu Cloud & Enterprise Agents > Agent settings > Add a New Enterprise Agent > Cisco Application Hosting.
Click on the small eye icon. This displays the Token number unencrypted. Copy the string and proceed with the installation on the router.
Docker installation commands:
Router(config-app-hosting)#app-resource docker
Router(config-app-hosting-docker)#prepend-pkg-opts
Router(config-app-hosting-docker)#run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN= EAGENT_ACCOUNT_TOKEN= xxxxxxxxxxxxxxxxxxxx"
Router(config-app-hosting-docker)#run-opts 2 "--hostname ISR_Agent"
Router(config-app-hosting)#start
Router(config-app-hosting)#end
Router#
*May 30 20:10:00.282: %SYS-5-CONFIG_I: Configured from console by console
*May 30 20:10:06.980: %IM-6-START_MSG: R0/0: ioxman: app-hosting: Start succeeded: ISR_Agent started successfully Current state is RUNNING
Step 9.
Verify that the agent is active with the command show app-hosting list.
Router#show app-hosting list
App id State
---------------------------------------------------------
ISR_Agent RUNNING
ASR1K Docker Installation
Step 1.
Download the agent .tar archive from the Thousand Eyes website thousandeyes-enterprise-agent-x.x.x.cisco.tar.
Step 2.
Copy the .tar file to the bootflash of the router. This can be done via TFTP. Or, download the file on a USB flash drive and copy it to the router bootflash.
Router#dir bootflash: | sec .tar
16 -rw- 186705920 Sep 21 2022 15:02:21 +00:00 thousandeyes-enterprise-agent-4.2.2.cisco.tar
Step 3.
Enable the IOx daemon on the router with the command iox and validate the service status.
Router(config)#iox
Router#show iox-service
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Running
IOx service (Sec storage) : Not Supported
Libvirtd 5.5.0 : Running
Step 4.
Install the agent previously stored on the bootflash with the command app-hosting install appid <agent_name> package bootflash:<file.tar>.
Router#app-hosting install appid ASR_TE package bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Installing package 'bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar' for 'ASR_TE'. Use 'show app-hosting list' for progress.
*Sep 21 16:10:12.900: %IOXCAF-6-INSTALL_MSG: R0/0: ioxman: app-hosting: ASR_TE installed successfully Current state is DEPLOYED
Router#show app-hosting list
App id State
---------------------------------------------------------
ASR1k_TE DEPLOYED
Step 5.
Configure a Virtual Port Interface with a private IP address.
interface VirtualPortGroup0
ip address 192.168.2.254 255.255.255.0
no mop enabled
no mop sysid
end
Step 6.
Configure the VNIC for app-hosting.
Router(config)#app-hosting appid ASR1k_TE
Router(config-app-hosting)#app-vnic gateway1 virtualportgroup 0 guest-interface 0
Router(config-app-hosting-gateway0)#guest-ipaddress 192.168.2.1 netmask 255.255.255.0
Router(config-app-hosting-gateway0)#exit
Router(config-app-hosting)#app-default-gateway 192.168.2.254 guest-interface 0
Router(config-app-hosting)#name-server0 8.8.8.8
Router(config-app-hosting)#app-resource docker
Router(config-app-hosting-docker)#prepend-pkg-opts
Router(config-app-hosting-docker)#run-opts 1 "--hostname ASR1kTE"
Router(config-app-hosting-docker)#run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN=XXXXXXXXXXXXXXXXX"
Router(config-app-hosting-docker)#exit
Step 7.
Activate app-hosting for the cited App ID.
Router(config)#app-hosting appid ASR1k_TE
Router(config-app-hosting)#start
Step 8.
Install the ThousandEyes agent and verify that it is active with the command show app-hosting list.
Router#app-hosting install appid ASR1k_TE package bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Installing package 'bootflash:thousandeyes-enterprise-agent-4.2.2.cisco.tar' for 'ASR1k_TE'. Use 'show app-hosting list' for progress.
Router#show app-hosting list
App id State
---------------------------------------------------------
ASR1k_TE RUNNING
Catalyst 8K Docker installation
Catalyst 8200 configuration
Step 1.
Download the agent .tar file from the ThousandEyes website thousandeyes-enterprise-agent-x.x.x.cisco.tar
Step 2.
Copy the .tar file to the harddisk of the device.
C8200k#dir harddisk:thousandeyes-enterprise-agent-4.3.0.cisco.tar
Directory of harddisk:/thousandeyes-enterprise-agent-4.3.0.cisco.tar
12 -rw- 123064320 Nov 12 2022 21:35:06 +00:00 thousandeyes-enterprise-agent-4.3.0.cisco.tar
15239921664 bytes total (14280880128 bytes free)
C8200k#
Step 3.
Enable the IOx daemon on the router with the command iox and validate the service status.
C8200k(config)#iox
*Nov 12 21:46:51.539: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start
*Nov 12 21:46:52.443: %SYS-5-CONFIG_I: Configured from console by console
*Nov 12 21:47:13.866: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
C8200k#show iox-service
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Running
IOx service (Sec storage) : Not Supported
Libvirtd 5.5.0 : Running
Step 4.
Configure platform resource app-heavy. Save the configuration changes and reload the chassis.
C8200k(config)#platform resource service-plane-heavy
C8200k(config)#end
C8200k#wr
C8200k#reload
Step 5.
Configure a Virtual Port Interface.
interface virtualportgroup 0
ip address 192.168.2.254 255.255.255.0
exit
Step 6.
Configure the VNIC for app-hosting.
C8200k(config)#app-hosting appid TEcat8k
C8200k(config-app-hosting)#app-vnic gateway1 virtualportgroup 0 guest-interface 0
C8200k(config-app-hosting-gateway1)#guest-ipaddress 192.168.2.10 netmask 255.255.255.0
C8200k(config-app-hosting-gateway1)#exit
C8200k(config-app-hosting)#app-default-gateway 192.168.2.254 guest-interface 0
C8200k(config)#app-hosting appid TEcat8k
C8200k(config-app-hosting)#app-resource docker
C8200k(config-app-hosting-docker)#prepend-pkg-opts
C8200k(config-app-hosting-docker)#run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN=xxxxxxxxxxxxxxxxxxxx"
C8200k(config-app-hosting-docker)#run-opts 2 "--hostname TEcat8k"
C8200k(config-app-hosting)#name-server0 8.8.8.8
C8200k(config-app-hosting)#end
Step 7.
Activate app-hosting for the cited App ID.
C8200k(config)#app-hosting appid TEcat8k
C8200k(config-app-hosting)#start
Step 8.
Install the ThousandEyes agent and verify that it is running.
C8200k#app-hosting install appid TEcat8k package harddisk:thousandeyes-enterprise-agent-4.3.0.cisco.tar
Installing package 'harddisk:thousandeyes-enterprise-agent-4.3.0.cisco.tar' for 'TEcat8k'. Use 'show app-hosting list' for progress.
*Jan 21 21:30:17.194: %IM-6-INSTALL_MSG: R0/0: ioxman: app-hosting: Install succeeded: TEcat8k installed successfully Current state is DEPLOYED
*Jan 21 21:30:41.019: %IM-6-START_MSG: R0/0: ioxman: app-hosting: Start succeeded: TEcat8k started successfully Current state is RUNNING
C8200k#show app-hosting list
App id State
---------------------------------------------------------
TEcat8k RUNNING
Catalyst 8300 configuration
Step 1.
Download the agent .tar file from the Thousand Eyes website thousandeyes-enterprise-agent-x.x.x.cisco.tar
Step 2.
Copy the .tar file to the harddisk of the device.
Router#dir harddisk:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Directory of harddisk:/thousandeyes-enterprise-agent-4.2.2.cisco.tar
12 -rw- 186705920 Sep 14 2022 19:02:02 +00:00 thousandeyes-enterprise-agent-4.2.2.cisco.tar
Step 3.
Enable the IOx daemon on the router with the command iox and validate the service status.
Router(config)#iox
*Sep 5 17:48:31.952: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start
*Sep 5 17:48:40.953: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
Router#show iox-service
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Running
IOx service (Sec storage) : Not Supported
Libvirtd 5.5.0 : Running
Step 4.
Configure a Virtual Port Interface.
interface VirtualPortGroup1
ip address 192.168.2.254 255.255.255.0
no mop enabled
no mop sysid
end
Step 5.
Configure the VNIC for app-hosting.
Router(config)#app-hosting appid Cat8k_TE
Router(config-app-hosting)#app-vnic gateway1 virtualportgroup 1 guest-interface 1
Router(config-app-hosting-gateway1)#guest-ipaddress 192.168.2.1 netmask 255.255.255.0
Router(config-app-hosting)#app-default-gateway 192.168.2.254 guest-interface 1
Router(config-app-hosting)#app-resource docker
Router(config-app-hosting-docker)#prepend-pkg-opts
Router(config-app-hosting-docker)#run-opts 1 "--hostname C8k_TE"
Router(config-app-hosting-docker)#run-opts 2 "-e TEAGENT_ACCOUNT_TOKEN=xxxxxxxxxxxxxxxxxxxx"
Router(config-app-hosting)#name-server1 8.8.8.8
Router(config-app-hosting)#start
Step 6.
Configure the start command to initiate the application.
Router(config)#app-hosting appid Cat8k_TE
Router(config-app-hosting)#start
Step 7.
Install the ThousandEyes agent and verify that it is deployed.
Router#app-hosting install appid TEcat8k package harddisk:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Router#show app-hosting list
App id State
---------------------------------------------------------
Cat8k_TE DEPLOYED
Catalyst 8500L configuration
Step 1.
Download the agent .tar file from the ThousandEyes website thousandeyes-enterprise-agent-x.x.x.cisco.tar
Step 2.
Copy the .tar file on the harddisk of the device.
Router#dir harddisk:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Directory of harddisk:/thousandeyes-enterprise-agent-4.2.2.cisco.tar
12 -rw- 186705920 Sep 14 2022 19:02:02 +00:00 thousandeyes-enterprise-agent-4.2.2.cisco.tar
Step 3.
Enable the IOx daemon on the router with the command iox and validate the service status.
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#iox
Router(config)#end
*Sep 15 15:41:23.992: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to startsh
*Sep 15 15:41:25.006: %SYS-5-CONFIG_I: Configured from console by console
*Sep 15 15:41:32.914: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
Router#show iox-service
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Not Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Not Running
IOx service (Sec storage) : Not Supported
Libvirtd 5.5.0 : Running
Step 4.
Configure the Virtual Port interface.
interface VirtualPortGroup1
ip address 192.168.2.254 255.255.255.0
no mop enabled
no mop sysid
end
Step 5.
Configure the VNIC for app-hosting.
Router(config)#app-hosting appid Cat8500L_TE
Router(config-app-hosting)#app-vnic gateway0 virtualportgroup 0 guest-interface 0
Router(config-app-hosting-gateway0)#guest-ipaddress 192.168.2.1 netmask 255.255.255.0
Router(config-app-hosting-gateway0)#exit
Router(config-app-hosting)#guest-gateway 192.168.2.254 guest-interface 0
Router(config-app-hosting)#app-resource docker
Router(config-app-hosting-docker)#prepend-pkg-opts
Router(config-app-hosting-docker)#run-opts 1 "--hostname Cat8500L_TE"
Router(config-app-hosting-docker)#run-opts 2 "-e TEAGENT_ACCOUNT_TOKEN=TEAGENT_ACCOUNT_TOKEN=xxxxxxxxxxxxxxxxxxxx"
Router(config-app-hosting)#name-server1 8.8.8.8
Router(config-app-hosting)#start
Step 6.
Configure platform resource app-heavy. Next, save the configuration changes and reload the chassis.
Router(config)#platform resource app-heavy
Please reboot to activate this template
Router(config)#exit
Router#wr
Router#reload
Step 7.
Install the ThousandEyes agent and verify that it is deployed.
Router#app-hosting install appid Cat8500L_TE package harddisk:thousandeyes-enterprise-agent-4.2.2.cisco.tar
Installing package 'harddisk:thousandeyes-enterprise-agent-4.2.2.cisco.tar' for 'Cat8500L_TE'. Use 'show app-hosting list' for progress.
Router#show app-hosting list
App id State
---------------------------------------------------------
Cat8500L_TE DEPLOYED
Note: NAT can be used with ThousandEyes.
|
The Virtual Port interface can be used as inside interface for NAT.
Example:
Router(config)#ip nat inside source list NAT interface gi0/0/0 overload
Router(config)#ip access-list extended NAT
Router(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 any
interface VirtualPortGroup1
description ThousandEyes
192.168.2.254 255.255.255.0
ip nat inside
interface GigabitEthernet0/0/0
description WAN interface
192.168.114.10 255.255.255.252
ip nat outside