ThousandEyes Documentation
  • ThousandEyes Documentation
  • What's New
    • Changelog
    • Naming and Navigation Menu Changes - Summary List
  • Product Documentation
    • Getting Started
      • Getting Started with Account Setup
      • Getting Started with Cloud and Enterprise Agents
      • Getting Started with Cloud and Enterprise Agent Tests
      • Getting Started with Endpoint Agents
      • Getting Started with Transactions
      • Getting Started with Dashboards
      • Getting Started with Alerts
      • Getting Started with Internet Insights
      • Getting Started with the ThousandEyes API
      • Getting Started with API Tests
      • Getting Support from ThousandEyes
      • Notification of Upgrades, Maintenance and Outages
      • New User FAQ
      • ThousandEyes Glossary
    • Global Vantage Points
      • Cloud Agents
        • Where Are Cloud Agents Available?
        • Webex Cloud Agents
        • AWS Wavelength Cloud Agents
        • Cloud Agent with Local Problems
      • Enterprise Agents
        • Getting Started
          • Where Can I Get the Account Group Token?
        • Installing
          • Enterprise Agent System Requirements
            • Enterprise Agent Support Lifecycle
          • Appliances
            • How to Set Up the Virtual Appliance
            • Enterprise Agents: Hypervisor Installation
            • Installing Enterprise Agent on VirtualBox
            • Enterprise Agent Deployment Using ThousandEyes Virtual Appliance (Hyper-V)
            • Enterprise Agent Deployment Using ThousandEyes Virtual Appliance (OVA)
            • Custom Virtual Appliances
            • Installing a Physical Appliance
            • Installing an Enterprise Agent on a Raspberry Pi Device
          • Cisco Devices
            • Catalyst Switching
            • Catalyst Routing
            • Nexus Switching
            • Service Routing
            • Meraki MX Appliances
            • Cisco Enterprise NFV Infrastructure Software
            • Installation Methods
              • Installing Enterprise Agents on Cisco Nexus Switches with Application Hosting
              • Installing Enterprise Agents on Cisco Nexus Switches with Guestshell
              • Installing Enterprise Agents on Cisco Routers using SD-WAN Manager Feature Templates
              • Installing Enterprise Agents on Cisco Routers using the SD-WAN Manager ThousandEyes Workflow
              • Installing Enterprise Agents on Cisco Switches with Docker
              • Installing Enterprise Agents on Cisco Routers with Docker
              • Installing Enterprise Agents on Cisco Switches with the DNA Center
          • Linux Packages
            • Enterprise Agent Deployment Using Linux Package Method
            • Installing the Enterprise Agent with BrowserBot on Oracle Linux Server 7
          • Docker Agents
            • Installing Enterprise Agents with Docker
          • Cloud Templates
            • Installing Enterprise Agents with Microsoft Azure
          • Docker Agent Configuration Options
          • Missing Dependencies for Enterprise Agent on Redhat Enterprise Linux RHEL 7 Installation
          • Migrating ThousandEyes Appliance or Package-Based Enterprise Agent to Docker
        • Configuring
          • Password Reset on the Virtual Appliance
          • Configuring rDNS Lookups for Enterprise Agents
          • Connecting to the ThousandEyes Virtual Appliance Using SSH (Mac/Linux)
          • Connecting to the ThousandEyes Virtual Appliance Using SSH (Windows)
          • Static IP Addresses for ThousandEyes Repositories
          • Firewall Configuration for Enterprise Agents
          • Enterprise Agent Port Forwarding
          • Security Policy and Public NTP Servers on Enterprise Agents
          • Secure Access to ThousandEyes Appliances
          • Disabling the Web Server of a Virtual Appliance
          • NAT Traversal for Agent-to-Agent Tests
          • Enterprise Agent on Docker Advanced Networking
        • Managing
          • Cisco Devices
            • Disable, Restart, or Uninstall the Enterprise Agent via DCNM
          • Docker Agents
            • Add/Remove BrowserBot from Existing Docker Enterprise Agents
          • Upgrading Operating Systems for Enterprise Agents
          • Backup and Restore Your Enterprise Agent Configuration
          • Upgrade Ubuntu 20.04 Focal-Based ThousandEyes Appliances
          • Crash Reporting for Enterprise Agents
          • Configuring a Local Mirror of the ThousandEyes Package Repository
          • Resetting an Enterprise Agent
          • Working with Enterprise Agent Clusters
          • Replacing an Enterprise Agent Using the Agent Clustering Method
          • Replacing an Enterprise Agent Using Agent Identity Files
          • Unlocking the ThousandEyes Appliance
          • Uninstalling the Enterprise Agent (Linux Package)
        • Proxy Environments
          • Installing Enterprise Agents in Proxy Environments
          • Configuring an Enterprise Agent to Use a Proxy Server
          • Writing and Testing Proxy Auto-Configuration (PAC) Files
        • Troubleshooting
          • How to Generate Packet Captures
          • Troubleshooting Automatic-Update Problems on Enterprise Agents
          • Troubleshooting Time Synchronization on Enterprise Agents
          • Installing CA Certificates on Enterprise Agents
          • Agent Unable to Trace Path to Destination?
          • BrowserBot Installation Fails on Red Hat or CentOS in Amazon EC2
          • What to Do If te-agent Stops Running Due to a VACUUM Error
        • Enterprise Agents: What Information Do We Collect?
        • What Is BrowserBot?
        • Upgrading to BrowserBot 2
        • Upgrading to BrowserBot 2.6+ (Chromium 97)
        • Enterprise Agent Utilization
        • Network Utilization from Enterprise Agent Test Traffic
        • Enterprise Agent Interface Selection
        • ThousandEyes Product Lifecycle Policy
      • Endpoint Agents
        • Installing
          • System Requirements
          • Download the Endpoint Agent Installer
          • Install the Endpoint Agent
          • Reinstall the Endpoint Agent
          • Install the Endpoint Agent Browser Extension
          • Install Endpoint Agents for Windows via Group Policy
          • Installing Browser Extensions for Windows via Group Policy
          • Guidance for Windows Software Deployment Teams
          • Install Endpoint Agents for macOS using Munki and the Managed Software Center
          • Deploy an MSI package to Intune for Windows Devices
          • Endpoint Agent Installation on Cisco Webex Devices (RoomOS)
          • Endpoint Agent Installation on Cisco Phone Devices (PhoneOS)
          • Uninstall or Delete an Endpoint Agent
          • Endpoint Agent Installation Reference
          • NPCAP Driver Upgrade Management
        • Configuring
          • Configure Endpoint Agent Labels
          • Endpoint Agent Proxy Configuration for Scheduled Tests
        • Managing
          • Manage Endpoint Agent Settings
        • How Does the Endpoint Agent Work
        • Cisco Secure Client ThousandEyes Endpoint Agent Module
        • Endpoint Agent Licensing
        • Assigning tests to an Endpoint Agent
        • Data Collected by Endpoint Agent
        • Reporting on data collected by Endpoint Agent
        • Endpoint Agent VPN Support
        • Endpoint Agent TCP Support
        • Endpoint Agent End-user Experience
        • Endpoint Agent FAQ
      • Working with Agent Settings
      • Obtaining a list of ThousandEyes Agent IP Addresses with te-iplist
    • Tests
      • HTTP Server Tests
        • Collecting Proxy Metrics
        • POSIX Extended Regular Expression Syntax (Quick Reference)
        • POSIX Extended Regular Expression Syntax
        • Custom User-Agent Strings in a Web Test
        • Two-Step HTTP Testing (OAuth)
      • Web-Layer Tests
      • Network Tests
        • Network Tests Explained
        • Agent-to-Agent Test Overview
        • DSCP Options in Network Tests
      • DNS Tests
      • Voice Tests
        • SIP Server Test Settings
        • RTP Stream Test Settings
        • Using the SIP Server View
        • Using the RTP Stream View
      • BGP Tests
        • Inside-Out BGP Visibility
        • Using the BGP Route Visualization View
        • Using the BGP Updates Table
        • Working with Raw BGP Data
        • Reasons for Failure of Private Peering with ThousandEyes
        • RPKI
      • API Tests
        • Using the API Test Step Builder
      • Templates
        • User-defined Templates
      • Recommendations
        • Associated Service Recommendations
        • AWS Test Recommendations
      • ThousandEyes Metrics: What Do Your Results Mean?
      • Sharing Test Data
      • Working with Test Settings
      • Scheduled Versus Instant Tests
      • Working with Instant Tests
      • Working with Labels for Agent and Test Groups
      • Multi-Service Views
      • Identifying Traffic from ThousandEyes Agents
      • Excluding ThousandEyes Agents from Google Analytics
    • Internet and WAN Monitoring
      • Path Visualization
        • How Path Trace Works
        • MPLS Tunnel Inference Using Deep Path Analysis
        • Troubleshooting
          • Reasons for Missing Information on the Visualization View
          • Virtual Machine with NAT Breaks Path Visualization
          • Cisco ASA Breaks Path Visualization
          • Path Visualization: Edge Firewall Incorrectly Shows a Single Hop to the Destination
          • Network Overview Shows Packet Loss That Does Not Appear in Path Visualization
      • Views
        • Using the Network Overview
        • Using the FTP Server View
        • Using the HTTP Server View
        • Using the DNS Server View
        • Using the DNS Domain Trace View
        • Using the DNSSEC Trace View
        • Using the API Test Views
      • Troubleshooting
        • CLI Network Troubleshooting Utilities
        • HTTP Server Test Fails with SSL Error
        • HTTP Server Test Fails with SSL Error: OpenSSL SSL_connect: SSL_ERROR_SYSCALL
        • HTTP Server Test Error "dh Key Too Small"
    • Browser Synthetics
      • Browser Synthetics Test Types
      • Browser Synthetics Disambiguation
      • Test Settings for Page Load and Transaction Tests
      • Navigating Waterfall Charts for Page Load and Transaction Tests
      • Using Round Robin Test Scheduling
      • What Information Is Transmitted in a Page Load or Transaction Test?
      • Transaction Test SSO Support
        • Implementing SSO in Transaction Scripts
        • Caveats for NTLM/Kerberos Authentication
        • TOTP Examples for SSO
      • Page Load Tests
        • When to Use a Page Load Test
        • Creating a Page Load Test
        • Using the Page Load View
        • How to Generate a HAR File
        • Migrating to Single Interval for Page Load Tests
        • Creating a Page Load Test that Uses SSO
      • Transaction Tests
        • Getting Started With Transaction Tests
          • When to Use a Transaction Test
          • Transaction Tests Compared With Other Test Types
          • ThousandEyes Recorder
          • ThousandEyes Recorder Permissions
          • Working With Web Development Tools
          • Working With Secure Credentials
          • Transaction Test Table Tab View
          • Transaction Metrics on Alerts and Dashboards
          • Screenshots in Transaction Test Views
        • Transaction Test Development Guide
          • Creating Robust Transaction Scripts
            • Optimizing and Troubleshooting Transaction Scripts
            • Transaction Scripting Tips and Tricks
          • Transactions – Executing Custom JavaScript Code
        • Use Cases | Code Examples
          • Uploading or Downloading Files in a Script
            • Transaction Scripting Examples for File Downloads
          • Include API Calls in a Transaction Test
            • Using the node-fetch module
            • Using the net module
            • Using the tls module
        • Transaction Scripting Reference
      • Dual Chromium Option
        • Why Are Regular Chromium Upgrades Needed?
        • Configuring Dual Chromium
        • Working With Dual Chromium
        • Chromium Update History
        • Chromium Upgrade Known Issues
    • Endpoint Experience
      • Test Settings
        • Monitoring an Application using Synthetic Tests
        • Configuration Options for Synthetic Tests
        • Managing Synthetic Tests
        • Real User Tests
      • Viewing Data
        • Endpoint Agent Scheduled Tests View
        • Endpoint Agent Real User Tests View
        • Endpoint Agent Local Networks View
        • Endpoint Agent Dynamic Tests View
        • Endpoint Agent Views
        • Endpoint Views Reference
      • Troubleshooting
        • Step-by-Step Guide to Troubleshooting Endpoint Agent Problems
        • Troubleshooting Endpoint Agent Issues
    • Connected Devices
      • Connected Devices Tests
        • Routing
          • Traceroute
        • Network
          • Speed Tests
          • Latency, Loss, Disconnections, and Jitter Tests
          • Responsiveness (Latency under Load) Tests
        • DNS
          • DNS Resolution Tests
        • Web
          • Web Browsing Lite Tests
          • Generic Streaming (HLS/DASH) Tests
        • Voice
        • Dynamic Application Test Suites
          • Gameplay Test Suite
          • Video Conferencing Test Suite
          • Social Media Test Suite
          • Game Store Test Suite
          • Video Streaming Test Suite
            • Netflix Streaming Tests
            • YouTube Streaming Tests
            • BBC iPlayer Streaming Tests
          • Content Delivery Network (CDN) Test Suite
        • Local Network Information
          • Data Usage
      • Test Management
        • Test Triggers
          • Scheduled Tests
          • Instant Tests
        • Testing Thresholds
        • Test Targets
          • Test Server Methodology
        • Automatic Test Configuration Retrieval
      • Device Agents
        • Router Agents
          • Router Agent Device Support
        • Connected Devices Agent Release Versions
      • Usage Guides
        • Viewing Charts
        • Configuring Charts
        • Using Maps
        • Exporting Data
        • Importing Metadata
        • Managing Metadata
        • Creating Reports
        • Viewing Agents
        • Using Test Schedules
        • Accessing Your APIs
        • Using ConstantCare
      • Cisco Real Speed
    • Cloud Insights
      • Integrations
      • Views
      • Settings
    • Traffic Insights
      • Traffic Insights System Requirements
      • Traffic Insights Configuration Guide
      • Traffic Insights Views and Settings
      • Traffic Insights FPS Monitoring
    • WAN Insights
      • WAN Insights Quick Start
        • How to Activate ThousandEyes WAN Insights
        • WAN Insights Introductory Tour, Part 1
        • WAN Insights Introductory Tour, Part 2
        • WAN Insights Introductory Tour, Part 3
      • Introducing WAN Insights
        • What Is WAN Insights?
        • WAN Insights Value-Add
        • Why Use WAN Insights?
        • Using WAN Insights Together With ThousandEyes Network Assurance
        • Using WAN Insights Together with vAnalytics and vManage
        • WAN Insights Key Components
        • Enabling WAN Insights
        • Getting Support for WAN Insights
      • WAN Insights Terminology and Reference
      • WAN Insights Technical Overview
        • Application Categories
        • Sites, Routers, Paths, and Interfaces
        • Application Traffic Types
        • Estimating User Counts
        • Estimating Throughput
        • Capacity Planning
        • Understanding Quality
        • Life of a Recommendation
        • Understanding Recommendations
        • WAN Insights and ThousandEyes Alerts
      • WAN Insights User Interface
        • Logging In for the First Time
        • WAN Insights Screens and Workflows
        • Recommendations Screen
        • Recommendation Cards, Explained
        • Recommendation Details Modal
        • Endpoint-Pair Quality Comparison
        • Site Details Screen
        • Capacity Planning Screen
        • Capacity Detail Modal
        • Enter or Upload Bandwidth Data
      • Common Tasks
        • Adding Business-Critical Applications to WAN Insights
        • Email Notifications
        • Adding and Managing WAN Insights Users
        • Applying WAN Insights Recommendations
    • Internet Insights
      • Internet Insights Terminology
      • Limited Outage Map
      • Internet Insights Screens
        • Overview Screen
        • Internet Insights Service Views Screen
        • Application Outages
        • Network Outages
        • Catalog Settings Screen
      • Saving and Sharing from Internet Insights
      • Configuring Internet Insights
      • Provider Labels
      • Using Alerts and Dashboards With Internet Insights
        • My Affected Tests
        • Setting Up Alert Rules for Internet Insights
        • Using the Internet Insights Built-In Dashboard
    • Event Detection
    • Alerts
      • Creating and Editing Alert Rules
        • Global and Location Alert Conditions
        • Alert Rule Severity
        • Adaptive Alert Detection
        • Dynamic Baselines
        • Transport Layer Security (TLS) Alerts
        • Alert Rules for Devices
        • Alert Metrics Reference
      • Default Alert Rules
      • Viewing Alerts
      • Alert Clearing
        • Alert Suppression Windows
      • Alert Notifications
      • Standard Notification Methods
        • Alert Notifications via Email
        • Alert Notifications via SMS
        • Classic Webhooks for Alert Notifications
    • Dashboards
      • Using the Dashboard
      • Customizing Your Dashboard
      • Using the Dashboard Templates
      • Dashboard Widgets
      • Embedding Dashboard Widgets in External Web Sites
      • Excluding Periods of Data From a Dashboard
      • Dashboard Sharing and Snapshots
      • Dashboard Labels
      • Troubleshooting with Dashboard Drill Down
      • Tailoring Dashboards with Dashboard Filters
    • Device Layer
      • Discovering Device-Layer Devices
      • Device Discovery Results
      • Using the Device Layer View
    • Account Management
      • User Registration
        • SAML JIT Provisioning
        • ThousandEyes Support for SCIM
          • How to Configure SCIM with Azure Active Directory
          • How to Configure SCIM with Okta
      • Authorization
        • Role-Based Access Control
          • Role-Based Access, Explained
          • Built-In Roles and Permissions
        • Account Groups
          • What is an Account Group?
          • Working with Account Settings
          • Users in Multiple Organizations
          • Changing Ownership of a Test
          • Working with Time Zone Settings
        • OAuth 2.0 with ThousandEyes
          • Integrations with OAuth 2.0
        • Adding a Profile Image with Gravatar
      • Authentication
        • Logging In
        • How to Configure Single Sign-On
      • User Activity
        • Working with the Activity Log
        • ThousandEyes User Session Timeouts and Terminations
        • How Long is my Data Accessible via ThousandEyes?
        • Retaining Data Beyond the 90-Day Limit
        • Multi-Region Cloud Support
      • Usage-Based Billing
        • About Our Consumption Model
          • Device Agent Consumption Model
        • About Units
        • Test Type Layers and Units
        • Setting Quotas
        • Calculating Units
        • FAQs: Usage
      • Customer Security and Privacy Responsibilities
    • Integrations
      • Custom Webhooks
        • Using OAuth 2.0 Authentication for Your Custom Webhook
        • Webhook Variables
      • Custom Webhook Examples
        • Microsoft Teams for Alert Notifications
        • Cisco Webex for Alert Notifications
        • Google Chat for Alert Notifications
        • Event-Driven Ansible for Alert Notifications
        • Splunk Alert Notification
      • Custom-Built Integrations
        • PagerDuty for Alert Notifications
        • ServiceNow for Alert Notifications
          • Incident Management
        • Slack for Alert Notifications
        • AppDynamics for Alert Notifications
        • AppDynamics for Test Recommendations
        • AWS for Test Recommendations
        • AWS for Cloud Insights
          • AWS for Cloud Insights Using CLI
        • Meraki for Data Enrichment
        • Webex Control Hub Integration
        • Microsoft Teams Integration
        • ThousandEyes for OpenTelemetry
          • Configuring ThousandEyes for OpenTelemetry
            • Configuring ThousandEyes for OpenTelemetry Using the API
            • Configuring ThousandEyes for OpenTelemetry Using the UI
          • Configuring ThousandEyes for Splunk Cloud or Enterprise
            • Configuring ThousandEyes for Splunk Cloud or Enterprise using the API
            • Configuring ThousandEyes for Splunk Cloud or Enterprise using the UI
          • ThousandEyes for OpenTelemetry Data Model
            • ThousandEyes for OpenTelemetry Data Model v1
              • OpenTelemetry Collector Data v1 Example
            • ThousandEyes for OpenTelemetry Data Model v2
              • ThousandEyes for OpenTelemetry Data Model v2 - Metrics
                • OpenTelemetry Collector Data v2 Metrics Example
                • ThousandEyes for OpenTelemetry Data Model Metrics - Migration from v1 to v2
              • ThousandEyes for OpenTelemetry Data Model v2 - Traces
                • OpenTelemetry Collector Data v2 Traces Example
          • OpenTelemetry Collector Configuration
          • Automatic Disabling of Failing Streaming Integrations
        • Cisco ThousandEyes App for Splunk
          • Configuration
          • Inputs
          • Dashboards
          • Troubleshooting
    • Best-Practices Guides
      • Choosing the Right Test Protocol for Network & App Synthetics Tests
      • Optimizing SYN vs SACK Probing Methods to Avoid Unexplainable Packet Loss
      • Using Dashboards to Tell a Story
      • Best Practices for Implementing Account Groups
      • Monitoring Microsoft 365
      • Monitoring Microsoft Teams
      • Monitoring Salesforce
      • Monitoring Slack
      • Monitoring Webex Meetings with Endpoint Agents
      • Monitoring Webex Calling
      • Monitoring Webex Meetings with Cloud and Enterprise Agents
      • Monitoring Zoom
    • API
      • Create/Update/Delete Tests Using the ThousandEyes API
      • Obtaining a List of ThousandEyes Agent IP Addresses
      • Writing JSON to API Produces HTTP 406 Response Code
    • Privacy-Related
      • Authorized Subprocessors for ThousandEyes Network Intelligence Platform
    • Archived Documentation
      • Archived - Displaying and Alerting for Unit Consumption
      • Archived - Dependency Tree for ThousandEyes Enterprise Agent Software
      • Archived - Getting Started with ThousandEyes
      • Archived - Sending ThousandEyes Alerts to AppDynamics
      • Archived - ThousandEyes Infrastructure Changes
      • Archived - Using the Transactions (Classic) View
      • Archived - Transaction Test Migration Workflow
      • Archived - Instructions for Mitigating Meltdown and Spectre on Enterprise Agents
      • Archived - Bash (ShellShock) Security Notice
      • Archived - Endpoint Installation using Customized Installers
      • Archived - Configuring Endpoint Agent Setup
      • Archived - Creating Scheduled Tests on Endpoint Agents
      • Archived - Managing the Endpoint Agent
      • Archived - Enterprise Agent Installation on Juniper NFX Routers
      • Archived - Installing and Removing ThousandEyes X Virtual Framebuffer on Enterprise Agents
      • Archived - Permitted Content Types for Page Load Tests
  • Archived Release Notes
    • 2024
      • Release Notes: January 2024
      • Release Notes: February 2024
      • Release Notes: March 2024
      • Release Notes: April 2024
      • Release Notes: May 2024
      • Release Notes: June 2024
      • Release Notes: July 2024
      • Release Notes: August 2024
    • 2023
      • Release Notes: January 2023
      • Release Notes: February 2023
      • Release Notes: March 2023
      • Release Notes: April 2023
      • Release Notes: May 2023
      • Release Notes: June 2023
      • Release Notes: July 2023
      • Release Notes: August 2023
      • Release Notes: September 2023
      • Release Notes: October 2023
      • Release Notes: November 2023
      • Release Notes: December 2023
    • 2022
      • Release Notes: January 2022
      • Release Notes: February 2022
      • Release Notes: March 2022
      • Release Notes: April 2022
      • Release Notes: May 2022
      • Release Notes: June 2022
      • Release Notes: July 2022
      • Release Notes: August 2022
      • Release Notes: September 2022
      • Release Notes: October 2022
      • Release Notes: November 2022
      • Release Notes: December 2022
    • 2021
      • Release Notes: January 2021
      • Release Notes: February 2021
      • Release Notes: March 2021
      • Release Notes: April 2021
      • Release Notes: May 2021
      • Release Notes: June 2021
      • Release Notes: July 2021
      • Release Notes: August 2021
      • Release Notes: September 2021
      • Release Notes: October 2021
      • Release Notes: November 2021
      • Release Notes: December 2021
    • 2020
      • Release Notes: January 2020
      • Release Notes: February 2020
      • Release Notes: March 2020
      • Release Notes: April 2020
      • Release Notes: May 2020
      • Release Notes: June 2020
      • Release Notes: July 2020
      • Release Notes: August 2020
      • Release Notes: September 2020
      • Release Notes: October 2020
      • Release Notes: November 2020
      • Release Notes: December 2020
    • 2019
      • Release Notes: 2019-01-08
      • Release Notes: 2019-02-06
      • Release Notes: 2019-02-20
      • Release Notes: 2019-03-06
      • Release Notes: 2019-03-19
      • Release Notes: 2019-04-02
      • Release Notes: 2019-04-30
      • Release Notes: 2019-05-14
      • Release Notes: 2019-05-30
      • Release Notes: 2019-06-11
      • Release Notes: 2019-07-23
      • Release Notes: 2019-08-06
      • Release Notes: 2019-08-20
      • Release Notes: 2019-09-03
      • Release Notes: 2019-09-17
      • Release Notes: 2019-10-03
      • Release Notes: 2019-10-15
      • Release Notes: 2019-10-29
      • Release Notes: 2019-11-12
      • Release Notes: 2019-11-26
      • Release Notes: 2019-12-10
    • 2018
      • Release Notes: 2018-01-10
      • Release Notes: 2018-01-17
      • Release Notes: 2018-01-31
      • Release Notes: 2018-02-14
      • Release Notes: 2018-03-07
      • Release Notes: 2018-03-14
      • Release Notes: 2018-03-28
      • Release Notes: 2018-04-11
      • Release Notes: 2018-04-25
      • Release Notes: 2018-05-09
      • Release Notes: 2018-05-23
      • Release Notes: 2018-06-06
      • Release Notes: 2018-06-20
      • Release Notes: 2018-07-03
      • Release Notes: 2018-07-18
      • Release Notes: 2018-08-01
      • Release Notes: 2018-08-15
      • Release Notes: 2018-08-29
      • Release Notes: 2018-09-12
      • Release Notes: 2018-09-26
      • Release Notes: 2018-10-10
      • Release Notes: 2018-10-23
      • Release Notes: 2018-11-13
      • Release Notes: 2018-11-27
      • Release Notes: 2018-12-18
    • 2017
      • Release Notes: 2017-01-04
      • Release Notes: 2017-01-18
      • Release Notes: 2017-02-01
      • Release Notes: 2017-02-16
      • Release Notes: 2017-03-02
      • Release Notes: 2017-03-15
      • Release Notes: 2017-03-29
      • Release Notes: 2017-04-12
      • Release Notes: 2017-04-26
      • Release Notes: 2017-05-10
      • Release Notes: 2017-05-24
      • Release Notes: 2017-06-06
      • Release Notes: 2017-06-21
      • Release Notes: 2017-07-07
      • Release Notes: 2017-07-19
      • Release Notes: 2017-08-02
      • Release Notes: 2017-08-16
      • Release Notes: 2017-08-30
      • Release Notes: 2017-09-13
      • Release Notes: 2017-09-27
      • Release Notes: 2017-10-12
      • Release Notes: 2017-10-25
      • Release Notes: 2017-11-08
      • Release Notes: 2017-11-29
      • Release Notes: 2017-12-13
    • 2016
      • Release Notes: 2016-01-06
      • Release Notes: 2016-01-20
      • Release Notes: 2016-02-03
      • Release Notes: 2016-02-17
      • Release Notes: 2016-03-02
      • Release Notes: 2016-03-16
      • Release Notes: 2016-03-30
      • Release Notes: 2016-04-13
      • Release Notes: 2016-04-27
      • Release Notes: 2016-05-11
      • Release Notes: 2016-05-25
      • Release Notes: 2016-06-08
      • Release Notes: 2016-06-22
      • Release Notes: 2016-07-06
      • Release Notes: 2016-07-20
      • Release Notes: 2016-08-03
      • Release Notes: 2016-08-17
      • Release Notes: 2016-08-31
      • Release Notes: 2016-09-14
      • Release Notes: 2016-09-28
      • Release Notes: 2016-10-12
      • Release Notes: 2016-10-26
      • Release Notes: 2016-11-09
      • Release Notes: 2016-11-23
      • Release Notes: 2016-12-07
      • Release Notes: 2016-12-21
    • 2015
      • Release Notes: 2015-01-07
      • Release Notes: 2015-01-21
      • Release Notes: 2015-02-04
      • Release Notes: 2015-02-18
      • Release Notes: 2015-03-04
      • Release Notes: 2015-04-01
      • Release Notes: 2015-04-15
      • Release Notes: 2015-04-29
      • Release Notes: 2015-05-13
      • Release Notes: 2015-05-27
      • Release Notes: 2015-06-10
      • Release Notes: 2015-06-24
      • Release Notes: 2015-07-08
      • Release Notes: 2015-07-22
      • Release Notes: 2015-08-05
      • Release Notes: 2015-08-19
      • Release Notes: 2015-09-16
      • Release Notes: 2015-09-30
      • Release Notes: 2015-10-14
      • Release Notes: 2015-10-28
      • Release Notes: 2015-11-11
      • Release Notes: 2015-12-02
      • Release Notes: 2015-12-16
    • 2014
      • Release Notes: 2014-01-09
      • Release Notes: 2014-01-22
      • Release Notes: 2014-02-05
      • Release Notes: 2014-03-05
      • Release Notes: 2014-03-19
      • Release Notes: 2014-04-09
      • Release Notes: 2014-04-30
      • Release Notes: 2014-06-04
      • Release Notes: 2014-06-11
      • Release Notes: 2014-06-26
      • Release Notes: 2014-07-09
      • Release Notes: 2014-07-23
      • Release Notes: 2014-08-20
      • Release Notes: 2014-09-04
      • Release Notes: 2014-09-17
      • Release Notes: 2014-10-01
      • Release Notes: 2014-10-15
      • Release Notes: 2014-10-29
      • Release Notes: 2014-11-12
    • 2013
      • Release Notes: 2013-01-08
      • Release Notes: 2013-02-27
      • Release Notes: 2013-03-20
      • Release Notes: 2013-04-02
      • Release Notes: 2013-04-17
      • Release Notes: 2013-05-01
      • Release Notes: 2013-05-21
      • Release Notes: 2013-06-11
      • Release Notes: 2013-06-18
      • Release Notes: 2013-07-10
      • Release Notes: 2013-07-24
      • Release Notes: 2013-08-07
      • Release Notes: 2013-09-05
      • Release Notes: 2013-09-18
      • Release Notes: 2013-10-02
      • Release Notes: 2013-10-30
      • Release Notes: 2013-11-13
      • Release Notes: 2013-11-27
    • 2012
      • Release Notes: 2012-03-28
      • Release Notes: 2012-04-11
      • Release Notes: 2012-04-24
      • Release Notes: 2012-05-22
      • Release Notes: 2012-06-05
      • Release Notes: 2012-06-20
      • Release Notes: 2012-08-01
      • Release Notes: 2012-08-28
On this page
  • Operationalize ThousandEyes by Telling the Right Story
  • Use Dashboard Templates to Begin the Story
  • What Makes for a Good Story?
  • Brief Story Examples
  • Dashboards and Alerts Are Complementary
  • Other Dashboard Design Tips
  • Use Visual Symmetry
  • Tell the Story in the Name
  • Start with the Most Recent Test Round
  • Scroll Down to Drill Down
  • Use Filters for Further Refinement
  • Fine-Tuning Your Dashboards
  • Dashboard Templates in Use
  1. Product Documentation
  2. Best-Practices Guides

Using Dashboards to Tell a Story

PreviousOptimizing SYN vs SACK Probing Methods to Avoid Unexplainable Packet LossNextBest Practices for Implementing Account Groups

Last updated 1 month ago

Due to recent platform-wide naming, navigation, and URL changes in the product, you may notice some discrepancies between the product and the screenshots displayed in our technical documentation. The instructions and actual pages in the product are still valid and haven’t changed. Please bear with us as we update our screenshots to better match the in-product experience. See the full scope of changes on .

An effective dashboard is one that you can act on, with clarity and confidence. ThousandEyes show customized live views of your data: dashboards allow you to see what’s going on at a glance, coupled with ThousandEyes to know when immediate action is needed. As you build out dashboards for your team or other groups within your organization, here are some general principles to help guide your thinking.

This article assumes a basic familiarity with ThousandEyes dashboards. Although our dashboard templates allow you to bypass much of this article, understanding the underlying concepts will enhance your tuning and creation capabilities. If you want to understand the thinking behind it and customize these templates, you’ll want to know how to create effective custom dashboards.

To see these design principles in action, try adding a dashboard from one of the ThousandEyes dashboard templates as described in . You’ll also need to add some tests so your dashboards have data. Alternatively, you can enable a few of the free pre-configured tests from the menu option, available from the Sharing > Shared Tests menu.

Operationalize ThousandEyes by Telling the Right Story

Building a great dashboard requires thoughtful choices. When creating your dashboards, there’s an art to choosing the right data, visually arranging it, and most importantly – telling the right story.

Start with a problem statement to serve as your dashboard’s focus. Choose actionable metrics and readable widgets. Use an integrated strategy that aligns with your troubleshooting flow and encompasses both dashboards and alerts.

Dashboards and alerts allow you to “operationalize” ThousandEyes, in different ways.

  • Alerts can go to paging and ticketing systems where on-call support engineers can react to them quickly.

  • You can also use ThousandEyes Alerts to trigger automated remediations in other systems. See our docs page on for an example.

  • Dashboards can be part of regular team meetings and discussions, where the story told by the dashboard can’t be captured in a single alert. They can also show trends so you and your teams can become more proactive.

Use Dashboard Templates to Begin the Story

This article cites examples from ThousandEyes , which are more like blueprints that you can use as a starting point. The ThousandEyes dashboard templates aren’t quite the same as the personalized “stories” in this article.

Think of dashboard templates as precursors to your stories, i.e., curated collections of elements that you can, using your imagination, adapt to suit the story that you want to tell. The dashboards are not the story itself; what matters is the actions that you are now able to take as a result of the insights on that dashboard.

What Makes for a Good Story?

Dashboard creators sometimes place too much emphasis on “adding lots of widgets”. An effective dashboard is not about how many widgets you use, or how much data can be crammed into a single widget or dashboard.

A dashboard should tell a story, with the best possible use of widgets and metrics to derive effective conclusions.

A good dashboard should:

  • Tell a story that you can articulate

  • Address a clearly defined problem

  • Have an actionable business impact

In other words, the story consists of a general situation where a dashboard can quickly expedite solving a problem, and an example scenario to test or demonstrate how it works in practice.

Brief Story Examples

Here are a few examples of how dashboards can help your teams stay on top of things:

  • Periodically, you see things that look like potential outages on a site, service, or device (a URL or a network address) that you’re monitoring from multiple locations. Whenever this happens, you need to know how widespread the problem is, and whether it’s primarily an application-layer problem or a network-layer problem. You have 20 agent-to-server tests, originating from different sites, and you don’t want to start by looking at every test view. To expedite the journey to resolution, you create a single overview dashboard to address all sites.

  • Your SRE team monitors 30 BGP prefixes, on an ongoing basis. Part of your standard operational workflow consists of discussing a series of dashboards in your weekly team stand-up meetings. Based on what you observe over time, you can establish a baseline in order to better understand anomalies, deviations from normal, and isolate points of concern.

Dashboards and Alerts Are Complementary

ThousandEyes alerts and ThousandEyes dashboards aren’t the same thing. They complement one another.

  • Dashboards are more about seeing the current state of the world. Think of it as similar to a building fire safety audit, making sure the alarm is online and the sprinklers are working. In addition to reviewing the current state, you can use a dashboard to quickly see deviations or changes over time.

  • Alerts are more about fighting fires than preventing them. For example, a fire alarm went off and the sprinkler system was activated. Now you need to figure out if it’s a real fire, and if so, where to send the firefighting brigade.

Both dashboards and alerts include some retrospective capabilities.

  • Dashboards are normally current, showing the most recent test rounds. For history, you can filter up to the past 60 days.

  • Alert history filters can show up to 90 days.

  • Both dashboards and alerts can be configured to show degradations as well as complete outages.

Other Dashboard Design Tips

This section is a collection of best-practice suggestions for your consideration.

Use Visual Symmetry

At times when you can show two widgets side by side, by choosing the half-screen option on the widget configuration. For example one of the story examples suggested earlier involved monitoring the same application server target URL from multiple locations using an HTTP server test, and then comparing the service availability with the network availability.

The same type of widget side by side provides symmetry. Less obvious is how to make those widgets congruent so that the top problems on each side are sorted to appear at the top of each widget. Then, you can scan them to see if anything seems to line up.

“If your dashboard doesn’t look pretty, no one’s going to use it.”

– ThousandEyes solutions engineer

This design principle uses adjacency and congruence: to put things that are meant to be compared close together, on the same page, and in the same positions so that the user doesn’t have to waste mental energy on scrolling and context-switching.

Tell the Story in the Name

Use each widget title to tell your users (your customers) what they are supposed to look for, for example:

HTTP Error Phase (TCP = likely network problem Rest = likely application problem)

The intent is to direct the user to answering two questions:

Is it the network? Check for TCP-related errors first, because if network traffic is blocked, then you won’t be able to connect to the application at all. Is it the application? If the network looks normal, but you’re seeing HTTP server errors, look for “the rest” as in “look at everything else”

Another descriptive dashboard widget title with a very specific action item could be:

Packet Loss - last hour (If > 5% mesg NetOps)

Start with the Most Recent Test Round

By default, dashboards show only the most recent rounds of test data, although that depends on your test intervals, the dashboard's time interval, and refresh settings.

  • Your dashboards might not automatically refresh unless you toggle it on in the upper right. You can customize the refresh rate upon opening the dashboard page, from 2 minutes up to an hour. (Enabling dashboard auto-refresh is not necessary for this discussion.)

  • Next to the refresh rate is a history setting for the total time range of data to be shown on the dashboard, from the last time the dashboard was refreshed. Dashboard history defaults to 24 hours, but you can set it up to 60 days or further customize the history with a fixed time interval.

  • Your test interval should make sense given the dashboard refresh rate. There’s no point in refreshing a dashboard every 2 minutes if the tests on it only run once an hour.

Scroll Down to Drill Down

A fine balance exists between too much scrolling on a single dashboard, and having too many smaller dashboards that become difficult to manage. While you can create a one-page dashboard that doesn’t require scrolling, that dashboard could end up being overly specific and tailored for a small audience.

A dashboard should go from a higher level to a lower level as you scroll down the page. If you see an issue on the top level, under overall health, you can scroll down to dive into more specific data, with the ultimate goal of drilling down into the underlying ThousandEyes tests. These tests, or the results from these tests over time, are the ultimate source for the data shown on the dashboard.

Some designers prefer that all page designs remain short because they feel that scrolling defeats the purpose and that if the dashboard itself is too long, people won’t open it. You can address this concern by front-loading the “summary” information at the top. Users aren’t forced to scroll to get the bigger picture, but they can look further if they want to see more granular data.

Use Filters for Further Refinement

  • Apply a temporary filter to a dashboard you’re already viewing

  • Save this temporary filter for later

  • Load a saved filter

Fine-Tuning Your Dashboards

In addition to the best practices above, the following items came from our teams who often create dashboards for demonstration purposes, and thus need to communicate effectively to new audiences.

Avoid using the Color Grid widget for time-based metrics

Why: The Color Grid widget uses the same coloring threshold for all cards, which can be misleading if some test targets are always slower than others. For example, a 100ms latency for a particular test target could appear on a dashboard in red, indicating a problem, even when a 100ms latency for that particular test target is within the normal range.

Do this instead:

  • Use a Number widget to represent metrics involving time.

  • If you don’t care about color-coding, you can use a Table or Multi-Metric Table widget when displaying time-based metrics.

Use smaller buckets of time to represent your data (e.g., 5 minutes)

Why: A smaller time bucket will likely represent the latest round of test data and thus is more actionable. Metrics tend to become diluted in magnitude when using larger buckets of time. It is always useful to start small, and then look at larger buckets to see historical trends. Some of the dashboard templates have the same graph in larger and smaller buckets side by side.

Do this instead:

  • Use a Number or Table widget (with comparison to previous time span switch turned on) next to a Time Series widget to represent time-based metrics.

  • For example, suppose you care about latency. The Number widget allows you to see if the latency has spiked over multiple test rounds. And if latency is spiking, the Time Series widget will allow you to see if this sort of latency spike is happening frequently.

Use intuitive widgets

Why: Some widget types are harder to interpret. In particular, the Box and Whiskers widget may be less intuitive for a generalist.

Do this instead: Use a Multi-Metric Table. In most cases, the data in a box and whiskers widget can be easily represented in a multi-metric table. If you do choose a different widget, make sure it serves your audience requirements.

Separate your agents if using maps

Why: Metrics like packet loss can end up being difficult to interpret on a map widget when including multiple agents in proximity. The multiple agents will aggregate on the map into a single location circle. The warning colors also aggregate, making this metric less useful on a map.

Do this instead: Separate out the agents you’re including on the dashboard so that the map shows one agent per location, or there is parity amongst the locations shown.

Don’t try to use every available widget

Why: Too many widget types are more taxing, creating cognitive overload for the user to interpret.

Do this instead: Often the most convincing stories are built using 2-3 widget types at most (number, color, and time series are quite commonly used).

Stack correlatable metrics for application and network

Why: Quick visual comparison to see if an issue or outage is application- or network-focused.

What to do: Stack the widgets top/bottom or side by side.

Choose ascending or descending sort order by metric

Why: You always want to see the problem site/test first, at the top. In cases where you’re comparing application and network metrics, those sorts will be opposite.

What to do: Use HTTP server tests that include both network and HTTP view layers. In the dashboard, have two widgets for the same set of tests, stacked side by side. Use one widget to show network packet loss, sorted in descending order. The other widget can show HTTP server availability, sorted in ascending order.

Limit the amount of data

Why: Too much data (tests or agents) can obscure the top violators. It doesn’t always make sense to see data from every test or agent.

What to do: Limit data using the limit to widget function when reporting on a large number of tests or agents (for example a single test that has a lot of agents assigned). Use sorting in tandem to see things like the top 10 violators, based on the selected metric. Try to include sources more likely to show a top violator, based on past issues or patterns of failure.

Create alerts that reflect Service-Level Agreements (SLAs)

Why: This is one way to report on SLA alerts, which measures the amount of time there wasn’t an active alert. If the alert inactive time is 99%, it means the SLA was met 99% of the time.

What to do: Create alerts that trigger when an SLA is violated. Then create a dashboard that reports on the percentage of inactive time of these alerts.

Limit BGP monitors in dashboards

Why: Given the sheer volume of BGP monitors, including them all would make the dashboard an infinite scroll.

Do this instead: For BGP dashboards, include data from maximum 8-10 BGP monitors.

Include two dashboard widgets side by side, one for path changes, and one for reachability. Sort your data in ascending order for reachability, and descending order for path changes. Showing 8-10 monitors should be enough to conclude whether the issue is closer to the origin ASN or upstream provider.

Choose short test names

Why: Some dashboard widget types have to truncate names due to space limitations, so having the most important part of the name first helps identify the test.

What to do: For long test names, have the most important or unique part of the name first. It is recommended to keep names short; however, every organization is unique and there may be other conditions that require more elaborate naming conventions.

Dashboard Templates in Use

  • SaaS Health

  • Web Server Health

  • Web Application Health

The Situation: A multinational bank headquartered in the United States has already deployed ThousandEyes network assurance in data centers, ATMs, and consumer branch offices and has a financial services portal including online banking, loan applications and payments, several mobile apps, and a wealth management division.

  • The Internal Helpdesk team uses the SaaS Health dashboard to monitor HTTP server availability for critical business applications like ADP or Workday. The dashboard is intended to be used with HTTP server tests on cloud applications that the organization doesn’t own.

  • The Customer Experience team uses the Web Server Health dashboard to monitor the availability of the financial services portal from various locations around the world. It’s similar to SaaS Health except that the HTTP server tests point to their own application servers.

  • The Portal Application team uses the Web Application Health dashboard to test web page loading for their own financial services portal. They are responsible for actual functionality, not just server availability, and they want to know if all the components are loading on the home page. This time, the team needs to know the full web page load experience, so an HTTP server test is not enough. Therefore, this dashboard is designed for use with page load tests.

    • Web application health is more complex to test than simple server availability because web page components could include Javascripting, chatbots, or font servers. For example, a Javascript change could dramatically increase the page load times from 2ms to 30 seconds, or a revenue-generating third-party ad server could fail to load.

    • Realistically, a team that monitors web application health would also be likely to use an API Health dashboard with API tests that monitor API endpoints critical to their primary web application.

You can embed individual dashboard widgets inside another application as described on in order to share information with other groups outside your organization.

Additionally, allow you to view specific data sources and sets of tests or agents, etc. Filters also make it easy to reuse a dashboard and simply customize what is reflected in it based on your selections. You can also:

Load a saved filter from a dashboard that was created using a

The following examples show some dashboard use cases, based on ThousandEyes dashboard templates. See for details.

Naming and Navigation Menu changes - Summary List
dashboards
alerts
Using the Dashboard Templates
Shared Tests
Event-Driven Ansible
dashboard templates
Embedding Dashboard Widgets in External Web Sites
dashboard filters
dashboard template
Using the Dashboard Templates