Personal tools

munin

Sep 04, 2013

Come prenderci cura dei nostri sistemi con Munin

Da zero a Munin in meno di 10 minuti

Come prenderci cura dei nostri sistemi con Munin

Filed Under:

Vediamo una breve panoramica del sistema open-source di monitoraggio di sistemi, Munin, come installarlo e una configurazione di base

"Munin" means "memory"

In estrema sintesi, Munin è un sistema di monitoraggio di “sistemi” distribuito. Il termine “sistemi”, qui, è da intendersi in senso lato, dato che è possibile monitorare tanto sistemi hardware quanto applicazioni software.

read more

May 08, 2012

Slow Plone site? Let's use haufe.requestmonitoring

Slow Plone Site?

Slow Plone site? Let's use haufe.requestmonitoring

Your Plone site suddently become slow, or maybe sometimes it gets slack. How to investigate it (and prevent future problems)

One of the worst times for a web programmer or administrator comes when he gets an e-mail like this one: "Hi! The site (you are in charge of) is very slow today! I really cannot work!"

Rabbia

But it can get even worst if you read the mail later, when the problem has already disappeared on his own. So you'll never know if it was a problem of huge (unexpected) traffic or if it's something you'll face again somedays.

If this will arise again soon, you will surely get another e-mail from the same guy, less polite... probably.

Let's examine the problem in depth. This is what you have to do for a Plone site.

 

 

read more

Mar 17, 2011

Munin timeout

Filed Under:

I had recently problems with one of munin plugins - it disappear from munin graphs. In my munin-node.log I have a lot of:

[21134] Service 'temperature' timed out.


How to change munin timeout value? There is nothing about it in munin documentation. But if you look into source code you will find that it exists. Adding:

timeout 60


to munin-node.conf or your plugin specific configuration does the tick!

Jul 20, 2010

Aggregate zope munin graphs

Filed Under:

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

When you start using it in production environment you can end like this:

 

Munin
 

Using aggregation you can end like this:

Munin aggregation

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

Filed Under:

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.