Question to the wider audience: would it be sensible to add this to the
example/default Kubernetes configuration?

/MR

On Tue, Apr 7, 2020, 20:51 Patrick Schless <[email protected]>
wrote:

> Hi Matthias,
>
> Thanks for your thoughts.  I've experimented some more, and have it
> working now.  Best as I can tell, it's simply missing from the default
> config in the prom/prometheus docker image:
> https://gist.github.com/plainlystated/95c79163583d5d107f2d6e85f9d335d5
>
> In that config, there are only two "role: service" sections.  One is the
> pushgateway, and the other forces use of the blackbox app, which seems like
> it shouldn't be necessary for what I'm trying to do.
>
> I added a scrape config, which seems to have done the trick:
>
>>     - honor_labels: true
>>       job_name: prometheus-service-non-blackbox
>>       kubernetes_sd_configs:
>>       - role: service
>>       relabel_configs:
>>       - action: keep
>>         regex: service
>>         source_labels:
>>         - __meta_kubernetes_service_annotation_prometheus_io_scrape
>>       - action: replace
>>         regex: (.+)
>>         source_labels:
>>         - __meta_kubernetes_service_annotation_prometheus_io_path
>>         target_label: __metrics_path__
>>
>
> Then I just set the service annotation:
>
>> prometheus.io/scrape: service
>>
>
> Now my prometheus correctly has 1 target for the service, and no targets
> for the endpoints.
>
> Thanks for your help!
>
> - Patrick
>
> On Tue, Apr 7, 2020 at 11:07 AM Matthias Rampke <[email protected]>
> wrote:
>
>> Kubernetes creates the Endpoints object based on the Service object. Does
>> it carry over the annotations while doing that? If so, you are getting
>> returns in both SD configs because there are two objects in Kubernetes to
>> be discovered.
>>
>> I would suggest using a different value for the scrape annotation, and
>> matching on that in the service SD configuration, to distinguish whether
>> you want this thing scraped once or for each instance.
>>
>> /MR
>>
>> On Tue, Apr 7, 2020 at 3:37 AM Patrick Schless <[email protected]>
>> wrote:
>>
>>> I'm using prometheus on k8s, and trying to add an annotation to my
>>> service for the service discovery. The metrics I'm exposing are
>>> business-level (eg "# of customers") so I don't need all pods queried.
>>> Querying the service once (with a random pod) is sufficient. As I
>>> understand it, there is a service discovery role applicable: "service".
>>>
>>> However, when I add this annotation to my service, it is "discovered" by
>>> the endpoints role, which then tries to hit all downstream pods.
>>>
>>> prometheus.io/scrape: true
>>>>
>>>
>>>
>>> The docs clearly make a distinction between service SD and endpoints SD,
>>> but it's not clear to me now to choose one or the other.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Prometheus Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/prometheus-users/bbec2f68-afea-4366-8156-b729bc04b373%40googlegroups.com
>>> <https://groups.google.com/d/msgid/prometheus-users/bbec2f68-afea-4366-8156-b729bc04b373%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/CAMV%3D_gZQmR_LUfQfKe7wRC67%3D%2BJci36t%2BD0uOsUuaKTkrcdANQ%40mail.gmail.com.

Reply via email to