更新和查询xymon服务器上的状态

Xymon的Python项目详细描述


这个库允许直接从python脚本与xymon服务器进行基本通信。它与Python2.6、2.7和3一起工作。它可以在未安装xymon客户端的系统上使用。

这里给出了一些基本的例子。有关详细信息,请参见help(Xymon)

安装

$ pip install Xymon

开始

获取Xymon类的实例以与服务器对话。

>>> fromxymonimportXymon>>> server=Xymon('xymon.domain.tld',1984)

服务器名称和端口号是可选的。如果脚本由xymon客户机运行,则服务器名将默认为$XYMSRV环境变量,如果未设置该变量,则服务器名将默认为localhost。端口默认为1984

报告

向服务器报告状态:

>>> server.report('webserver01','https','yellow','slow HTTP response')

查询

正在获取状态数据:

>>> server.appfeed(host='ldap.*',test='ldaps'){'ldap01':
    {'ldaps':
        {'status': 'green',
         'changed': 1396294952,
         'time': 1396462829,
         'url': 'https://xymon.domain.tld/xymon-cgi/svcstatus.sh?HOST=ldap01&SERVICE=ldaps',
         'summary': 'green Wed Apr  2 14:19:56 2014 ldaps ok '}
    },
'ldap02':
    {'ldaps':
        {'status': 'green',
         'changed': 1396294952,
         'time': 1396462829,
         'url': 'https://xymon.domain.tld/xymon-cgi/svcstatus.sh?HOST=ldap02&SERVICE=ldaps',
         'summary': 'green Wed Apr  2 14:19:56 2014 ldaps ok '}
    }
}

这将使用服务器的appfeed.cgi接口与服务器通信。如果调用时没有参数,appfeed()将返回所有主机上所有测试的数据。结果可以受主机、测试、页面和颜色的限制。

注意host可以是Xymon’s documentation中描述的模式。

要将单个主机上单个服务的状态作为字符串获取,请使用status()

>>> server.status('ldap01','ldaps')'green'

如果您需要多个主机/测试的数据,那么使用appfeed()获取所有数据并提取出所需的内容可能更有效。

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

推荐PyPI第三方库


热门话题
使用Selenium Java查找筛选器窗格“铅笔图标”的元素时出现问题   分布式缓存l2上使用infinispan和hibernate的java连接锁   使用Java的DOM XML API解析XML中的符号和   java是解析和操作字符串的有效方法   java发布NewRelicMeterRegistry时如何过滤仪表   多维数组在java中读取文件后将数据值分组   java如何将httpClient配置为jsoup   java BreakIterator在Android中是如何工作的?   找不到maven GAE类:原因:java。lang.ClassNotFoundException应用程序标识cRedential$AppenginecRedential包装   Jlabel调整java大小   调试如何在VScode中的java类依赖项中设置断点   java正在获取文件夹名,而不是。mp3文件{Android}   java如何将从DiffieHellman类生成的AES密钥添加到使用该密钥的类