跳转到主要内容

使用Zope 2启用zc.monitor

项目描述

介绍

此包可从命令行监控Zope 2实例。它将zc.monitor (http://pypi.python.org/pypi/zc.monitor) 和zc.z3monitor (http://pypi.python.org/pypi/zc.z3monitor) 插入到Zope 2中。zc.monitor使用zc.ngi服务器并定义另一个线程来处理监控。这样,即使在HTTPServer挂起的情况下,您也应该能够监控您的应用程序。

Zope配置

将以下内容添加到您的 zope.conf 中,以在本地回环接口的8888端口上启用zc.ngi服务器

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

探测

此包已与来自不同包的探测进行了测试

  • zc.z3monitor

  • Products.ZNagios

  • zc.monitorcache

  • zc.monitorlogstats

  • ztfy.monitor

要注册自己的探测,只需定义一个新的提供zc.z3monitor.interfaces.IZ3MonitorPlugin接口的实用工具。例如

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

组件应如下所示

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连接始终是第一个参数。您可以在后面添加自己的参数。

一旦启动实例,您应该会看到类似的内容

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

ngi服务器已启动,您可以使用netcat等工具查找值

echo 'uptime' | nc -i 1 localhost 8888

plone.recipe.zope2instance

如果您使用buildout和plone.recipe.zope2instance配方配置zope实例(http://pypi.python.org/pypi/plone.recipe.zope2instance)。要定义zc.z2monitor的主机和端口,请使用zope-conf-additional选项,如下所示

[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>

实例运行后,您可以使用以下命令从命令行获取可用的探针:

bin/instance monitor dbinfo main

这相当于

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

要了解已注册的探针,请使用此命令

bin/instance monitor help

变更日志

0.2 (2012-11-05)

  • 为 plone.recipe.zope2instance 添加入口点

  • 更多文档

0.1 (2012-11-05)

  • 初始实现

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

five.z2monitor-0.2.tar.gz (5.3 kB 查看哈希值)

上传时间

由以下支持