Understanding the Meta, Comcast, and LinkedIn Outages

Product Updates

Deploying ThousandEyes Agents with Puppet

By Paulo Cabido
| | 6 min read


ThousandEyes agents can help you understand and troubleshoot what's happening with your network and infrastructure, by providing visibility from the inside and allowing you to go all the way to the cloud provider. Deploying ThousandEyes agents is a simple process. The installation script is so easy to use you can have a private agent online and collecting data within a few minutes. But manually installing software, no matter how easy it is to install, on multiple servers is ancient history.

Because we realize how important it is to automate the software installation and configuration processes, especially for installations of tens or hundreds of agents, we will be supplying modules for the most popular configuration management tools, starting with Puppet.

ThousandEyes Private Agent Module for Puppet

The module is called as a parameterized class. The parameters are almost the same as the ones used in the install script, with the ip_version parameter being the exception (described below).

The available parameters are:

  • browserbot - Set to 'true' to enable BrowserBot. Default: false
  • international_langs - Set to 'true' to install the international language support package. Default: false
  • account_token - Account token for the agent. Default is the sample value, which equals a disabled agent.
  • log_file - Agent log file path. Default: /var/log/te-agent.log
  • proxy_host - Proxy hostname. Default (disabled): ''
  • proxy_port - Proxy port. Default (disabled): 0
  • ip_version - Ip version for the agent to run with. Can be either 'ipv4' or 'ipv6'. Default: 'ipv4'

Using the Module

Let's look at how you might use this module.

The simplest way of using it is when assuming all the default values. The one parameter that you should always set is the account token:

class { 'teagent':
	account_token => 'your_account_token_goes_here',

Installing the agent with BrowserBot support (which I highly recommend):

class { 'teagent':
	account_token => 'your_account_token_goes_here',
	browserbot    => true,

Some extra fonts might be required to properly display the result of a page load test. In that case you would want to install the agent with BrowserBot support and install the international language package:

class { 'teagent':
	account_token       => 'your_account_token_goes_here',
	browserbot          => true,	
	international_langs => true,

You can also set the target log file:

class { 'teagent':
	account_token  => 'your_account_token_goes_here',
	log_file       => '/var/log/te-agent.log',

The agent can work with an http proxy and in this case you will need to set both the host and the port:

class { 'teagent':
	account_token   => 'your_account_token_goes_here',
	proxy_host      => 'proxy.example.com',
	proxy_port      => '8080',

If you use the install script you have several options to set the ip address, either interactive or as a parameter. With puppet this is a bit more tricky. We tried to keep things as simple as possible here. Not setting the ip_version will default to an IPv4 address. If you want to use an IPv6 address then you can set the ip_version to 'ipv6' as shown below:

class { 'teagent':
	account_token  => 'your_account_token_goes_here',
	ip_version     => 'ipv6',

You can get the ThousandEyes private agent module for Puppet on GitHub.

Subscribe to the ThousandEyes Blog

Stay connected with blog updates and outage reports delivered while they're still fresh.

Upgrade your browser to view our website properly.

Please download the latest version of Chrome, Firefox or Microsoft Edge.

More detail