python-kairosdb – KairosDB REST API python client and interface

The kairosdb package provides an intuitive and easy to use interface to KairosDB REST API. It defines the following attribute:

kairosdb.VERSION = '0.2.1'

Current version of the package as str.

kairosdb.LOG = None

Basic logger for KairosDB interface module

kairosdb.basic_logger()[source]

Configure a basic logger for KairosDB interface

Returns:Logger object

kairosdb.client – KairosDB REST API client

class kairosdb.client.KairosDBAPIClient(api_endpoint, verify=None, timeout=None)[source]

KairosDB API client

It implements common HTTP methods GET, POST, PUT and DELETE This client is using requests package. Please see http://docs.python-requests.org/ for more information.

Parameters:
  • verify (bool) – Control SSL certificate validation
  • timeout (int) – Request timeout in seconds
  • api_endpoint (str) – KairosDB API endpoint
get(self, path, data=None, **kwargs)

Partial method invoking request() with http method GET.

post(self, path, data=None, **kwargs)

Partial method invoking request() with http method POST.

put(self, path, data=None, **kwargs)

Partial method invoking request() with http method PUT.

delete(self, path, data=None, **kwargs)

Partial method invoking request() with http method DELETE.

request(path, method, data=None, **kwargs)[source]

Handle requests to API

Parameters:
  • path (str) – API endpoint’s path to request
  • method (str) – HTTP method to use
  • data (dict) – Data to send (optional)
Returns:

Parsed json response as dict

Additional named argument may be passed and are directly transmitted to request() method of requests.Session object.

class kairosdb.client.KairosDBAPIEndPoint(api_client)[source]

KairosDB API endpoint

This class do not provide convenience methods get(), post(), put() and delete(). Those methods should be implemented by subclasses.

Parameters:api_client (CachetAPIClient) – Cachet API client instance
api_client

CachetAPIClient instance passed at instantiation.

_get

Alias to get() method of api_client instance.

_post

Alias to post() method of api_client instance.

_put

Alias to put() method of api_client instance.

_delete

Alias to delete() method of api_client instance.

kairosdb – KairosDB REST API Interface

class kairosdb.KairosDBAPI(*args, **kwargs)[source]

KairosDB API interface

version

KairosDB version from API.

health_status

KairosDB health status from API.

health_check

KairosDB health check from API.

metricnames

KairosDB metric names from API.

tagnames

KairosDB tag names from API.

tagvalues

KairosDB tag values from API.

search_metrics(matches, exclude_matches=None)[source]

Search KairosDB metrics using glob matches

Parameters:
  • matches (list) – List of glob matches
  • exclude_matches (list) – List of glob matches for exclusions
Returns:

Matched metric names as list()

query_metrics(data)[source]

Get metrics data points

Parameters:data (dict) – Data to post for query
Returns:Metric data points as dict
delete_metric(metric_name)[source]

Delete a metric and all data points associated with the metric

Parameters:metric_name (str) – Name of the metric to delete
delete_datapoints(data)[source]

Delete metric data points

Parameters:data (dict) – Data to post for query