Skip to main content

Helps to query MK livestatus and return results as dictionaries

Project description

Contents

Access the data returned from MK Livestatus queries as Python lists or dictionaries. It does this by sending queries to the MK Livestatus UNIX socket and parses the returned rows. Read/write permission to the UNIX socket are required.

Usage

Here a simple example to fetch the name and hostgroups for all servers in the UP (0) state:

>>> 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 returns a Query to the hosts resources on Nagios. The columns and filter methods modify our query and return it, so we can chain the calls. The call to call method returns the rows as a list of dictionaries.

If you use xinetd to bind the Unix socket to a TCP socket (like explained here), you can create the socket like :

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

For more information please visit the python-mk-livestatus website. Information about MK Livestatus and it’s query syntax is available at the mk-livestatus website.

Project details


Release history Release notifications

History Node

0.4

This version
History Node

0.3

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
python-mk-livestatus-0.3.tar.gz (3.2 kB) Copy SHA256 hash SHA256 Source None May 26, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page