Client for Telemetry projects for Prometheus communication
Go to file
Jaromír Wysoglad 53b335aaca
Add automated unit testing and a set of tests (#9)
* Add unit testing

* Fix code according to CI

This includes:
  - formating changes
  - rewording of some doc strings
  - adding support to {label!~'value'} in rbac

* Add unit tests automation

* Fix CI automation

* Add requirements.txt
2023-09-05 14:54:33 +02:00
.github/workflows Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02:00
observabilityclient Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02:00
tools Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02:00
.gitignore PyPI dist (#8) 2023-08-04 16:10:35 +02: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 Add automated unit testing and a set of tests (#9) 2023-09-05 14:54:33 +02: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