missing SOA records and PowerDNS sending ServFail

So today I was trying to resolve an issue with a domain we host. Two of our name servers were sending the correct info, the third was not. In the logs of the third name server I was seeing entries like this:

Mar 1 08:26:22 ns3 pdns[19262]: Not authoritative for <domain> sending servfail to <ip>

It turns out that this is caused by missing SOA records for the domain. In fact in my database there were NO records for this domain. I added the appropriate records in and it now serves!

The case of the non working Munin Node Plugin

So I was attempting to get some nice munin graphs for my shiny new PowerDNS Authorative server and all the graphs were saying was NaN

So Naturally I logged in an tried running the command itself

root@ns1:~# munin-run pdns_queries-v1
recursing_answers.value 0
recursing_questions.value 0
tcp_answers.value 772
tcp_queries.value 772
udp_answers.value 9195
udp_queries.value 9195

So – things are running and returning… good, so I moved on to test it from the node and things were not so great

root@ns1:~# telnet localhost 4949
Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
# munin node at ns1
fetch pdns_queries-v1
.

Interestingly enough I was not getting any errors in the logs either. After messing around with the script I figured out it was being run as “nobody” which is bad since nobody cannot run pdns_control and that kinda puts a limit on what can be done!

so, under /etc/munin/plugin-conf.d/munin-node I added a new section that told munin to run the command under the root user.

[pdns*]
user root

And now it works and returns values!