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'm attempting to compare load averages from several severs using using Munin 1.4.6-3ubuntu3 by combining multiple hosts in a single graph.

My attempt:

[domain.com;Totals]
load.graph_title Load
load.graph_category System
load.graph_order s1=s1.domain.com:load.load \
    s2=s2.cisco.com:load.load \
    s3=s3.cisco.com:load.load \
    s4=s4.cisco.com:load.load \
    s5=s5.cisco.com:load.load \
    s6=s6.cisco.com:load.load \
    s7=s7.cisco.com:load.load

Results in:

[WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s2=s2;domain;com:load:
[WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s3=s2;domain;com:load:
[WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s4=s2;domain;com:load:

And no graphs generated in /var/cache/munin/www/domain.com/Totals, just index.html, and load.html

What's a working example to accomplish this?

share|improve this question
add comment

1 Answer

I struggled with combined graphs myself for quite a while. I can tell from my experience that munin's input validation is really bad. Therefore it often silently fails if you forget to set a required option or you set too many options. Furthermore I encountered a really weird issue which made my combined graph disappear after a few minutes into server uptime. This issue got resolved by upgrading to Ubuntu 13.04 (munin 2.0.9-1ubuntu1).

A little bit of background about our setup

We currently have three production servers behind a load balancer. Each one of them counts the number incoming requests. All of these servers are monitored by munin and a custom plugin (myplugin) retrieves the request counter and exposes it as a single data source called 'requests'. Using this setup we had three different graphs for the three different servers. Now this obviously is a perfect usecase for combined graphs.

Here's my working configuration

[server-1.production]
    address xxx.xxx.xxx.xxx
    use_node_name yes
[server-2.production]
    address xxx.xxx.xxx.xxx
    use_node_name yes
[server-3.production]
    address xxx.xxx.xxx.xxx
    use_node_name yes
[aggregate.production]
    update no
    myplugin.update no
    myplugin.graph_args --base 1000 -l 0
    myplugin.graph_category myplugin
    myplugin.graph_vlabel requests/s
    myplugin.graph_title request rate
    myplugin.graph_order \
        total \
        server-1=server-1.production:myplugin.requests \
        server-2=server-2.production:myplugin.requests \
        server-3=server-3.production:myplugin.requests
    myplugin.total.sum \
        server-1.production:myplugin.requests \
        server-2.production:myplugin.requests \
        server-3.production:myplugin.requests
    myplugin.server-1.label server-1
    myplugin.server-2.label server-2
    myplugin.server-3.label server-3
    myplugin.total.label total

Important pitfalls

  • The label definitions in the very last part of the config are required. Omitting them leads to munin failing silently!
  • update no is required, although I'm not sure whether you need myplugin.update no.
  • Make sure you're using the latest version of munin since bugs are actively fixed.
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.