From 126350c0ae609c5d35d54556883da2476e81e30e Mon Sep 17 00:00:00 2001 From: Joseph Davis Date: Wed, 18 Apr 2018 15:25:35 -0700 Subject: publisher: Contribute the Monasca publisher The Ceilosca (monasca-ceilometer) publisher has been around since before the Mitaka release and has been used in production for years. The MonascaPublisher acts as another Ceilometer publisher and sends selected metrics on to the Monasca API for storage, aggregation, alarming, etc. Once metrics are in Monasca, they may be retrieved through the Monasca API or with the python-monascaclient. This Ceilosca functionality is a key component for metering in several distributions and is used in many customer installations. With the removal of the Ceilometer v2 API (which allowed the removal of the Ceilosca storage driver, shrinking the Ceilosca code base) and continuing changes to Ceilometer, a tighter integration with the ceilometer repo may be beneficial to keep both Monasca and Telemetry in sync. Change-Id: I2cbce160503e23dfbde375722a3bd100ec86494e Story: 2001239 Task: 5769 --- .../monasca-publisher/example_ceilometer.conf | 32 ++++++++++++ .../monasca-publisher/example_pipeline.yaml | 44 ++++++++++++++++ .../monasca_field_definitions.yaml | 58 ++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 etc/ceilometer/examples/monasca-publisher/example_ceilometer.conf create mode 100644 etc/ceilometer/examples/monasca-publisher/example_pipeline.yaml create mode 100644 etc/ceilometer/examples/monasca-publisher/monasca_field_definitions.yaml (limited to 'etc') diff --git a/etc/ceilometer/examples/monasca-publisher/example_ceilometer.conf b/etc/ceilometer/examples/monasca-publisher/example_ceilometer.conf new file mode 100644 index 00000000..de9f345e --- /dev/null +++ b/etc/ceilometer/examples/monasca-publisher/example_ceilometer.conf @@ -0,0 +1,32 @@ +[DEFAULT] +debug = False + +### +# Skipped ceilometer-config-generator common sections +### + +[monasca] +auth_section = monasca_auth +monasca_mappings = /etc/ceilometer/monasca_field_definitions.yaml + +# NOTE: These are additional options which may be set +# retry_on_failure = False +# enable_api_pagination = True +# client_retry_interval = 60 +# client_max_retries = 5 + +[monasca_auth] +# NOTE: the values here may match the values in the [service_credentials] +# section +auth_url = https://:5000/v2.0 +password = +username = ceilometer +interface = internal +auth_type = password +# project_id may also be used +project_name = admin +project_domain_id = default +user_domain_id = default +region_name = RegionOne +# Specify a CA bundle to enable SSL connection +# verify = /somewhere/ca-bundle.pem diff --git a/etc/ceilometer/examples/monasca-publisher/example_pipeline.yaml b/etc/ceilometer/examples/monasca-publisher/example_pipeline.yaml new file mode 100644 index 00000000..b86aefd7 --- /dev/null +++ b/etc/ceilometer/examples/monasca-publisher/example_pipeline.yaml @@ -0,0 +1,44 @@ +# An example pipeline.yaml +# Reference https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html +# for other possible meters. +--- +sources: + - name: compute_source + interval: 30 + meters: + - "memory" + - "vcpus" + sinks: + - meter_sink + - name: network_source + interval: 30 + meters: + - "bandwidth" + sinks: + - meter_sink + - name: image_source + interval: 30 + meters: + - "image.size" + 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://https://:8070/v2.0 diff --git a/etc/ceilometer/examples/monasca-publisher/monasca_field_definitions.yaml b/etc/ceilometer/examples/monasca-publisher/monasca_field_definitions.yaml new file mode 100644 index 00000000..52741017 --- /dev/null +++ b/etc/ceilometer/examples/monasca-publisher/monasca_field_definitions.yaml @@ -0,0 +1,58 @@ +dimensions: + - resource_id + - project_id + - user_id + - region + - type + - unit + - source +metadata: + common: + - event_type + - audit_period_beginning + - audit_period_ending + - availability_zone + memory: + - state + - 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 + snapshot.size: + - volume_size + - state + - status + - created_at + - host + volume.size: + - size + - volume_type + - status + - created_at + - host + - status -- cgit v1.2.1