ThousandEyes for OpenTelemetry
OpenTelemetry (OTel) is an open-source project that provides a vendor-neutral, standardized way to instrument, generate, collect, and export telemetry data for cloud-native applications. It helps developers easily incorporate observability into their services, enabling better monitoring, debugging, and optimization of their applications.
ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry.
ThousandEyes for OTel is made up of the following components:
Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations.
A set of streaming pipelines called collectors that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on you configure via the public APIs.
Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration.
Support
ThousandEyes for OpenTelemetry currently supports the following test types and OpenTelemetry signals and metrics:
Test type | Metrics | Signals |
Agent-to-server | Latency, loss, and jitter |
|
Agent-to-agent | Latency, loss, and jitter |
|
BGP | Path changes, reachability, and updates |
|
HTTP server | Availability, response time, and throughput |
|
Web transaction | Page load time, transaction time, completion, and errors |
|
Page load | Page load time and completion |
|
FTP server | Availability, response time, and throughput |
|
DNS server | Availability and resolution time |
|
DNS Domain Trace | Availability and final query time |
|
DNS DNSSEC Trace | Validity |
|
RTP stream | MOS, loss, discards, and latency |
|
SIP server | Availability, response time, and total time |
|
Endpoint Agent network | Loss, latency, and jitter |
|
Endpoint Agent HTTP | Availability, response time, and throughput |
|
API | Time and completion |
|
For more information about the supported test types, metrics and attributes, see ThousandEyes for OpenTelemetry Metrics.
BGP metrics are event-driven, which means that they are streamed only when there is an announcement or withdrawal of a prefix by a monitor.
Test Layers
ThousandEyes tests are composed of multiple layers (see Test Type Layers and Units for more details). When creating a test, multiple test types may be applied, depending on the configuration. For example, an HTTP server test includes metrics from the Web, Network (agent-to-server test), and BGP layers by default.
ThousandEyes for OpenTelemetry captures and sends metrics from all enabled test layers. Below is an example breakdown of the metrics for an HTTP server test:
Web layer: Availability, Response Time, Throughput
Network layer: Latency, Packet Loss, Jitter
BGP layer: Path Changes, Reachability, Updates
Layer Configuration
You can customize which layers are active for different test types by modifying the API request body. For instance:
To disable the BGP layer, set
"bgpMeasurements": false
in the REST API request body.To disable the Network layer, set
"networkMeasurements": false
in the REST API request body.
Example Test Types and Layer Configuration
agent-to-server
- Create Agent to Server testDisable BGP layer:
"bgpMeasurements": false
agent-to-agent
- Create Agent to Agent testDisable BGP layer:
"bgpMeasurements": false
dns-server
- Create DNS Server testDisable BGP layer:
"bgpMeasurements": false
http-server
- Create HTTP Server testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
page-load
- Create Page Load testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
web-transaction
- Create Web Transactions testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
api
- Create API testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
ftp
- Create FTP Server testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
sip
- Create SIP Server testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
rtp
- Create RTP testDisable BGP layer:
"bgpMeasurements": false
Disable Network layer:
"networkMeasurements": false
Limitations
Maximum 5 streams per account group and data model version.
Shared tests are not supported.
Traces are supported with data model v2 only.
Last updated