Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I set up munin to run as root for testing, my relevant config is as so:

munin.conf:

[localhost]
    address 127.0.0.1
    use_node_name yes

I tried fqnd.mysite.com (but it couldn't connect), localhost.localdomain too which runs but I'll explain in a sec

munin-node.conf:

allow ^127\.0\.0\.1$

# Which address to bind to;
host 127.0.0.1
host_name localhost
port 4949

Now it all works fine if I type munin-run cpu and it lists myspecs, but when I telnet to localhost:4949 a session will be like this:

# munin node at localhost
list
cpu df df_inode entropy exim_mailstats forks fw_conntrack fw_forwarded_local fw_packets http_loadtime if_err_eth0 if_eth0 interrupts iostat iostat_ios irqstats load memory munin_stats nfs4_client nfsd nfsd4 ntp_kernel_err ntp_kernel_pll_freq ntp_kernel_pll_off ntp_offset open_files open_inodes postfix_mailqueue postfix_mailvolume proc_pri processes swap threads uptime users vmstat
fetch df
.
fetch cpu
.

As you see plugins are listed! But for some reason it replies with a '.', I am running this under root so I don't think it is a permission problem. Any clues will get me off my computer at 4:32AM!

share|improve this question
add comment

2 Answers

I can't do a better job than http://munin-monitoring.org/wiki/Debugging_Munin_plugins, but one step you've either not done or not posted is running the plugins out of /etc/munin/plugins and seeing what they say. Try

# /etc/munin/plugins/df

and see what you get back. You should also be aware that although munin-node runs as root, the plugins do not necessarily do so; see /etc/munin/{plugins.conf,plugin-conf.d/*} for insight into which user any given plugin may run as.

share|improve this answer
    
Ah.. the debug page helped, read it once but didn't get most of it, it claims I may have a problem with my path, I'll look at that next.. Progress!! –  John R. Dec 12 '10 at 13:30
    
Heh, it says to modify in the plugin's environment file.. but they have no env.path entries, more searching.. :) –  John R. Dec 12 '10 at 13:48
add comment

I had found my problem, it was all printing to STDERR rather than STDOUT, this bug apparently only happens in OpenSUSE 9/10, odd it happened on Ubuntu 10.04..

The bug can be found here: http://munin-monitoring.org/ticket/846

And patch is as follows:

--- node/lib/Munin/Node/Service.pm.orig 2010-04-26 12:33:56.217889267 +0000
+++ node/lib/Munin/Node/Service.pm      2010-04-26 14:07:09.951259792 +0000
@@ -212,7 +212,14 @@
     print STDERR "# About to run '", join (' ', @command), "'\n" 
        if $config->{DEBUG};

-    exec @command;
+    # work around exec bug in SLES10's Perl
+    # exec @command;
+    my $res = `@command`;
+    print STDERR "# '", join (' ', @command), "' returned $res\n"
+        if $config->{DEBUG};
+    print STDOUT $res;
+    exit;
+
 } 

It happened to me, so I am sure maybe someone somewhere can use this, take care in changing the files though. I had updated my original question to better be found by search engines of similar queries, I know I had to search a lot to find this.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.