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

auth: Prometheus statistics endpoint #4947

Closed
pieterlexis opened this issue Jan 26, 2017 · 19 comments
Closed

auth: Prometheus statistics endpoint #4947

pieterlexis opened this issue Jan 26, 2017 · 19 comments

Comments

@pieterlexis
Copy link
Member

@pieterlexis pieterlexis commented Jan 26, 2017

  • Program: Authoritative, Recursor, dnsdist
  • Issue type: Feature request

Short description

Prometheus is a statistics collector that pulls metrics over HTTP(S). The format to be returned is quite simple and adding new metrics is trivial.

The question is: Do we want to implement a prometheus endpoint (path) in the built-in webserver, or will we only support carbon output and all other outputs by means of 3rd party programs?

See also #3935.

@zeha
Copy link
Collaborator

@zeha zeha commented Jan 27, 2017

I'd be in favour of it - right now getting stats is either push (carbon) or non-standard pull (rec_control/pdns_control or custom json over http api).

@Habbie
Copy link
Member

@Habbie Habbie commented Jan 27, 2017

@pieterlexis can you fix the first sentence? I can't make sense of it :)

@Habbie Habbie added this to the dnsdist-helpneeded milestone Mar 7, 2017
@Habbie
Copy link
Member

@Habbie Habbie commented Mar 7, 2017

Hasn't anybody already written a localhost carbon listener that remembers what it heard and can then serve it over HTTP?

@giganteous
Copy link
Contributor

@giganteous giganteous commented Apr 20, 2017

My Eur 0.02,

It'd be nice if it supported json stats, with a json schema. There's not a lot of non-go software that has native prometheus support. But it's not an unreadable / unreasonable way to expose your metrics. You're already serving a webserver, its just a small change exposing the same data in a format thats machine parsable.

There is another project that reads the current exposed json metrics. It probably works fine, but it would be nice if the metrics are clear, concise, named properly, etc.

Make it suck a little less. Then we should try and get knot, unbound, bind to do the same. Snmp is obviously not the way forward :-)

Thanks!

@jangrewe
Copy link

@jangrewe jangrewe commented Feb 9, 2018

Please, yes, add native Prometheus metrics! Running separate exporters is such a PITA, especially if they're not actively maintained or have errors in their implementation.

@giganteous giganteous mentioned this issue Mar 14, 2018
3 of 6 tasks complete
@jfoboss
Copy link

@jfoboss jfoboss commented Jul 18, 2019

Is there any chance to have this feature implemented?

@Habbie
Copy link
Member

@Habbie Habbie commented Jul 18, 2019

Already fixed in #6901 !

@jangrewe
Copy link

@jangrewe jangrewe commented Jul 18, 2019

But that PR only addresses dnsdist, not either of the pdns daemons?

@Habbie
Copy link
Member

@Habbie Habbie commented Jul 18, 2019

But that PR only addresses dnsdist, not either of the pdns daemons?

I misread [discussion] as [dnsdist] in the title, my bad!

@Habbie Habbie reopened this Jul 18, 2019
@tkuther
Copy link

@tkuther tkuther commented Sep 13, 2019

This would be very handy, especially now that both incarnations of powerdns_exporter are broken with pdns 4.2 (mixed string/array value types in statistics API)

@jangrewe
Copy link

@jangrewe jangrewe commented Nov 19, 2019

I'd like to again express my immense interest in seeing auth also providing prometheus metrics, now that the recursor and dnsdist already do! <3

@jangrewe
Copy link

@jangrewe jangrewe commented Jan 7, 2020

@pieterlexis Any chance of squeezing this FR into Auth 4.3? Pretty please! 😘

@Habbie Habbie removed dnsdist rec labels Feb 25, 2020
@Habbie Habbie modified the milestones: dnsdist-helpneeded, auth-4.4.0 Feb 25, 2020
@Habbie
Copy link
Member

@Habbie Habbie commented Feb 25, 2020

We managed to completely forget about this in the process towards auth-4.3.0. I have now milestoned it auth-4.4.0 (instead of dnsdist-helpneeded) so it's not so easy to miss. I cannot promise we will squeeze it into 4.3.x at some point, but we might.

@Habbie Habbie changed the title [discussion] Prometheus statistics endpoint auth: Prometheus statistics endpoint Feb 25, 2020
@jangrewe
Copy link

@jangrewe jangrewe commented Feb 26, 2020

Thanks, that is already awesome news! <3

@administratorius
Copy link

@administratorius administratorius commented Mar 3, 2020

+1

Having prometheus endpoint would be awesome!

@administratorius
Copy link

@administratorius administratorius commented Mar 5, 2020

Are metric and label names defined at least for auth? We're implementing our own solution for scraping stats, would be nice to know we wouldn't need to relabel once it's out.

@jangrewe
Copy link

@jangrewe jangrewe commented Mar 5, 2020

@administratorius Maybe have a look at the metric names of pdns-recursor and how they're exported on the Prometheus endpoint, then compare those to the metric names in pdns-auth.

https://doc.powerdns.com/recursor/metrics.html
https://doc.powerdns.com/authoritative/performance.html#performance-monitoring

@Habbie
Copy link
Member

@Habbie Habbie commented Mar 5, 2020

@jangrewe yes, this is excellent advice!

@jangrewe
Copy link

@jangrewe jangrewe commented Jun 7, 2020

Thanks @Habbie, looking forward to the next alpha/beta/RC :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

8 participants