munin
Jul 20, 2010
Aggregate zope munin graphs
Munin with munin.zope is a handy tool if you want to monitor your Zope instance. But it starts to be annoying when you have too many zeoclients and too many projects on one server. Using munin aggregate functionality you can create nice, human readable graphs reusing your existing data.
With the newest version of munin.zope you have 4 different plugins:
- ZServer threads
- ZODB activity
- Zope cache parameters
- Zope memory usage

Using aggregation you can end like this:

What it does? It takes data from multiple zeoclients (in this case every project from A-E have 4 zeoclients) and renders only total amount per project.
Here is munin.conf which does this trick:
[Server1;projectA]
address 127.0.0.1
[Server1;projectB]
address 127.0.0.2
[Server1;projectC]
address 127.0.0.3
[Server1;projectD]
address 127.0.0.4
[Server1;projectE]
address 127.0.0.5
[Server1;Aggregated]
update no
total_memory.update no
total_memory.graph_category Zope
total_memory.graph_title Aggregated Zope memory
total_memory.graph_order \
projectA \
projectB \
projectC \
projectD \
projectE
total_memory.projectA.sum \
projectA:projecta_zopememory_instance_1.VmSize \
projectA:projecta_zopememory_instance_2.VmSize \
projectA:projecta_zopememory_instance_3.VmSize \
projectA:projecta_zopememory_instance_4.VmSize
total_memory.projectA.label project A
total_memory.projectB.sum \
projectB:projectb_zopememory_instance_1.VmSize \
projectB:projectb_zopememory_instance_2.VmSize \
projectB:projectb_zopememory_instance_3.VmSize \
projectB:projectb_zopememory_instance_4.VmSize
total_memory.projectB.label project B
total_memory.projectC.sum \
projectC:projectc_zopememory_instance_1.VmSize \
projectC:projectc_zopememory_instance_2.VmSize \
projectC:projectc_zopememory_instance_3.VmSize \
projectC:projectc_zopememory_instance_4.VmSize
total_memory.projectC.label project C
total_memory.projectD.sum \
projectD:projectd_zopememory_instance_1.VmSize \
projectD:projectd_zopememory_instance_2.VmSize \
projectD:projectd_zopememory_instance_3.VmSize \
projectD:projectd_zopememory_instance_4.VmSize
total_memory.projectD.label project D
total_memory.projectE.sum \
projectE:projecte_zopememory_instance_1.VmSize \
projectE:projecte_zopememory_instance_2.VmSize \
projectE:projecte_zopememory_instance_3.VmSize \
projectE:projecte_zopememory_instance_4.VmSize
total_memory.projectE.label project E
For more information please check:
http://munin-monitoring.org/wiki/aggregate_examples
http://munin-monitoring.org/wiki/PercentGraphHowto
http://munin-monitoring.org/wiki/stack_examples
Aug 16, 2009
munin.zope is born
Last week we moved redturtle.munin to it's new namespace - munin.zope.
Recently, with a lot of witsch help (honestly - it was almost all his work :-), we have refactored redturtle.munin and moved it to munin.zope namespace. The idea is to use it also for other projects - like munin.varnish or munin.django etc. If you don't know munin.zope yet it provides munin plugins for monitoring various aspects of a Zope instance. It's easy to deploy and almost ready out-of-the-buildout.
As for 1.1a1 we have for plugins available:
- "zopethreads" - reports free Zope threads
- "zopecache" - reports database cache parameters
- "zodbactivity" - reports ZODB activity
- "zopememory" - reports Zope memory usage (only works on Linux)
We are working right now on another one - ZODB conflict errors. It's supposed to count number of conflict errors in last 5 minutes.

