Client for Telemetry projects for Prometheus communication
Go to file
Jaromir Wysoglad 26687730b3 Fix zuul testing
This change fixes python 3.8 unit tests.
Unfortunately using grouping parentheses in with statements
is a python 3.9+ feature. I had to replace the parentheses
with a less elegant "\" to escape continuation lines.

I also included a .zuul.yaml, without which this couldn't
get merged and a .gitreview for convinience.

The telemetry-dsvm-* tests are non-voting for now.
There isn't any relevant test for this repositary
there as of right now,
those will get added in the next few weeks. And
unfortunately all the telemetry-dsvm-* tests fail
due to pyparsing version mismatch right now.
Once I or anyone else adds relevant tests to the
telemetry tempest plugin, we can make the tests
voting here.

Co-authored-by: Martin Magr <mmagr@redhat.com>
Co-authored-by: Erno Kuvaja <jokke@usr.fi>
Change-Id: Icc7b0229bca0664ee7fd60e3932df8f599beb500
2023-10-16 09:02:34 -04:00
.github/workflows Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02:00
observabilityclient Fix zuul testing 2023-10-16 09:02:34 -04:00
tools Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02: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 Fix zuul testing 2023-10-16 09:02:34 -04:00
AUTHORS PyPI dist (#8) 2023-08-04 16:10:35 +02:00
LICENSE Update license file 2022-11-23 08:49:25 -05:00
pyproject.toml PyPI dist (#8) 2023-08-04 16:10:35 +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 Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02:00
setup.py Initial commit 2022-04-25 13:02:34 +02:00
tox.ini Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02: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