Note: The Cloud Telemetry API currently supports OTLP traces and metrics only. OTLP logs are not yet supported; use Cloud Logging (for example, via the
googlecloudexporter) if you need to ship logs.
- Go to Google Cloud Console
- Navigate to "APIs & Services"
- Search for "Telemetry API"
- Enable the API
-
In Google Cloud go to "IAM & Admin" -> "Service Accounts" -> "Create Service Account" Service Account Create Service Account
-
Grant the Service Account the required permissions for the GCP Observability API:
Cloud Telemetry Traces WriterCloud Telemetry Metrics WriterPermissions
-
Under
Actions, click onManage KeysManage Keys -
Click
Add KeyandCreate new keyand selectJSON -
Download the key and place it next to this README as
gcp-sa.json
The googleclientauth extension expects Application Default Credentials that the
collector container can read from /etc/otelcol/gcp-sa.json by using the GOOGLE_APPLICATION_CREDENTIALS environment variable.
On the ThousandEyes platform https://app.thousandeyes.com/
Navigate to the Cloud & Enterprise Agents > Test Settings page and create a ThousandEyes Page Load test.

This is required to create a public HTTPS endpoint for OTel Streaming from ThousandEyes.
- Sign up/log in at Ngrok.
- Retrieve your authentication token from Ngrok Auth Token page.

- Navigate to Ngrok Domain page and create a new domain. This ensures your domain remains static even after ngrok container restarts.
- Create or update a
.envfile with NGROK environment variables.
NGROK_AUTHTOKEN="<your ngrok token>"
NGROK_DOMAIN="<your ngrok domain>"docker compose up --force-recreate --remove-orphans --detachOn the ThousandEyes platform https://app.thousandeyes.com/
-
Navigate to the Integrations page, click on the + New integration button, and select ThousandEyes for OpenTelemetry

-
Create the OpenTelemetry integration using the configuration
- Target:
- Type: gRPC
- Endpoint: https://
- OpenTelemetry Signal: Metric
- Select the test that was just created.
- DataModelVersion: V2
- Target:
More info: https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/getting-started
- Navigate to the Monitoring page in Google Cloud Console
- Click on the Metrics Explorer tab
- Select a ThousandEyes metric, for example
network.latency
You can filter by tag, like thousandeyes.test.name:
- Navigate to the Dashboards page in Google Cloud Console
- Click on the Create Custom dashboard button
- Click Dashboard Settings -> JSON -> JSON Editor
- Click Upload JSON
- Select the ThousandEyes dashboard
- Click on Apply Changes
- The dashboard will be imported and you can edit it as you want.
On the ThousandEyes platform https://app.thousandeyes.com/
-
Navigate to the Integrations page, click on the + New integration button, and select ThousandEyes for OpenTelemetry

-
Create the OpenTelemetry integration using the configuration
- Target:
- Type: gRPC
- Endpoint: https://
- OpenTelemetry Signal: Trace
- Select the test that was just created.
- DataModelVersion: V2
- Target:
More info: https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/getting-started
- Navigate to the Monitoring page in Google Cloud Console
- Click on the Metrics Explorer tab
- Select a ThousandEyes trace, for example:
You can now filter by duration, errors, target URL, etc.
Example filtering by errors: 
- Streaming logs is not supported yet. More info: https://docs.cloud.google.com/monitoring/agent/ops-agent/otlp






