
Improvements: - better readability - get_prom_client_from_keystone can be used by watcher for PrometheusAPIClient initialization. - A better split between how the client is created for Aetos and how it's created for Prometheus. Changes to the previous behavior of get_prometheus_client: - It's not possible to override PrometheusAPIClient arguments with environment variables if they're retrieved from Keystone. - It's not possible to use config file / environment variables to connect to Aetos (the keystone session parameter won't be passed to PrometheusAPIClient and so it won't be able to authenticate) I think even though, there are some changes to how Aetos can access can be configured, it's getting it a bit closer to how other services work (getting the endpoint from keystone and not requiring / allowing additional configuration). Prometheus access configuration through config file / env variables stays unchanged. Change-Id: Icd08347056e92502992d4fee799bb3e06e03c0c9 Signed-off-by: Jaromir Wysoglad <jwysogla@redhat.com>
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://opendev.org/openstack/python-observabilityclient.git
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