Skip to main content

Introduction

This package enable to monitoring of Zope 2 instance from the command line. It plugs zc.monitor (http://pypi.python.org/pypi/zc.monitor) and zc.z3monitor (http://pypi.python.org/pypi/zc.z3monitor) in Zope 2. zc.monitor use zc.ngi server and define another thread to handle monitoring. This way you should still be able to monitor your application even if the HTTPServer is hanging.

Zope config

Add this to your zope.conf to enable the zc.ngi server on the loopback interface on port 8888:

<product-config five.z2monitor>
    bind 127.0.0.1:8888
</product-config>

Probes

This package has been tested with probes coming from different packages:

  • zc.z3monitor

  • Products.ZNagios

  • zc.monitorcache

  • zc.monitorlogstats

  • ztfy.monitor

To register your own probe, just define a new utility providing the zc.z3monitor.interfaces.IZ3MonitorPlugin interface. Like this:

<utility
   component=".zc_uptime"
   provides="zc.z3monitor.interfaces.IZ3MonitorPlugin"
   name="uptime" />

and the component should look like this:

def zc_uptime(connection, database='main'):
    """uptime of the zope instance in seconds"""
    app = App()
    elapsed = time.time() - app.Control_Panel.process_start
    print >> connection, elapsed
    app._p_jar.close()

ZODB connection is always the first parameter. You can add your own parameters after.

Once you start your instance you should see something like:

INFO zc.ngi.async.server listening on ('127.0.0.1', 8888)

The ngi server is started and you can look up values with netcat for example:

echo 'uptime' | nc -i 1 localhost 8888

plone.recipe.zope2instance

If you configure your zope instance using buildout and the plone.recipe.zope2instance recipe (http://pypi.python.org/pypi/plone.recipe.zope2instance). To define the zc.z2monitor host and port use the zope-conf-additional option like this:

[client1]
recipe = plone.recipe.zope2instance
http-address = 8080
user = admin:admin
eggs =
  ${buildout:eggs}
zcml =
  ${buildout:zcml}
zope-conf-additional =
  <product-config five.z2monitor>
    bind 127.0.0.1:8888
  </product-config>

Once the instance is running, you will be able to ask the available probes from the command line using:

bin/instance monitor dbinfo main

which is the equivalent to:

echo 'dbinfo main' | nc -i 1 <zc.monitor host> <zc.monitor port>

To know the registered probes, Use this command:

bin/instance monitor help

Changelog

0.2 (2012-11-05)

  • Add entry point for plone.recipe.zope2instance

  • More documentation

0.1 (2012-11-05)

  • Initial implementation

Release files for five.z2monitor 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for five.z2monitor 0.2
File Size Uploaded
five.z2monitor-0.2.tar.gz 5.3 kB Details

Release files / five.z2monitor-0.2.tar.gz

Download URL five.z2monitor-0.2.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
48db4bbd685e39ee1531dd318421989ae0e83600d246a799608f55164ce76e2b
BLAKE2b-256 checksum
How to use checksums
3b931505e8b8fac9c787439d79c04a49715f3821f2a158f9d91d8bad71374417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page