diff --git a/README.rst b/README.rst index 67c37ee..4072500 100644 --- a/README.rst +++ b/README.rst @@ -47,12 +47,12 @@ DevStack. :: monasca_client.py - tests/* (skipping the init.py files) - publisher/monasca_data_filter.py - publisher/monclient.py - ceilosca_mapping/* + monasca_opts.py opts.py - monasca_ceilometer_opts.py + publisher/monasca_data_filter.py + publisher/monasca.py + tests/* (skipping the init.py files) + 5. Edit ``setup.cfg`` (used at the time of installation) @@ -60,28 +60,27 @@ DevStack. :: - monasca = ceilometer.publisher.monclient:MonascaPublisher + monasca = ceilometer.publisher.monasca:MonascaPublisher 6. Configure ``/etc/ceilometer/pipeline.yaml`` to send the metrics to the monasca publisher. Use the included - monasca-ceilometer/etc/ceilometer/pipeline.yaml file as an example. + ``monasca-ceilometer/etc/ceilometer/pipeline.yaml`` file as an example. 7. Configure ``/etc/ceilometer/ceilometer.conf`` for setting up storage - driver for ceilometer API. Use the included + driver for Ceilometer. Use the included ``monasca-ceilometer/etc/ceilometer/ceilometer.conf`` file as an example. -8. Copy the included ``monasca_field_definitions.yml`` and - ``monasca_pipeline.yaml`` files from +8. Copy the included ``monasca_field_definitions.yml`` file from ``monasca-ceilometer/etc/ceilometer`` to ``/etc/ceilometer``. - 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 + 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. -9. Make sure the user specified under service_credentials in - ``ceilometer.conf`` has *monasca_user role* added. +9. Make sure the user specified under ``[service_credentials]`` in + ``ceilometer.conf`` has *monasca_user* role added. Other install info ~~~~~~~~~~~~~~~~~~ @@ -114,13 +113,6 @@ 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, @@ -146,9 +138,7 @@ To enable or disable meters, ``ceilometer meter-list`` in Pike and earlier).* 2. Edit the ``/etc/ceilometer/pipeline.yaml`` file 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. + entries from the meters list. 3. Repeat changes for all control plane nodes. @@ -158,9 +148,9 @@ To enable or disable meters, To create new meters (or clean out removed meters), 1. Identify which meters are available for this OpenStack Ceilometer release - on`telemetry-measurements.html`_ + on `measurements`_ page. - - Idenfity which parameters should betransfered to Monasca. + - Idenfity which parameters should be transfered to Monasca. - Identify the Origin of the meter. Be aware that Pollster meters may require additional configuration. @@ -172,19 +162,6 @@ 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`_ -Defining which meters are available through Ceilometer v2 API (deprecated) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -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. - Using Monasca API meters collected by Ceilosca ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -203,31 +180,10 @@ In Ceilometer pipeline YAML file "memory", "memory" "storage.objects", "storage.objects" -In /etc/ceilometer/ceilometer-static-info-mapping.yaml - -.. csv-table:: - :header: "Ceilometer meter", "Monasca API metric" - :widths: 50, 50 - - "disk.ephemeral.size", "disk.ephemeral.size" - "disk.root.size", "disk.root.size" - 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 - License ======= diff --git a/etc/ceilometer/ceilometer.conf b/etc/ceilometer/ceilometer.conf index a84dca9..b2f412d 100644 --- a/etc/ceilometer/ceilometer.conf +++ b/etc/ceilometer/ceilometer.conf @@ -34,6 +34,9 @@ workers = 3 connection = monasca://http://127.0.0.1:8070/v2.0 metering_time_to_live = -1 +[publisher_notifier] +metering_topic=metering + [monasca] enable_api_pagination = True database_retry_interval = 5 diff --git a/etc/ceilometer/ceilosca_pipeline.yaml b/etc/ceilometer/ceilosca_pipeline.yaml deleted file mode 100644 index 2656e13..0000000 --- a/etc/ceilometer/ceilosca_pipeline.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -sources: - - name: meter_source - interval: 60 - meters: - - "instance" - - "image" - - "image.size" - - "image.update" - - "image.upload" - - "image.delete" - - "snapshot" - - "snapshot.size" - - "volume" - - "volume.size" - sinks: - - meter_sink -sinks: - - name: meter_sink - transformers: - publishers: - - monasca://INSERT-URL-HERE \ No newline at end of file diff --git a/etc/ceilometer/example_pipeline.yaml b/etc/ceilometer/example_pipeline.yaml deleted file mode 100644 index 8aaad86..0000000 --- a/etc/ceilometer/example_pipeline.yaml +++ /dev/null @@ -1,71 +0,0 @@ ---- -sources: - - name: compute_source - interval: 30 - meters: - - "instance" - - "memory" - - "vcpus" - sinks: - - meter_sink - - name: network_source - interval: 30 - meters: - meters: - - "network" - - "port" - - "router" - - "subnet" - - "ip.floating" - - "network.create" - - "network.update" - - "network.delete" - - "port.create" - - "port.delete" - - "port.update" - - "router.create" - - "router.delete" - - "router.update" - - "subnet.create" - - "subnet.delete" - - "subnet.update" - sinks: - - meter_sink - - name: image_source - interval: 30 - meters: - - "image" - - "image.size" - - "image.update" - - "image.upload" - - "image.delete" - sinks: - - meter_sink - - name: volume_source - interval: 30 - meters: - - "volume" - - "volume.size" - - "snapshot" - - "snapshot.size" - - "volume.delete.end" - - "volume.create.end" - - "volume.resize.end" - - "volume.update.end" - - "snapshot.create.end" - - "snapshot.delete.end" - sinks: - - meter_sink - - name: swift_source - interval: 3600 - meters: - - "storage.objects" - - "storage.objects.size" - - "storage.objects.containers" - sinks: - - meter_sink -sinks: - - name: meter_sink - transformers: - publishers: - - monasca://https://:8070/v2.0 diff --git a/etc/ceilometer/monasca_field_definitions.yaml b/etc/ceilometer/monasca_field_definitions.yaml index 7892161..8bf2dac 100644 --- a/etc/ceilometer/monasca_field_definitions.yaml +++ b/etc/ceilometer/monasca_field_definitions.yaml @@ -2,9 +2,7 @@ dimensions: - resource_id - project_id - user_id - - geolocation - region - - availability_zone - type - unit - source @@ -13,29 +11,63 @@ metadata: - event_type - audit_period_beginning - audit_period_ending - instance: + - availability_zone + memory: - state - - state_description - image: - - size - - status + - memory_mb + - root_gb + - vcpus + - disk_gb + - ephemeral_gb + - host + - instance_flavor_id + - image_ref_url + - created_at + - deleted_at + - launched_at + vcpus: + - state + - memory_mb + - root_gb + - vcpus + - disk_gb + - ephemeral_gb + - host + - instance_flavor_id + - image_ref_url + - created_at + - deleted_at + - launched_at image.size: - size - status + - is_public + - properties.image_type image.update: - size - status + - is_public + - properties.image_type image.upload: - size - status + - is_public + - properties.image_type image.delete: - size - status - snapshot: + - is_public + - properties.image_type + volume.size: + - size + - volume_type + - status + - created_at + - host - status snapshot.size: + - volume_size + - state - status - volume: - - status - volume.size: - - status + - created_at + - host diff --git a/etc/ceilometer/pipeline.yaml b/etc/ceilometer/pipeline.yaml index 30d8c2d..b9a4dd0 100644 --- a/etc/ceilometer/pipeline.yaml +++ b/etc/ceilometer/pipeline.yaml @@ -1,13 +1,44 @@ --- sources: - - name: meter_source - interval: 60 + - name: compute_source + interval: 30 meters: - - "instance" + - "memory" + - "vcpus" + sinks: + - meter_sink + - name: network_source + interval: 30 + meters: + - "bandwidth" + sinks: + - meter_sink + - name: image_source + interval: 30 + meters: + - "image.size" + - "image.update" + - "image.upload" + - "image.delete" + sinks: + - meter_sink + - name: volume_source + interval: 30 + meters: + - "volume.size" + - "snapshot.size" + sinks: + - meter_sink + - name: swift_source + interval: 3600 + meters: + - "storage.objects" + - "storage.objects.size" + - "storage.objects.containers" sinks: - meter_sink sinks: - name: meter_sink transformers: publishers: - - monasca://http://192.168.10.6:8070/v2.0 + - monasca://http://192.168.10.6:8070/v2.0 diff --git a/monasca_test_setup.py b/monasca_test_setup.py index 40bb3ae..3379d0d 100644 --- a/monasca_test_setup.py +++ b/monasca_test_setup.py @@ -43,7 +43,6 @@ ceilosca_conf_files = { [ 'etc/ceilometer/monasca_field_definitions.yaml', 'etc/ceilometer/pipeline.yaml', - 'etc/ceilometer/monasca_pipeline.yaml', 'etc/ceilometer/ceilometer.conf', 'etc/ceilometer/policy.json' ]