ZNagios provides the ability for Nagios and munin to tap into the Zope2 server and retrieve status and performance data.
Project description
Overview
Nagios data
uptime
main database size
total reference count
errors in the root error log
Munin data
graphs provided by zeo_munin.py
- clients
nr of zeo clients connected to zeo server
- verifying
XXX help document
- loadstores
nr of object loads and stores of the database
graphs provided by munin_client.py
- uptime
uptime of the zope instance in days (1 hour is 0.041)
- refcount
XXX help document
- errors
total number of errors, conflicts and unresolved conflicts
- activity
total number of object loads, stores and total number of database connections
- cacheconnections
number of active and total objects for each connection
- cachetotals
number of active objects of all connections (see cacheconnections above)
- dbsize
size of the database in megabyte
Configure Nagios
Put a line like this in your nagios plugin configuration to make the plugin available:
command[check_zope]=/path/to/check_zope.py -H $ARG1$ -p $ARG2$ -d $ARG3$ -r $ARG4$ -a $ARG5$
Put a line like this in your nagios host configuration to use the:
service[maggie]=Zope;0;24x7;10;5;5;gocept;10;24x7;1;1;1;;check_zope!localhost!8080!50000000!10000!admin:password
Configure Nagios
To get the correct command configuration for “check_zope”, copy the zope.cfg into your plugin config directory (debian: /usr/share/nagios/pluginconfig) or the commands.cfg in /etc/nagios/.
Then you can make use of the check_zope command for services:
define service{ use generic-service host_name thezopehost service_description Zope check_command check_zope!thezopehost!8080!1000000000!500000!admin:password }
Configure Munin
Symlink Plugins
Create symlinks in /etc/munin/plugins/
plugins using munin_client.py are named like:
/etc/munin/plugins/zope_<graph>_<server-index>[_<dbname>] eg: /etc/munin/plugins/zope_uptime_instance1 /etc/munin/plugins/zope_uptime_instance2 /etc/munin/plugins/zope_activity_instance1_db2
plugins using zeo_munin.py are named like:
/etc/munin/plugins/zeo_<graph>_<server-index>[_<storage>]
- graph
see Munin data for a list of available graphs
- server-index
host and port are looked up in the configuration MUNIN_ZEO_HOST|PORT_<server-index>
- storage
name of the storage, optional, defaults to 1
examples:
/etc/munin/plugins/zeo_clients_ZEO1 /etc/munin/plugins/zeo_clients_ZEO1_1 /etc/munin/plugins/zeo_loadstores_ZEO1_temp
Configure Plugins
Add a configuration file to vim /etc/munin/plugin-conf.d/zope to tell the plugins how to connect to zeo server/clients:
[zope_*] user root env.MUNIN_ZOPE_HOST_instance1 http://localhost:8401/Control_Panel/munin env.MUNIN_ZOPE_AUTHENTICATE_instance1 admin:admin env.MUNIN_ZOPE_HOST_instance2 http://localhost:8402/Control_Panel/munin env.MUNIN_ZOPE_AUTHENTICATE_instance2 admin:admin [zeo_*] user root env.MUNIN_ZEO_HOST_ZEO1 localhost env.MUNIN_ZEO_PORT_ZEO1 8502
Credits
Originally written by Christian Theune <ct at gocept dot com>.
Thanks for contributing ideas and code to:
Robrecht van Valkenburg (Pareto)
Martijn Pieters (Pareto)
Florian Schulze (independent)
Hanno Schlichting (Jarn)
Harald Friessnegger (Webmeisterei)
David Glick (Groundwire)
Changelog
0.7 (2015-07-17)
Add MANIFEST.in [bsuttor]
Fix stats probe for probe which are collection and other args [bsuttor]
Add stats probe [jfroche]
0.6 (2012-12-19)
Enable registration of znagios probes as zc.monitor utilities (using five.z2monitor)
0.5 - 2011-03-14
munin_client.py can handle multiple databases now. [davisagli]
0.4.2 - 2010-10-21
fixed Control_Panel/munin for Zope 2.10.11 which is used for plone 3.3.4 and 3.3.5 and ships w/o version information (see https://bugs.launchpad.net/zope2/+bug/510477) [fRiSi]
0.4.1 - 2010-06-14
fixed Control_Panel/munin for Zope >= 2.11 (conflict_error are not global anymore) [fRiSi]
0.4 - 2009-11-19
uptime is given in days now, instead of seconds which is much more readable. fetch still returns seconds for backward compatibility, but config tells to compute the value (uptime.cdef uptime,86400,/) [fRiSi]
zeo_munin.py can handle multiple Databases now [fRiSi]
Documented munin data and configuration in README [fRiSi]
Corrected labels in Per connection caches graph [fRiSi]
Added dbsize graph to munin_client.py [fRiSi]
0.3 - 2009-02-25
Changed an import of Zope.App to Zope2.App for compatibility with recent Zope versions. [hannosch]
Added package infrastructure. [hannosch]
Moved the source code from https://svn.gocept.com/repos/gocept/ZNagios/trunk to the svn.zope.org repository at revision 29315. [hannosch]
0.2 - 2008-05-26
Remove hard-coded authorization string. [ctheune]
A script for reading data from a ZEO monitor server. [ctheune]
Added basic munin support. [ctheune]
Original implementation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.