PowerDNS Munin Plugin

PowerDNS Munin Plugin not working.

Running PowerDNS Munin plugins from linux shell command line works fine.

Running from “munin-run” works fine as well.

But doing a “telnet localhost 4949” and “fetch <pdns_graph_script>” returns nothing.

it turns out that munin-node (from munin-node.log) does not have access to the pdns socket

2016/03/17-23:40:03 [14820] Error output from pdns_errors:
2016/03/17-23:40:03 [14820]     Fatal error: Unable to connect to remote ‘/var/run/pdns.controlsocket’: Permission denied

Most cases for Munin problems are usually permission problems when it is munin-node is being invoked.

Munin-node is running as user munin group munin. It usually does not have permissions to access various applications especially those that are run exclusively as another user. For example, iptables and access to sockets.

The solution is to ensure that Munin-node can shift its own permission for a short time while running the plugin.

Sometimes it can be caused by Selinux running. See this article.

Another possibility is that your default bash shell either does not have the correct paths to various binaries listed. Here you can either hardcode the paths or ensure your paths are part of your script. See this article.

Solution:

You need to add a file in /etc/munin/plugins.conf.d/pdns

[pdns_*]
user root

You have to restart munin-node for it to take effect. Either via “service munin-node restart” or “systemctl restart munin-node”

Linux request_module: runaway loop modprobe binfmt-464c

On Bootup:

request_module: runaway loop modprobe binfmt-464c

request_module: runaway loop modprobe binfmt-464c

request_module: runaway loop modprobe binfmt-464c

request_module: runaway loop modprobe binfmt-464c

Reason:

This usually means you are trying to boot using a 32bit kernel but your installation is 64bit or viceversa.

If you boot a 32-bit kernel with a 64-bit OS, when the kernel tries to start /sbin/init (a 64-bit binary), it won’t recognize the binary format, and it’ll try to load the binfmt-464c kernel module, which is ELF support. (ELF support is generally compiled into the kernel, not built as a module, by the way.)