Prometheus Remote Write input data format
This page documents an earlier version of Telegraf. Telegraf v1.21 is the latest stable version. View this page in the v1.21 documentation.
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][]
Configuration
Use the inputs.http_listener_v2
plug and set data_format = "prometheusremotewrite"
[[inputs.http_listener_v2]]
## 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
Example Input
prompb.WriteRequest{
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
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Telegraf and this documentation. To find support, the following resources are available:
InfluxDB Cloud customers can contact InfluxData Support.