This post will go over installing the ThousandEyes agents in the lab. To see all the posts in this series expand the box below.
- Part 1 – The What and the Why
- Part 2 – Lab build
- Part 3 – Enterprise and Endpoint Agent Installs <–You Are Here
- Part 4.1 – SNMP Monitoring
- Part 4.2 – Scenarios and Test Types
- Part 4.3.1 – Scenario 1 – Enterprise agent to agent test configuration
- Part 4.3.2 – Scenario 2 – Enterprise DNS test configuration
- Part 4.3.3 – Scenario 3 – Enterprise and Endpoint HTTP test configuration (Coming soon)
- Part 4.3.4 – Scenario 4 – Enterprise Page Load test configuration (Coming less soon)
- Part 4.3.5 – Scenario 5 – Enterprise Transaction test configuration and Endpoint Agent Browser Settings (Coming more less soon)
- Part 4.4+ – Details TBD
There are some behind-the-scenes posts that go into more detail on how and why I took the approach that I did. Those can be found here:
- Behind the Scenes – The Lab Build
- Ok, there’s only one so far, but I plan to add more where it makes sense.
- 4x Linux Enterprise Agent installs on the CML Ubuntu instances
- CS1-1, CS1-2, CS2-1, and CS2-2
- 2x Docker Enterprise Agent container deployments on the Ubuntu Docker host
- These two agents will be added to a cluster
- 1x Raspberry Pi Enterprise agent (optional)
- 1x Windows Endpoint Agent install on the Windows VM
Prerequisites
- More details on the ThousandEyes/Catalyst licensing can be found here: https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-thousand-campus-assurance-so-cte-en.html
- There’s detailed information on how to activate the Licenses here: https://www.cisco.com/c/dam/m/en_us/customer-experience/collateral/thousandeyes-activation-guide.pdf
If existing licenses are unavailable a 15-day trial license can be requested here: https://www.thousandeyes.com/signup/
Additional hardware and software
- Raspberry Pi 4 Model B with at least 4GB RAM (Very hard to find in stock right now
- Computer with SD card slot or adapter
- USB 3.0 SD card adapter – https://amzn.to/3NNerVg
- Blank 32GB SD card – These two are recommended by ThousandEyes
- Samsung EVO Plus 32GB SD card – https://amzn.to/3DHu1gu
- SanDisk Extreme 32GB SD card – https://amzn.to/3x85PCW
- SD card writing program installed – https://www.raspberrypi.com/software/
Installs
Account Group Token
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand Cloud & Enterprise Agents
- Click Agent Settings
- Click the Add New Enterprise Agent button
- Click the eye button to show the token, or the copy button to store it on the clipboard
- Store the token in a safe, convenient location. It will be used to add agents to the ThousandEyes account throughout this process.
Linux Enterprise Agent install
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand Cloud & Enterprise Agents
- Click Agent Settings
- Click the Add New Enterprise Agent button
- Click the option for Linux Package
- Copy the commands displayed
- Perform the following steps for CS1-1. CS1-2, CS2-1, and CS2-2 in CML
- In CLM open the terminal session and log in
- Paste the commands into the terminal and press Enter
- It may take some time, but eventually there will be a prompt that say:
The default log path is /var/log. Do you want to change it [y/N]?
- Press Enter to accept the default log location
- It might take 10 minutes or it could be over an hour for the process to complete and the agent to come online. When it returns to the user prompt the service should be started.
- When the installs are complete they should be listed in the ThousandEyes portal under Enterprise Agents
Docker Enterprise Agent install
-
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand Cloud & Enterprise Agents
- Click Agent Settings
- Click the Add New Enterprise Agent button
- Click the option for Docker
- Scroll down to the sections with the commands
- Copy the section to configure seccomp and apparmor profile
- Log in to the Ubuntu node that is the Docker host and paste in the commands:
- Add listening IPs for the Docker containers
-
sudo ip add add 192.168.1.51 dev ens33 sudo ip add add 192.168.1.52 dev ens33
-
- Pull the TE Docker image
-
docker pull thousandeyes/enterprise-agent > /dev/null 2>&1
-
- Update these commands by putting in your ThousandEyes token and changing the IPs if needed, then run them to create two ThousandEyes agents.
- Add listening IPs for the Docker containers
NOTE: These commands have been updated to include DNS and IP settings that aren’t available on the ThousandEyes Enterprise Agent page. If you use the commands from ThousandEyes the DNS and Published ports will need to be updated.
-
-
-
docker run --hostname='TE-Docker1' --memory=2g --memory-swap=2g --detach=true --tty=true --shm-size=512M -e TEAGENT_ACCOUNT_TOKEN=<--Your Token goes here--> -e TEAGENT_INET=4 -v '/etc/thousandeyes/TE-Docker1/te-agent':/var/lib/te-agent -v '/etc/thousandeyes/TE-Docker1/te-browserbot':/var/lib/te-browserbot -v '/etc/thousandeyes/TE-Docker1/log/':/var/log/agent --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --name 'TE-Docker1' --restart=unless-stopped --security-opt apparmor=docker_sandbox --security-opt seccomp=/var/docker/configs/te-seccomp.json --dns=10.133.100.10 --dns-search=cml.lab --publish=192.168.1.51:49152:49152/udp --publish=192.168.1.51:49153:49153/udp --publish=192.168.1.51:49153:49153/tcp thousandeyes/enterprise-agent /sbin/my_init
-
docker run --hostname='TE-Docker2' --memory=2g --memory-swap=2g --detach=true --tty=true --shm-size=512M -e TEAGENT_ACCOUNT_TOKEN=<--Your Token goes here--> -e TEAGENT_INET=4 -v '/etc/thousandeyes/TE-Docker2/te-agent':/var/lib/te-agent -v '/etc/thousandeyes/TE-Docker2/te-browserbot':/var/lib/te-browserbot -v '/etc/thousandeyes/TE-Docker2/log/':/var/log/agent --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --name 'TE-Docker2' --restart=unless-stopped --security-opt apparmor=docker_sandbox --security-opt seccomp=/var/docker/configs/te-seccomp.json --dns=10.133.100.10 --dns-search=cml.lab --publish=192.168.1.52:49152:49152/udp --publish=192.168.1.52:49153:49153/udp --publish=192.168.1.52:49153:49153/tcp thousandeyes/enterprise-agent /sbin/my_init
-
-
- When the installs are complete they should be listed in the ThousandEyes portal under Enterprise Agents
Docker Enterprise Agent configuration
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand Cloud & Enterprise Agents
- Click Agent Settings
- Click on the Agent
- In the right panel click on Advanced Settings
- Updated the IP address with the address assigned to that instance
- Click the Save Changes button on the bottom right
- Repeat this process for the other container agent
- At the Enterprise Agents page select both Docker agents
- Click the Edit button
- Select Edit Cluster
- On the right select Add to a new cluster
- Click Save Changes
- The agent icon will be updated to include the cluster icon, and under the Cluster tab it will display the new cluster
Raspberry Pi Enterprise Agent install
I have an automated configuration process for the Raspberry Pi image: https://www.mytechgnome.com/2023/06/15/automated-thousandeyes-raspberry-pi-image-customization/
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand Cloud & Enterprise Agents
- Click Agent Settings
- Click the Add New Enterprise Agent button
- The pane on the right should open the the Appliance tab, under Physical Appliance Installer find the Raspberry Pi 4, and to the right of that click Download – IMG
- Wait for the download to complete. It’s nearly a 1GB file, so it might take a few minutes.
- Connect the SD card to the computer that will be doing the imaging
- This process erases the entire card. Make sure you are using a blank card, or you have any valuable data on the card backed up elsewhere.
- Launch the Raspberry Pi Imager
- Under Operating System click Choose OS
- Scroll down to the bottom of the list and click Use custom
- Browse to the location of the downloaded image, select it, and click Open
- Under Storage click on Choose Storage (or Choose Stor…)
- Select the SD card in the window that pops up
- Click Write
- Continuing this process will erase all data on the SD card, if that’s acceptable click Yes
- A progress bar will be displayed, and after a few minutes the image copy should complete successfully. Click continue and close the Raspberry Pi Imager software
- Remove the SD card from the imaging PC and insert it in the Raspberry Pi.
- Boot the Raspberry Pi
- You’ll want a monitor connected to find the IP assigned, though this could also be done by looking at DHCP leases, scanning the network, or trying name resolution for the default hostname: tepi
- Make sure there’s a network cable plugged in and connected to the LAN (the ThousandEyes agent doesn’t support wireless connections)
- When the Pi finishes booting find the IP address displayed on the screen
- Use a web browser to connect to the IP of the Pi agent (using the name might work – https://tepi/)
- Likely the browser will display a security warning because the certificate is untrusted. Go through the steps required to accept the security risk and access the site.
- At the login page enter the default credentials: admin / welcome
- The first page will prompt to change the password. Enter the current password and create a new one, then click Change Password
- The next page prompts for the Account Group Token. Enter the token value that was collected earlier in this post and then click Continue
- The agent will go through a check-in process and provide diagnostic data. If everything looks good you can click Complete
- That completes the required agent set up. It will then bring you to the network configuration page. Scroll down to the DNS section, switch the Current DNS Resolver to Override and enter the IP 10.133.100.10 in the Primary DNS box
- The agent should now be listed in the ThousandEyes portal under Enterprise Agent
Windows Endpoint Agent install
- Start the Windows VM and log in
- Open a web browser and navigate to https://www.thousandeyes.com/
- Log into your account
- Click the Hamburger icon in the top left
- Expand the Endpoint Agents section
- Click on Agent Settings
- Either a splash screen with a Download button will appear, or there will be a button to Add New Endpoint Agent. Click the button that shows up – both bring up the same pane
- Leave the Endpoint Agent radio button selected and click the button Download – Windows MSI
- The Mac installation isn’t being covered here, but there’s instructions on how to install it here: https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents/installing
- There will be two options for the processor architecture, select the x64 Windows MSI
- When the download completes run the MSI
- The installation is a typical MSI package, so I’m not going to include screenshots for every step
- Click Next to start the install
- Read the EULA and if you agree to the terms check the box to accept and click Next
- Click on the TCP Network Tests Support and select “Will be installed on local hard drive”
- Do the same for at least one browser extension. Edge is the default browser on Windows 10, but if you want to install and use Chrome then get Chrome installed before continuing the Endpoint Agent installation. Click Next when you have the browser selected.
- Click Install
- If there us a UAC prompt for the install, click yes to continue
- Click Finish
- It might take a few minutes for the agent to check in, but eventually you should see the agent listed under Endpoint Agents in the portal
Conclusion
- Bare metal install (Intel NUC or other hardware)
- OVA (VMware ESX, Workstation, and Player, Microsoft Hyper-V Oracle VirtualBox)
- Application hosting on Cisco platforms (Catalyst 9300 and 9400, Nexus 9300 and 9500, Catalyst 8000, ISR, ASR)
- AWS CloudFormation Template
- Mac OS Endpoint Agents
- Pulse Endpoint Agents for external entities