使用zope 2启用zc.monitor

five.z2monitor的Python项目详细描述


Introduction

这个包允许从命令行监视zope 2实例。它在zope 2中插入zc.monitor(http://pypi.python.org/pypi/zc.monitor)和zc.z3 monitor(http://pypi.python.org/pypi/zc.z3monitor)。 monitor使用zc.ngi服务器并定义另一个线程来处理监视。这样,即使 HTTPServer正在挂起

Zope config

将此添加到您的zope.conf中,以便在端口8888上的环回接口上启用zc.ngi服务器:

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

Probes

此软件包已使用来自不同软件包的探针进行了测试:

  • 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 recipe(http://pypi.python.org/pypi/plone.recipe.zope2instance)配置zope实例。 要定义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

Changelog

0.2 (2012-11-05)

  • 添加plone.recipe.zope2instance的入口点
  • 更多文档

0.1 (2012-11-05)

  • 初始实现

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java IntelliJ Idea:自动删除不必要的“抛出”声明   升级cordova应用程序时出现java错误   java Spring引导重定向到/   java在计算包的传出耦合值时,我们计算依赖接口的数量吗   以字符串形式返回的XML需要转换为JavaBean   java错误:未能解析:com。安卓支持:mediarouterv7:23.4.0   C#和Java中的事件驱动客户端服务器   java在JavaME中如何将gif转换为字节数组和字节数组转换为gif图像?   JavaHibernate:继承策略和持久化抽象集合时的注释   java Producerconsumer队列,能够将项目移动到前端   java我应该如何实现eclipse插件来分析源代码并为发现的任何错误添加标记?   java这段代码在c中的等价物是什么#   没有JaxB的rest Java Restful服务   spring mvc中不存在java所需的多部分文件参数“file”   java初始化ArrayList<Record<T>[]值;   java sql server作为activemq的持久数据库   我的Java扫描器不会停止运行。我尝试了一种按字母顺序对字符串排序的方法,但是扫描仪不会停止扫描   java在使用JavaFX8显示FXML时执行操作   java运行。sh未使用process builder运行   在java中将侦听器变成未来