grafana / alloy

OpenTelemetry Collector distribution with programmable pipelines
https://grafana.com/oss/alloy
Apache License 2.0
1.27k stars 172 forks source link

Create an alloy feature to consume influxdb line protocol metrics #1542

Open calebjonasson opened 2 weeks ago

calebjonasson commented 2 weeks ago

Background

I currently am utilizing the Grafana stack (Loki, Alloy, Mimir) to consume, process and store and metrics and logs. Some of the infrastructure uses influx DB and natively supports Influxdb line protocol and graphite metric exports.

I would like a clean migration path from Influxdb to mimir and have alloy deployed as a service to consume metrics similar to the Prometheus receive endpoint.

As a user I would expect this functionality to exist or a service agnostic implementation to consume various metric formats that users can then split by line, json array, etc and process and convert the metrics themselves but an influx line protocol mechanism feels like the right first approach.

Proposal

I am proposing adding a new influx.line_protocol component that will create an endpoint that systems can pass metrics to. see line protocol docs

I am interested in working on this feature and submitting a PR if Grafana thinks it is an ideal candidate for the Alloy repo.

mattdurham commented 2 weeks ago

This sounds solid. Would love to see a PR! Thank you.

SnowyJaguar1034 commented 1 week ago

So this functionality would essentially be bringing the Influxdb Write Proxy (and possibly Graphite Write Proxy & Datadog Write Proxy) (Proxy Repository https://github.com/grafana/mimir-proxies) into Grafana Alloy natively? That sounds like a great solution.