Prometheus Remote Write input data format

Use the Prometheus Remote Write plugin to convert Prometheus Remote Write samples directly into Telegraf metrics.

If you are using InfluxDB 1.x and the [Prometheus Remote Write endpoint]( to write in metrics, you can migrate to InfluxDB 2.0 and use this parser. For the metrics to completely align with the 1.x endpoint, add a Starlark processor as described here.


Use the inputs.http_listener_v2 plug and set data_format = "prometheusremotewrite"

  ## Address and port to host HTTP listener on
  service_address = ":1234"
  ## Path to listen to.
  path = "/recieve"
  ## Data format to consume.
  data_format = "prometheusremotewrite"


Example Input

		Timeseries: []*prompb.TimeSeries{
				Labels: []*prompb.Label{
					{Name: "__name__", Value: "go_gc_duration_seconds"},
					{Name: "instance", Value: "localhost:9090"},
					{Name: "job", Value: "prometheus"},
					{Name: "quantile", Value: "0.99"},
				Samples: []prompb.Sample{
					{Value: 4.63, Timestamp: time.Date(2020, 4, 1, 0, 0, 0, 0, time.UTC).UnixNano()},

Example Output

prometheus_remote_write,instance=localhost:9090,job=prometheus,quantile=0.99 go_gc_duration_seconds=4.63 1614889298859000000

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.