-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Scraped Prometheus Metric Metadata Missing #13849
Comments
Pinging code owners: @Aneurysm9. See Adding Labels via Comments if you do not have permissions to add labels yourself. |
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 Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
So the issue seems to be on both sides, the OTel collector does not send metadata and Prometheus remote write API does not handle Metadata for remote write requests. From OTel collector side, I guess, we should make enabling metadata sending configurable and send it either periodically or every n requests? |
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 Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Seems like there is support for ingesting this at least with mimir, I would be interesting than working on implementing support for sending the metadata. |
@jmichalek132 nice! Shall I assign this issue to you then? |
Yes please. |
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 Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
🤞 I'll make some progress on this during the weekend. |
I made some progress today, I have PoC, but I will need to discuss the implementation details with someone. |
So I opened a draft PR #23585 hoping to get some feedback before I spend more time on this. |
Might be worth delaying the implementation since it seems like there be changes to how the metadata is sent as part of the remote write request. A document discussing the potential changes. |
I reached out to the prometheus-dev channel to ask if it makes sense to delay the implementation of this. The answer was yes, so for now I won't work on this until it's clear if the spec changes or not. |
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 Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
So after chatting with @gouthamve on Promcon, he suggested I should just choose a simple option for implementing this and put it behind a config option. This is what I came up with #27565. I would like some feedback on this before I add tests. Basically the same way we batch the metrics into a couple of requests that are below the max size of a single one, we repeat the same for metadata and send it as a separate set of requests. |
…ption to send metadata (#27565) **Description:** <Describe what has changed.> <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> This PR adds an option to send metric Metadata to prometheus compatible backend (disabled by default). This contains information such as metric descrtiption, type, unit, and name. **Link to tracking Issue:** <Issue number if applicable> #13849 **Testing:** <Describe what testing was performed and which tests were added.> Tested in our testing environment with locally built image. **Documentation:** <Describe the documentation added.> --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Anthony Mirabella <[email protected]>
With #27565 merged, there is a new feature (disabled by default), which can be enabled by setting This will change in the future with prometheus remote write 1.1. |
…ption to send metadata (open-telemetry#27565) **Description:** <Describe what has changed.> <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> This PR adds an option to send metric Metadata to prometheus compatible backend (disabled by default). This contains information such as metric descrtiption, type, unit, and name. **Link to tracking Issue:** <Issue number if applicable> open-telemetry#13849 **Testing:** <Describe what testing was performed and which tests were added.> Tested in our testing environment with locally built image. **Documentation:** <Describe the documentation added.> --------- Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: Anthony Mirabella <[email protected]>
Thanks, I believe this should be closed then, right? |
Describe the bug
We use the otel-collector to scrape metrics which have metadata about them. The best example of this is metrics that come from HAProxy's Prometheus exporter. When the otel-collector ingests these and then sends them to Prometheus using the
prometheusremotewrite
exporter, the metadata doesn't seem to make it. That said, the metadata does appear when using the logging exporter.Steps to reproduce
Scrape metrics with metadata associated with them and you will not see them. For example, the following is in the logs:
You won't see this in Grafana for example:
What did you expect to see?
I expected to see something similar to what is described in this Grafana article:
What did you see instead?
What version did you use?
What config did you use?
A trimmed down look at the basics of the config we are using:
Environment
Amazon Linux
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: