There were some changes to the sg-core devstack plugin, to which we need to react. These changes are similar to what was done in the telemetry-tempest-plugin recently: https://review.opendev.org/c/openstack/telemetry-tempest-plugin/+/945108 https://review.opendev.org/c/openstack/telemetry-tempest-plugin/+/937371 Use PROMETHEUS_CUSTOM_SCRAPE_TARGETS to pass sg_core scrape endpoint https://review.opendev.org/c/openstack/devstack-plugin-prometheus/+/950476 adds the support for passing custom prometheus scrape target in d-p-p. Let's use the same to pass sg_core endpoint. Cherry-picked from these 2 commits on master, without conflicts (both at once need to be applied to pass CI):2fc3646ac534781c5e4fChange-Id: I5c1885a3ca9d732d41db140a0feb4c87925b5a48 Co-Authored-By: Chandan Kumar (raukadah) <chkumar@redhat.com> Signed-off-by: Elod Illes <elod.illes@est.tech> 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://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