Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Ceilometer - cpu meters not collecting data

We're running Mirantis 8 here, in a lab with a single compute node and 3 controllers. The compute node is actually a gateway to a vmware node. (I did not set this up and may not be describing this accurately).

Problem: We wish to use heat templates to create an auto-scaling group based on cpu utilization spikes. We've created the templates and tested them in an RDO setup, with success (that is to say, we're confident that the templates are set up correctly). However, we're not seeing the poller pick up the event (the log says "Skip pollster cpu, no resources found this cycle"). In my functioning RDO setup, I see this line in the log: "Polling pollster cpu in the context of cpu_source"

We've been working with our Mirantis support for about a week with little to show for it. We've checked the timing settings (making sure the configured time units are >= polling times in the pipeline.yaml).

#

/etc/ceilometer/pipeline.yaml:

cat /etc/ceilometer/pipeline.yaml
---
sources:
    - name: meter_source
      interval: 60
      meters:
            - "*"
            - "!volume.create.*"
            - "!volume.delete.*"
            - "!volume.update.*"
            - "!volume.resize.*"
            - "!volume.attach.*"
            - "!volume.detach.*"
            - "!snapshot.create.*"
            - "!snapshot.delete.*"
            - "!identity.authenticate.*"
            - "!storage.api.request"
      sinks:
          - meter_sink
    - name: cpu_source
      interval: 60
      meters:
          - "cpu"
      sinks:
          - cpu_sink
          - cpu_delta_sink
sinks:
    - name: meter_sink
      transformers:
      publishers:
          - notifier://
    - name: cpu_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                target:
                    name: "cpu_util"
                    unit: "%"
                    type: "gauge"
                    scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
      publishers:
          - notifier://
    - name: cpu_delta_sink
      transformers:
          - name: "delta"
            parameters:
                target:
                    name: "cpu.delta"
                growth_only: True
      publishers:
          - notifier://
#

autoscale template:

heat_template_version: 2014-10-16  
description: Auto-scaling group - up only
resources:  
  group:
    type: OS::Heat::AutoScalingGroup
    properties:
      cooldown: 60
      desired_capacity: 2
      max_size: 5
      min_size: 1
      resource:
        type: simple_centos.yaml

  scaleup_policy:
    type: OS::Heat::ScalingPolicy
    properties:
      adjustment_type: change_in_capacity
      auto_scaling_group_id: { get_resource: group }
      cooldown: 60
      scaling_adjustment: 1

  scaledown_policy:
    type: OS::Heat::ScalingPolicy
    properties:
      adjustment_type: change_in_capacity
      auto_scaling_group_id: { get_resource: group }
      cooldown: 60
      scaling_adjustment: -1

  cpu_alarm_high:
    type: OS::Ceilometer::Alarm
    properties:
      meter_name: cpu_util
      statistic: avg
      period: 60
      evaluation_periods: 1
      threshold: 50
      alarm_actions:
        - {get_attr: [scaleup_policy, alarm_url]}
      comparison_operator: gt

  cpu_alarm_low:
    type: OS::Ceilometer::Alarm
    properties:
      meter_name: cpu_util
      statistic: avg
      period: 60
      evaluation_periods: 1
      threshold: 20
      alarm_actions:
        - {get_attr: [scaleup_policy, alarm_url]}
      comparison_operator: lt