Client for Telemetry projects for Prometheus communication
Go to file
Takashi Kajinami e64b943b77 Drop direct usage of simplejson
simplejson is not in requirements so is not install automatically.
The requests library uses the built-in json module instead of the 3rd-
party simplejson library in case the simplejson library is not present.
We should use the alias (requests.JsonDecodeError) instead of
the actual exception from underlying modules to adapt to that
selection logic.

Also remove duplicated code in __str__ and __repr__. The logic in
__repr__ does not contain handling for non-json response and looks
incomplete.

Change-Id: I89749eebc1e410f023169a115ffbfa9ef04cf3ad
2024-05-25 13:52:32 +00:00
observabilityclient Drop direct usage of simplejson 2024-05-25 13:52:32 +00:00
tools Add functional tests 2023-11-15 05:54:41 -05:00
.gitignore Fix zuul testing 2023-10-16 09:02:34 -04:00
.gitreview Fix zuul testing 2023-10-16 09:02:34 -04:00
.zuul.yaml Add functional tests 2023-11-15 05:54:41 -05:00
LICENSE Update license file 2022-11-23 08:49:25 -05:00
pyproject.toml PyPI dist (#8) 2023-08-04 14:25:09 +02:00
README.md Prometheus interaction (#7) 2023-08-03 15:30:19 +02:00
requirements.txt Fix zuul testing 2023-10-16 09:02:34 -04:00
setup.cfg Remove unused test dependencies 2024-03-12 22:08:11 +09:00
setup.py Initial commit 2022-04-25 13:02:34 +02:00
test-requirements.txt Add functional tests 2023-11-15 05:54:41 -05:00
tox.ini Use stestr for testing 2024-04-30 04:39:22 -04:00

python-observabilityclient

observabilityclient is an OpenStackClient (OSC) plugin implementation that implements commands for management of Prometheus.

Development

Install your OpenStack environment and patch your openstack client application using python.

# if using standalone, the following commands come after 'sudo dnf install -y python3-tripleoclient'

su - stack

# clone and install observability client plugin
git clone https://github.com/infrawatch/python-observabilityclient
cd python-observabilityclient
sudo python setup.py install --prefix=/usr

Usage

Use openstack metric query somequery to query for metrics in prometheus.

To use the python api do the following:

from observabilityclient import client

c = client.Client(
            '1', keystone_client.get_session(conf),
            adapter_options={
                'interface': conf.service_credentials.interface,
                'region_name': conf.service_credentials.region_name})
c.query.query("somequery")

List of commands

openstack metric list - lists all metrics openstack metric show - shows current values of a metric openstack metric query - queries prometheus and outputs the result openstack metric delete - deletes some metrics openstack metric snapshot - takes a snapshot of the current data openstack metric clean-tombstones - cleans the tsdb tombstones

List of functions provided by the python library

c.query.list - lists all metrics c.query.show - shows current values of a metric c.query.query - queries prometheus and outputs the result c.query.delete - deletes some metrics c.query.snapshot - takes a snapshot of the current data c.query.clean-tombstones - cleans the tsdb tombstones