Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Prometheus remote-write receiver] Create a receiver to send metrics using Prometheus remote-write API #10358

Closed
carlosjgp opened this issue May 26, 2022 · 12 comments
Assignees
Labels
comp:prometheus Prometheus related issues help wanted Extra attention is needed priority:p3 Lowest question Further information is requested Sponsor Needed New component seeking sponsor Stale

Comments

@carlosjgp
Copy link

carlosjgp commented May 26, 2022

Is your feature request related to a problem? Please describe.
We are trying to design an architecture where the metrics, traces and logs collectors have as a little CPU and memory footprint as possible on the K8s clusters where we deploy them

Cluster client                                                      Centralised receivers
--------------------------------------------|                      |---------------------------------------------|
Prometheus -- remote-write--->| OTEL agent--|-----otlp mTLS------> |---> OTEL deployment--->|---> Thanos receive |
Apps ----------otel traces--->|             |                      |                        |---> Grafana Tempo  |
Promtail--------logs--------->|             |                      |                        |---> Grafana Loki   |
--------------------------------------------|                      |---------------------------------------------|

Describe the solution you'd like
Create a receiver that is able to expose a port compatible with Prometheus Remote writer API so I can still use Prometheus capabilities to collect metrics and OTEL agent to receive traces, decorate (processors) and route them to the correct tracing, metrics and logging storage

Describe alternatives you've considered
Use OTEL agent to collect metrics as a Prometheus replacement but Rules are not part of the integration and I also use PrometheusOperator, which seems to have a receiver proposal but still no Rules support.

Prometheus Rules are evaluated per cluster and sent to the centralised cluster where Thanos Ruler will evaluate them and contact AlertManager

For now, I'll send the metrics directly from Prometheus to Thanos receive over HTTPS with TLS auth

Additional context

@dmitryax
Copy link
Member

cc @Aneurysm9

@dmitryax dmitryax added question Further information is requested priority:p3 Lowest comp:prometheus Prometheus related issues labels May 27, 2022
@dmitryax
Copy link
Member

We discussed adding prometheus remote write capabilities to the receiver on the SIG meeting today. Everyone agrees that we need it. It should be implemented as another receiver called prometheusremotewrite. No one of the active OTel contributors has plans to work on it at this point. So any help would be appreciated. cc @bogdandrutu @Aneurysm9

@dmitryax dmitryax added the help wanted Extra attention is needed label Jun 29, 2022
@nlamirault
Copy link

Nice feature ! With this one we could use the whole Prometheus Operator stack and OpenTelemetry together.

@dmitryax
Copy link
Member

dmitryax commented Jul 1, 2022

We are still looking for contributors to implement this. @nlamirault @carlosjgp let us know if you are interested in doing it

@arajkumar
Copy link

arajkumar commented Sep 27, 2022

@dmitryax IIUC, the following works has to be done for this,

  1. Add translator for prompb.TimeSeries => pmetric.Metrics conversion
  2. Add a receiver/prometheusremotewrite

May be I can give a try if nobody is actively working on this.

@jpkrohling
Copy link
Member

@arajkumar, @kovrus will work on this one, but your help is appreciated I reviewing the PR once it's ready and in trying it out.

@jpkrohling
Copy link
Member

I realized that we do not have a formal new component proposal for this. From #14751, this is the proposed configuration for this component:

receivers:
  prometheusremotewrite:
    endpoint: 0.0.0.0:19291

@adamkubon, @norbertwnuk, are you committed to being code maintainers for this module? If so, we just need a sponsor for this component, which would be a current approver willing to be a "backup" code owner. The process is outlined here: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2022

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

@github-actions github-actions bot added the Stale label Dec 6, 2022
@fatsheep9146
Copy link
Contributor

@adamkubon are you still working on this?

@kovrus
Copy link
Member

kovrus commented Dec 13, 2022

@fatsheep9146 #14751 tracking issue for this component. Shall we close #10358?

@fatsheep9146
Copy link
Contributor

@fatsheep9146 #14751 tracking issue for this component. Shall we close #10358?

Ok :)

@tomatopunk
Copy link

tomatopunk commented Jun 26, 2024

Hello team,

I hope you are all doing well. The tracking issue #14751 was closed because this component did not have a sponsor. I am requesting to re-open this proposal, as I will continue the work.

I have found a sponsor, @andrzej-stencel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:prometheus Prometheus related issues help wanted Extra attention is needed priority:p3 Lowest question Further information is requested Sponsor Needed New component seeking sponsor Stale
Projects
None yet
Development

No branches or pull requests

8 participants