帮助查询mk livestatus并获取结果
python-mk-livestatus的Python项目详细描述
Author: | Michael Fladischer |
---|---|
Version: | 0.4 |
内容
以python列表或字典的形式访问mk livestatus查询返回的数据。 它通过向mk livestatus unix套接字发送查询并解析返回的行来实现这一点。 需要对unix套接字的读/写权限。
众所周知,这个包与python 2.7、3.3、34、pypy和pypy3兼容。
Usage
下面是一个简单的示例,用于获取处于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资源的查询。方法columns和filter修改我们的查询并返回它,以便我们可以链接调用。调用call方法以字典列表的形式返回行。
如果使用XeNETD将UNIX套接字绑定到TCP套接字(如解释的here),则可以创建套接字式:
>>> s = Socket(('192.168.1.1', 6557))
有关详细信息,请访问python-mk-livestatus website。有关mk livestatus及其查询语法的信息可以在mk-livestatus website上找到。