进程监视http/xml

nomit的Python项目详细描述


nomit是一个小库,可用于处理http/xml post 来自Monit实例的请求。虽然这是一个相对微不足道的适应 在python的BaseHTTPRequestHandler中,多个 其他项目。因此,nomit注册为自己的 项目。

Monit是用于管理unix系统的免费实用程序。多重监视器 实例可以由其姊妹项目monbit集中管理。 monit通过http/xml post请求与monit通信。

要求

nomit使用lxml项目中的lxml.objectify模块。许多Linux 发行版以其本机包格式提供lxml

监视程序

nomit提供一个类 BaseHTTPRequestHandlermonithandler是子类 本身。

它提供两种方法:

  • handle_unparsed()用http/xml post请求的原始xml调用。
  • handle_parsed()在xml被lxml.objectify.fromstring()解析后调用。

这些方法的默认实现什么也不做。任何派生类都必须 根据需要实现这些方法。

示例

下面的示例实现handle_unparsed()以将原始XML打印为 由monit代理发布,并使用handle\u parsed()显示数据 由lxml.objectify.fromstring()返回的结构

import BaseHTTPServer
import xml.dom.minidom
import lxml.objectify
import nomit

class ExampleHandler(nomit.MonitXmlHandler):
    def handle_unparsed(self, s):
        print xml.dom.minidom.parseString(s).toprettyxml()

    def handle_parsed(self, o):
        print lxml.objectify.dump(o)

server = BaseHTTPServer.HTTPServer(("127.0.0.1", 2811), ExampleHandler)
server.serve_forever()

监控配置

必须告诉monit代理将状态信息发布到python 上面的脚本。从代理的角度来看,脚本很简单(另一个[1]。) 普通服务器。

monit.conf

set mmonit http://monit:monit@mmonit.example.com:8080/collector
           http://localhost:2811/

[1]指令set mmonit接受多个url。

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

推荐PyPI第三方库


热门话题
java在使用文件删除文件时的异常行为。删除()   具有非版本化多通关系的java乐观锁版本化实体   Java:对元素进行排序   java为数组中的对象赋值   java获取特定的键及其值   java如何从Oracle获取时区ID而不是时区偏移量   git共享后java Eclipse maven EAR项目不工作   java将包含“”的JSONObject转换为带有JSON的普通字符串   java如何在javafx中基于时间更改场景   java在Apache的httpclient上向HttpPost添加参数   我应该使用哪个Java类来表示Git SSH URL?   java如何才能不序列化继承的非瞬态字段?   线程“JavaFX应用程序线程”java中出现异常。lang.NoClassDefFoundError:javafx/scene/control/ButtonBar   特定表的java jooQ代码生成   具有排序键的Java树映射与HashMap的性能   java内部类不应实现可序列化   返回值时不触发java ValueChangeEvent   在java中,如何在一个单词的中间添加字符?   SparkContext、JavaSparkContext、SQLContext和SparkSession之间的java差异?