跳转到主要内容

帮助查询MK livestatus并获得结果

项目描述

作者

Michael Fladischer

版本
0.4

以Python列表或字典的形式访问MK Livestatus查询返回的数据。它通过向MK Livestatus UNIX套接字发送查询并解析返回的行来实现。需要UNIX套接字的读写权限。

已知此包与Python 2.7、3.3、3.4、pypy和pypy3兼容。

用法

以下是一个简单的示例,用于获取UP(0)状态下的所有服务器的名称和主机组

>>> from mk_livestatus import Socket
>>> s = Socket("/var/lib/icinga/rw/live")
>>> q = s.hosts.columns('name', 'groups').filter('state = 0')
>>> print q
GET hosts
Columns: name groups
Filter: state = 0
>>> q.call()
[{'name': 'example.com', 'groups': ['ssh', 'snmp', 'smtp-server', 'ping-server', 'http-server', 'debian-server', 'apache2']}]

s.hosts 返回一个查询Nagios上 hosts 资源的查询。 columnsfilter 方法修改我们的查询并返回它,因此我们可以链式调用。对 call 方法的调用以字典列表的形式返回行。

如果您使用xinetd将Unix套接字绑定到TCP套接字(如此处所述),您可以创建套接字如下

>>> s = Socket(('192.168.1.1', 6557))

如需更多信息,请访问python-mk-livestatus网站。有关MK Livestatus及其查询语法的信息可在mk-livestatus网站找到。

项目详情


下载文件

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

源代码分发

python-mk-livestatus-0.4.tar.gz (3.7 kB 查看哈希值)

上传时间 源代码

构建分发

python_mk_livestatus-0.4-py3-none-any.whl (5.1 kB 查看哈希值)

上传时间 Python 3

由以下支持