
This adds the possibility to retrieve prometheus or aetos endpoint information from keystone. Aetos is expected to have the endpoint registered (Aetos's devstack plugin already does this) and admins can register plain prometheus in Keystone with a simple command. Previous functionality with using /etc/openstack/prometheus.yaml or env variables is kept unchanged. Change-Id: I20eb5858244f1202ab8bc1fa26bb46b41d927ac0
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