Do not target services with port that does not exist #458
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When
prometheus.io/port
annotation is set, no matter what, it just creates the target according the annotation value.This potentially could make unnecessary calls to non-exposed port that end up with errors on every scrape tick.
This can be easily validated so this PR adds check for desired port and throws a single error if port does not exist.
Note: It's user error, so correct solution is to get rid of annotation, however, annotation might be static in third party packages therefore unnecessary overrides are needed till it's get fixed. In each case, this cloud help to have cleaner logs when user error occurs.