Ingest metrics from any HTTP endpoint with Telegraf

Telegraf provides an integration to collect metrics from arbitrary HTTP endpoints using the HTTP input plugin. Telegraf collects the metrics, processes them, and sends them to Cloud Observability using the OpenTelemetry output plugin.

To complete the integration, you will:

  • Configure the Telegraf HTTP input plugin
  • Configure the Telegraf OpenTelemetry output plugin

Configure the Telegraf HTTP input plugin

In the Telegraf configuration file, add configuration for the HTTP input plugin. This input plugin configuration requires setting a target endpoint to fetch the metrics from. Aditional configuration depends on the data_format that you use. You can find complete configuration details in the official HTTP plugin documentation.

This example uses json with the settings needed for that format.

1
2
3
4
5
6
7
8
9
10
[[inputs.http]]
  urls = [
    "http://demosvc:8080/heapbasics"
  ]
  timeout = "10s"

  data_format = "json"
  json_name_key = "name"
  json_time_key = "timestamp"
  json_time_format = "unix"

Configure the OpenTelemetry output plugin

To deliver metrics to Cloud Observability you configure the Telegraf OpenTelmetry output plugin. This plugin sends metrics to Cloud Observability using gRPC.

This example shows the plugin configured without TLS:

1
2
3
4
5
6
7
8
[[outputs.opentelemetry]]
  service_address = "ingest.lightstep.com:443" # US data center
  # service_address = "ingest.eu.lightstep.com:443" # EU data center
  insecure_skip_verify = true

  # Additional gRPC request metadata
  [outputs.opentelemetry.headers]
    lightstep-access-token = "$LS_ACCESS_TOKEN"

For more details regarding configuring the OpenTelemetry output plugin see the official Telegraf documentation.

Validate metrics are reporting to Cloud Observability

You can validate that metrics are reporting to Cloud Observability on the Metrics details page in Settings.

  1. In Cloud Observability, click Settings > Metric details.

  2. Search for HTTP metric names. Arrow points to the metrics search box.

  3. If needed, select on the metric to edit the description and how the units are displayed in Cloud Observability.

View metrics in Cloud Observability

After you have Cloud Observability ingesting metrics from the HTTP endpoint, you can use the Cloud Observability Terraform Provider to create a dashboard for the metrics.

Additional resources

See also

Create and manage dashboards

Updated Dec 1, 2022