From f0e09192218d05673b1b23105c1abdf107e4936d Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Wed, 31 Jul 2019 12:06:44 +0300 Subject: [PATCH] Add distribution of metrics.yml As cloudkitty requires metrics.yml to be present in etc directory to be fully operational, we're distributing this file by default[1] cloudkitty_metrics_overrides variable added in order to override default [1] http://logs.openstack.org/30/673530/2/check/openstack-ansible-functional-ubuntu-bionic/c6eee8a/logs/openstack/openstack1/cloudkitty-processor.service.journal.log.txt.gz#_Jul_30_14_44_00 Change-Id: Ie08cfd0d8dc4835712df0b937170b631aebd10c8 --- defaults/main.yml | 1 + tasks/cloudkitty_post_install.yml | 4 ++ templates/cloudkitty-metrics.yml.j2 | 94 +++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 templates/cloudkitty-metrics.yml.j2 diff --git a/defaults/main.yml b/defaults/main.yml index 18c0148..e880662 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -114,6 +114,7 @@ cloudkitty_service_internalurl: "{{ cloudkitty_service_internaluri }}/" cloudkitty_cloudkitty_conf_overrides: {} cloudkitty_policy_overrides: {} cloudkitty_api_paste_ini_overrides: {} +cloudkitty_metrics_overrides: {} cloudkitty_api_init_overrides: {} cloudkitty_processor_init_overrides: {} diff --git a/tasks/cloudkitty_post_install.yml b/tasks/cloudkitty_post_install.yml index fb86011..63d313d 100644 --- a/tasks/cloudkitty_post_install.yml +++ b/tasks/cloudkitty_post_install.yml @@ -37,6 +37,10 @@ dest: "/etc/cloudkitty/policy.json-{{ cloudkitty_venv_tag }}" config_overrides: "{{ cloudkitty_policy_overrides }}" config_type: "json" + - src: "cloudkitty-metrics.yml.j2" + dest: "/etc/cloudkitty/metrics.yml" + config_overrides: "{{ cloudkitty_metrics_overrides }}" + config_type: "yaml" notify: - Restart cloudkitty services tags: diff --git a/templates/cloudkitty-metrics.yml.j2 b/templates/cloudkitty-metrics.yml.j2 new file mode 100644 index 0000000..edffdb5 --- /dev/null +++ b/templates/cloudkitty-metrics.yml.j2 @@ -0,0 +1,94 @@ +metrics: + cpu: + unit: instance + alt_name: instance + groupby: + - id + - user_id + - project_id + metadata: + - flavor_name + - flavor_id + - vcpus + mutate: NUMBOOL + extra_args: + aggregation_method: mean + resource_type: instance + + image.size: + unit: MiB + factor: 1/1048576 + groupby: + - id + - user_id + - project_id + metadata: + - container_format + - disk_format + extra_args: + aggregation_method: mean + resource_type: image + + volume.size: + unit: GiB + groupby: + - id + - user_id + - project_id + metadata: + - volume_type + extra_args: + aggregation_method: mean + resource_type: volume + + network.outgoing.bytes.rate: + unit: MB + groupby: + - id + - project_id + - user_id + # Converting B/s to MB/h + factor: 3600/1000000 + metadata: + - instance_id + extra_args: + aggregation_method: mean + resource_type: instance_network_interface + + network.incoming.bytes.rate: + unit: MB + groupby: + - id + - project_id + - user_id + # Converting B/s to MB/h + factor: 3600/1000000 + metadata: + - instance_id + extra_args: + aggregation_method: mean + resource_type: instance_network_interface + + ip.floating: + unit: ip + groupby: + - id + - user_id + - project_id + metadata: + - state + mutate: NUMBOOL + extra_args: + aggregation_method: mean + resource_type: network + + radosgw.objects.size: + unit: GiB + groupby: + - id + - user_id + - project_id + factor: 1/1073741824 + extra_args: + aggregation_method: mean + resource_type: ceph_account \ No newline at end of file