Skip to content

antonjim-te/thousandeyes-google-cloud-integration

Repository files navigation

Google Cloud Monitoring integration

Enable telemetry API in Google Cloud

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 googlecloud exporter) if you need to ship logs.

  • Go to Google Cloud Console
  • Navigate to "APIs & Services"
  • Search for "Telemetry API"
  • Enable the API

Enable Telemetry API

Providing credentials for the collector

  • 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 Writer
    • Cloud Telemetry Metrics Writer Permissions
  • Under Actions, click on Manage Keys Manage Keys

  • Click Add Key and Create new key and select JSON

  • 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.

Create ThousandEyes Page Load test

On the ThousandEyes platform https://app.thousandeyes.com/

Navigate to the Cloud & Enterprise Agents > Test Settings page and create a ThousandEyes Page Load test. create ThousandEyes Page Load Test

Configure Ngrok

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. Auth
  • Navigate to Ngrok Domain page and create a new domain. This ensures your domain remains static even after ngrok container restarts.
    • Example eternal-summary-hippo.ngrok-free.app domain
  • Create or update a .env file with NGROK environment variables.
NGROK_AUTHTOKEN="<your ngrok token>"
NGROK_DOMAIN="<your ngrok domain>"

Running docker compose with the collector and proxy

docker compose up --force-recreate --remove-orphans --detach

Stream metrics

Create an OpenTelemetry metrics integration

On the ThousandEyes platform https://app.thousandeyes.com/

  • Navigate to the Integrations page, click on the + New integration button, and select ThousandEyes for OpenTelemetry openTelemetryIntegration

  • Create the OpenTelemetry integration using the configuration

    • Target:
      • Type: gRPC
      • Endpoint: https://
    • OpenTelemetry Signal: Metric
    • Select the test that was just created.
    • DataModelVersion: V2

OpenTelemetry Integration

More info: https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/getting-started

Visualize metrics in Google Cloud Monitoring

  • Navigate to the Monitoring page in Google Cloud Console
  • Click on the Metrics Explorer tab
  • Select a ThousandEyes metric, for example network.latency

Metrics Explorer

You can filter by tag, like thousandeyes.test.name:

Metrics by tags

Visualize metrics in a Dashboard

  • 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.

Dashboard

Stream traces

Create an OpenTelemetry traces integration

On the ThousandEyes platform https://app.thousandeyes.com/

  • Navigate to the Integrations page, click on the + New integration button, and select ThousandEyes for OpenTelemetry openTelemetryIntegration

  • Create the OpenTelemetry integration using the configuration

    • Target:
      • Type: gRPC
      • Endpoint: https://
    • OpenTelemetry Signal: Trace
    • Select the test that was just created.
    • DataModelVersion: V2

OpenTelemetry Integration

More info: https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/getting-started

Visualize traces in Google Cloud Monitoring

  • Navigate to the Monitoring page in Google Cloud Console
  • Click on the Metrics Explorer tab
  • Select a ThousandEyes trace, for example:

Traces

You can now filter by duration, errors, target URL, etc. Example filtering by errors: Traces by errors

Limitation

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published