How can I configure Munin to give me a total of all my cloud servers?

1.5k views Asked by At

I have a dozen load balanced cloud servers all monitored by Munin.

I can track each one individually just fine. But I'm wondering if I can somehow bundle them up to see just how much collective CPU usage (for example) there is among the cloud cluster as a whole.

How can I do this?

The munin.conf file makes it easy enough to handle this for subdomains, but I'm not sure how to configure this for simple web nodes. Assume my web nodes are named, web_node_1 - web_node_10.

My conf looks something like this right now:

[web_node_1]
    address 10.1.1.1
    use_node_name yes
...
[web_node_10]
    address 10.1.1.10
    use_node_name yes

Your help is much appreciated.

1

There are 1 answers

0
Max On BEST ANSWER

You can achieve this with sum and stack.

I've just had to do the same thing, and I found this article pretty helpful.

Essentially you want to do something like the following:

[web_nodes;Aggregated]
   update no

   cpu_aggregate.update no
   cpu_aggregate.graph_args --base 1000 -r --lower-limit 0 --upper-limit 200
   cpu_aggregate.graph_category system
   cpu_aggregate.graph_title Aggregated CPU usage
   cpu_aggregate.graph_vlabel %
   cpu_aggregate.graph_order system user nice idle
   cpu_aggregate.graph_period second
   cpu_aggregate.user.label user
   cpu_aggregate.nice.label nice
   cpu_aggregate.system.label system
   cpu_aggregate.idle.label idle
   cpu_aggregate.user.sum web_node_1:cpu.user web_node_2:cpu.user
   cpu_aggregate.nice.sum web_node_1:cpu.nice web_node_2:cpu.nice
   cpu_aggregate.system.sum web_node_1:cpu.nice web_node_2:cpu.system
   cpu_aggregate.idle.sum web_node_1:cpu.nice web_node_2:cpu.idle

There are a few other things to tweak the graph to give it the same scale, min/max, etc as the main plugin, those can be copied from the "cpu" plugin file. The key thing here is the last four lines - that's where the summing of values from other graphs comes in.