帮助查询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资源的查询。方法columnsfilter修改我们的查询并返回它,以便我们可以链接调用。调用call方法以字典列表的形式返回行。

如果使用XeNETD将UNIX套接字绑定到TCP套接字(如解释的here),则可以创建套接字式:

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

有关详细信息,请访问python-mk-livestatus website。有关mk livestatus及其查询语法的信息可以在mk-livestatus website上找到。

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

推荐PyPI第三方库


热门话题
Java中是否有数字的默认类型   java调用一个类的方法来使用另一个类的实例   java HtmlUnit不适用于javascript处理   java需要帮助才能连接MongoDB   java如何从Maven中的src/main/resources复制文件?   java保存Int值(共享首选项)   从另一个类调用方法时,java Autowired组件出现空指针异常   java Spring JPA:PropertyAccessException 1:。。。MethodInvocationException:。'driverClassName'。。。org/postgresql/Driver:不支持的专业。次要版本52.0   java使用增强的JDO模型类在Eclipse中运行Junit测试   java如何使用eclipse IDE为junit创建可运行的jar文件   java如何在安卓中检测应用程序的启动和退出   java在其他线程可以访问静态映射时从数据库更新静态映射   java@Entitty和@EntityScan不起作用。我正在使用SpringBoot和jpa存储库,发生了很多次   java如何与google日历集成?