Hey Brian, Actually to my knowledge, Datadog can also pull metrics from the 
endpoints. Thus, I want to give it an endpoint which has all the filtered 
metrics I want to send to datadog. That's why I use /federate endpoint 
taking data from my own Prometheus server. Is there any easy way to send 
metrics to datadog without using a federate endpoint?

On Sunday, March 1, 2020 at 3:25:59 AM UTC+5:30, Brian Candler wrote:
>
> Maybe you've misunderstood scraping and federation.
>
> Prometheus scrapes are "pulls".  When a prometheus scrape job runs, it 
> makes an outbound HTTP connection to a remote server (an "exporter") and 
> reads back metrics from it.  So in your example here:
>
>  31     - job_name: 'prom'$
>  32       metrics_path: '/'$
>  33       static_configs:$
>  34         - targets: ['localhost:12156']$
>
> prometheus periodically connects to localhost port 12156, and whatever is 
> listening on that port is a prometheus "exporter" which responds with 
> metrics.  You can also talk to it like this:
>
> curl localhost:12156
>
> and that server will respond with lines of the form
>
> metricname{label="value",...} value
>
> These are what prometheus ingests into its timeseries database.  No data 
> is sent *from* prometheus to the exporter.
>
> Federation is a special case of scraping: it's when one prometheus server 
> scrapes the /federate endpoint of another prometheus server, to read out 
> metrics which that server has already collected.   (For example: a central 
> aggregation server is scraping the /federate endpoint of remote servers in 
> other data centres).
>
> Therefore, you would only configure your own prometheus server to scrape a 
> /federate endpoint when you need to scrape metrics out of another, remote 
> prometheus server. 
>
> So this makes no sense:
>
>  24     - job_name: 'federate'$
>  25       metrics_path: '/federate'$
>  26       params:~$
>  27         'match[]':$
>  28             - '{job="prom"}'$
>  29       static_configs:$
>  30        - targets: ['localhost:9090']$
>
> Here you're trying to scrape your own /federate endpoint, which means 
> collecting data from yourself and writing it back to yourself.
>
> The original question was: how do you get data from prometheus to 
> datadog?  I don't know: it depends on what interface(s) datadog provides 
> for collecting/ingesting data, and datadog is a commercial cloud-hosted 
> service.  (Perhaps their technical support can help?)
>
> However you said originally: *"I know that we need to make changes in 
> datadog's conf file present in openmetrics.d directory. But as Prometheus 
> only shows metrics about it's own server on /metrics. How can we send them 
> to datadog?"*
>
> If datadog's agent is able to scrape an exporter, then point it at your 
> /federate?match=... endpoint  rather than your /metrics endpoint.
>

-- 
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/9cfae09d-b3e8-4e54-afbd-df3773accd40%40googlegroups.com.

Reply via email to