arch bash cakephp dauth devops drupal fosdem foss git golang information age linux lua mail monitoring music n900 netlog openstack php productivity python real life thesis travel uzbl vimeo web2.0

Zenoss & Mysql monitoring

I've been playing with Zenoss (2.4) for the first time. Here are my thoughts:

  • One big package that installs itself in /usr/local and copies an initscript to /etc/init.d . Contains a mysql instance, rrdtool, python and several more binaries. (all in all about 500MB installed). Not the cleanest way to do things but definitely easy to install/deploy. This is also where your data will end up
  • Configuration is in a Zope-specific database (ZODB). I prefer text files for this (easy to edit, easy to generate, version control etc). Mysql is used for the events, RRD files for measurement data. Two fine choices there
  • When you add a host, it does a lot of things automatically (monitoring various things through snmp and even ssh. Even crontabs and their results are tracked). I'm sure people will have various opinions about this
  • It uses Adobe flash for interface...I mean, seriously
  • It checks for updates itself. Very useful if you don't like package managers
  • Most stuff just works by default (eg basic snmp monitoring). to monitor things like mysql/apache you just install a zenpack, restart zenoss, configure one or two settings and it should work. No need to write the commands, variable replacements etc like in Nagios
  • Nice overview page per host with its current state (it shows the host' properties and other information, not just servicecheck outputs like Nagios)
  • I did have several issues about rrd files not being generated and such (even once where a manual 'python check_foo args' worked) for which I did not get human-friendly errors or in fact, no errors at all ( even in event log), but this is obviously the kind of stuff they will iron out. Usually some other people have had the same issues and in IRC they are also quite helpful.

I also tried the mysqlmonitor zenpack, which is quite nice. You can find out what it can do at various places (extended monitoring guide, mysql monitoring shootout etc), but here is what it does not monitor/graph:

  • query cache (hits, inserts, lowmem_prunes, queries in cache,..)
  • query durations / #slow queries
  • returned rows /dataset sizes
  • open tables
  • replication stats
  • thread states
  • temp tables (tmp tables on disk!)
  • com_* variables other then com_select/insert/update/delete. no com_alter/commit/flush/lock_tables etc

I don't see why you can't track such things, as afaik you can easily/cheaply get them all with a 'show global status'. (though storing them all in rrd files will take quite some space). Imho it would be very usefull it you had more control over what (not) to monitor, maybe through zPropperties or whatever.
Though it doesn't look too hard to adapt the Zenpack, so it can be done.


I used to use Zenoss on my Zenoss box for fun, but it no longer works. Zenoss expects old versions of various build tools and can no longer be built against most updated distributions. The option of using .deb or .rpm packages are still there, but it's still disappointing.

As a commercial alternative, LogicMonitor does do what Zenoss lacks - automatically detects storage engines (Innodb, MyISAM, etc); whether a DB is a slave; monitors query cache (and due to complex alerting rules, can recommend to increase, decrease or disable query cache, based on hit rate, memory purges, and misses).
Also much easier to extend - although the design goal is that out of the box (or 'off the web', as its a hybrid SaaS model) it has comprehensive monitoring automatically - very in depth, with sensible alerts (for threads created; temp tables on disk, CPU load, swap space, swap rate, interface errors, etc, etc.) Also provides a unified system for network and storage gear.

I've customized the egg to do a lot of this. There were a few annoying things like it emailing db passwords when things failed, so i had to code them into the script for now (i don't remember the issue with having this as a zProperty, it seems like i ran into one). I can possibly post the ZenPack, hit me up on my site if you're interested.

Definitely interested. Could you perhaps clean it up and post it as a community zenpack?





What is the first name of the guy blogging here?

This comment form is pretty crude. Make sure mandatory fields are entered correctly.
Basic html tags (a,i,b, etc) are allowed, others are sanitized