OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have.
|6 months ago|
|ceilosca||1 year ago|
|devstack||7 months ago|
|etc/ceilometer||1 year ago|
|tools||1 year ago|
|.gitignore||1 year ago|
|.gitreview||6 months ago|
|.stestr.conf||1 year ago|
|.zuul.yaml||8 months ago|
|LICENSE||2 years ago|
|README.rst||1 year ago|
|mkdocs.yml||4 years ago|
|monasca_test_setup.py||1 year ago|
|setup.cfg||10 months ago|
|setup.py||1 year ago|
|test-requirements.txt||1 year ago|
|tox.ini||11 months ago|
Python plugin and storage driver for Ceilometer to send samples to monasca-api. Also known as Ceilosca.
To set up Ceilosca automatically, read the instructions in devstack/README.md or use the included Vagrantfile
Assumes that an active monasca-api server is running after installing DevStack.
pip install python-monascaclient
Copy the following files from
ceilosca/ceilometer to devstack’s ceilometer location, typically at
monasca_client.py tests/* (skipping the init.py files) publisher/monasca_data_filter.py publisher/monclient.py ceilosca_mapping/* opts.py monasca_ceilometer_opts.py
setup.cfg (used at the time of installation)
Under ‘ceilometer.sample.publisher =’ section add the following line:
monasca = ceilometer.publisher.monclient:MonascaPublisher
/etc/ceilometer/pipeline.yamlto send the metrics to the monasca publisher. Use the included monasca-ceilometer/etc/ceilometer/pipeline.yaml file as an example.
/etc/ceilometer/ceilometer.conffor setting up storage driver for ceilometer API. Use the included
monasca-ceilometer/etc/ceilometer/ceilometer.conffile as an example.
Copy the included
monasca_pipeline.yaml files from
This monasca_field_definitions.yaml file contains configuration how to treat each field in ceilometer sample object on per meter basis. The monasca_data_filter.py uses this file and only stores the fields that are specified in this config file.
ceilometer.confhas monasca_user role added.
Since we don’t have a full repo of ceilometer, we setup the ceilometer repo in venv and copy monasca integration files in there, and run the unit tests over that code. At present this is tested against ceilometer stable/pike branch, if you need to test against different branch you can change it in test-requirements.txt
Relevant files are:
From time to time, Ceilometer introduces new meters. The list of currently supported measurements can be found at https://docs.openstack.org/ceilometer/pike/admin/telemetry-measurements.html (which is generated from https://github.com/openstack/ceilometer/doc/source/admin/telemetry-measurements.rst).
Meters are specified both for transfer from Ceilometer to Monasca API and from Monasca to Ceilometer v2 API (for versions supporting it). In a nutshell, pipeline YAML from Ceilometer along with the ceilometer_static_info_mapping.yaml from Ceilosca define what goes to Monasca API, and ceilosca_mapping.yaml defines what gets mapped back from Monasca API to Ceilometer v2 API (deprecated).
Some meters require additional configuration in Ceilometer. For example, the SDN pollster meters need specialized drivers. For more information about how Ceilometer collects meters through polling or collecting, please reference the Telemetry documentation and measurements.
As with Ceilometer, the list of meters to be published is specified in
As metering data accumulates over time, it is recommended that Ceilometer be configured to only publish meters where the customer has a need for the data. Additionally, it is recommended to check the measurements captured by Monasca agents to avoid any duplication of data.
To enable or disable meters,
/etc/ceilometer/pipeline.yaml. Hint: You can see which meters are currently being reported through
ceilometer meter-listin Pike and earlier).
/etc/ceilometer/pipeline.yamlfile to add or remove entries from the meters list. For a short example see etc/ceilometer/ceilosca_pipeline.yaml or the longer etc/ceilometer/example_pipeline.yaml.
To create new meters (or clean out removed meters),
monasca_field_definitions.ymlwith the new meters.
Also note that HPE published documentation describing how to configure the metering service (using Ceilosca in Helion OpenStack 3.0 and later), which may be helpful for historical context. link 1 link 2 link 3
The Ceilometer v2 API was deprecated as of Newton and removed in Queens from the ceilometer repo. All of the published Ceilometer measurements will continue to be available through the Monasca API.
Note: It is possible, for Ceilometer versions before the Ceilometer v2 API was removed (Pike, Ocata, etc), to map Monasca gathered metrics back to the Ceilometer API by specifying them in the
/etc/ceilosca-mapping.yaml file. For example, “cpu.time_ns” for a vm component can be mapped back to “cpu” in Ceilometer v2 API.
Here are a few examples of how a meter gathered by Ceilometer and passed through Ceilosca can be found and used in the Monasca API.
In Ceilometer pipeline YAML file
|Ceilometer meter||Monasca API metric|
|Ceilometer meter||Monasca API metric|
Note: Monasca Agent can gather many similar metrics directly, such as cpu time for a VM. For simplicity, it is recommended that the Monasca Agent be favored when choosing which metrics to use.
The source for these configuration files in the monasca-ceilometer repo is:
ceilosca ├── ceilometer │ ├── ceilosca_mapping │ │ ├── data │ │ │ ├── ceilometer_static_info_mapping.yaml │ │ │ └── ceilosca_mapping.yaml
Copyright (c) 2015-2017 Hewlett-Packard Development Company, L.P.
Copyright (c) 2018 SUSE LLC
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.