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

PowerDNS recursor check #2108

Closed
wants to merge 2 commits into from
Closed

Conversation

AntoCard
Copy link

Check for PowerDNS recursor metrics. Needs pdns-recursor experimental web server active.

from checks import AgentCheck

# Other
import json
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should import simplejson instead, it's more efficient

@remh
Copy link

remh commented Dec 10, 2015

Thanks a lot @AntoCard for this!
According to this page https://doc.powerdns.com/md/recursor/stats/ there are a lot of metrics that can be collected.

I think we should explicitly list the metrics that we want to collect (it will be also easier to send them with the more appropriate type).

Thanks again!

@irabinovitch
Copy link
Contributor

@AntoCard I wanted to echo Remi's thanks here too. This looks great. Lets sync up on what metrics make sense to pull in by default, and maybe collaborate on a readme for setup so that folks know what the requirements/dependencies are.

@AntoCard
Copy link
Author

Hi guys, thanks for the feedback. It's really useful. I'll work in improving this and update my PR. Cheers.

@remh remh self-assigned this Dec 22, 2015
@truthbk truthbk added this to the Triage milestone Jan 15, 2016
@remh remh modified the milestones: 5.8.0, Triage Jan 15, 2016
@irabinovitch
Copy link
Contributor

@AntoCard Have you had a chance to review the feedback? We'd love to include this in an upcoming release.

@AntoCard
Copy link
Author

AntoCard commented Feb 8, 2016

Hi @irabinovitch, I'm going to collect a list of the metrics we find useful here in Notonthehighstreet, maybe we can use some of them as default metrics.

@irabinovitch
Copy link
Contributor

@AntoCard Sounds good. Looking forward to it!

@irabinovitch
Copy link
Contributor

@AntoCard Were you able to look at collecting a list of metrics? We're hoping for a short window between 5.7 and 5.8, so would be great to get this addressed and included early.

@AntoCard
Copy link
Author

AntoCard commented Mar 7, 2016

@irabinovitch this are the queries we use more often:

pdns.answers0_1 Queries answered within 1 millisecond
pdns.answers1_10 Queries answered within 10 milliseconds
pdns.answers10_100 Queries answered within 100 milliseconds
pdns.answers100_1000 Queries answered within 1 second
pdns.answers_slow Queries answered after 1 second
pdns.outgoing_timeouts Number of timeouts on outgoing UDP queries
pdns.noerror_answers Number of times it answered NOERROR
pdns.servfail_answers Number of times it answered SERVFAIL

@janeczku
Copy link

janeczku commented Mar 7, 2016

This PR is great!
Here is a basic set of the most useful metrics reported by PowerDNS recursor:

Gauges

concurrent-queries
cache-entries

Counters

questions
tcp-questions
all-outqueries
tcp-outqueries
servfail-answers
noerror-answers
cache-hits
cache-misses

Histograms

Would be nice if the PR could be extended to derive histogram metrics from these cumulative histogram counters. Otherwise we can of course just submit them as counters.

answers0-1 (0-1ms latency)
answers1-10 (1-10ms latency)
answers10-100 (10-100ms latency)
answers100-1000 (100-1000ms latency)
answers-slow (>1000ms latency)

@janeczku
Copy link

janeczku commented Mar 7, 2016

@AntoCard 😆 you beat me to it by a minute!

@AntoCard
Copy link
Author

AntoCard commented Mar 7, 2016

@janeczku your list is great! Are you using it in a Docker/Mesos environment?

@janeczku
Copy link

janeczku commented Mar 7, 2016

Almost. I am running multiple instances of dnsdist and PowerDNS in a Docker/Rancher environment. I am currently tracking PowerDNS metrics with New Relic but, well, i really would like to switch over to DataDog... 😆

@@ -0,0 +1,6 @@
init_config:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick but you should remove the .j2 file extension.

@remh
Copy link

remh commented Apr 25, 2016

Thanks a lot guys! Do you think you could add a test similar to our other integrations tests ? It can be mocked if it's not easy to set up powerdns

@remh
Copy link

remh commented Apr 26, 2016

Also, we should likely only include the metrics that are relevant. It's better than collecting metrics that are not useful

@remh remh assigned degemer and unassigned remh May 10, 2016
@degemer
Copy link
Member

degemer commented May 11, 2016

Closing in favor of #2490

@degemer degemer closed this May 11, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants