<div dir="ltr"><div>Hi,</div><div><br></div><div>I'm sending custom Ceilometer metrics from inside VM instance with REST call to<br></div><div><a href="http://192.168.100.5:8777/v2/meters/vm_cpu_load">http://192.168.100.5:8777/v2/meters/vm_cpu_load</a>.</div>
<div><br></div><div>This is successful and I can see the entered metric data with Ceilometer:</div><div><br></div><div># ceilometer sample-list -m vm_cpu_load -q="resource_id=91951d0a-9a43-4894-99fb-ac67a1098771"  | tail -n +4 | head -n -1 | sort -k 12</div>
<div>...</div><div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 2.6    | %    | 2014-03-30T19:20:38.080000 |</div><div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 3.3    | %    | 2014-03-30T19:20:58.223000 |</div>
<div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 2.6    | %    | 2014-03-30T19:21:18.078000 |</div><div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 28.6   | %    | 2014-03-30T19:21:38.894000 |</div>
<div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 1.0    | %    | 2014-03-30T19:21:59.370000 |</div><div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 2.3    | %    | 2014-03-30T19:22:20.255000 |</div>
<div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 0.3    | %    | 2014-03-30T19:22:40.351000 |</div><div>| 91951d0a-9a43-4894-99fb-ac67a1098771 | vm_cpu_load | gauge | 1.9    | %    | 2014-03-30T19:23:00.317000 |</div>
<div><br></div><div># ceilometer meter-list | grep vm_cpu_load | grep 91951d0a-9a43-4894-99fb-ac67a1098771</div><div>| vm_cpu_load  | gauge      | %        | 91951d0a-9a43-4894-99fb-ac67a1098771    | 2884e2f624224227bb63d77a040126e6 | a12aee6f0da04d8d976eb4b761a73e14 |</div>
<div><br></div><div>I've started the instance with a Heat template having AutoScaling defined and I'm trying to base the scaling actions to this custom metric. </div><div>The problem is that the autoscaling does not occur. </div>
<div><br></div><div>    "Resources" : {</div><div><br></div><div>        "Group_B" : {</div><div>            "Type" : "AWS::AutoScaling::AutoScalingGroup",</div><div>            "Properties" : {</div>
<div>                "AvailabilityZones" : { "Fn::GetAZs" : ""},</div><div>                "LaunchConfigurationName" : { "Ref" : "Group_B_Config" },</div><div>                "MinSize" : "1",</div>
<div>                "MaxSize" : "3",</div><div>                "Tags" : [ </div><div>                  { "Key" : "metering.server_group", "Value" : "Group_B" }</div>
<div>                ],</div><div>                "VPCZoneIdentifier" : [ { "Ref" : "Private Application Subnet ID" } ] </div><div>            }</div><div>        },</div><div>        ...</div>
<div>        "Group_B_Config" : {</div><div>            "Type" : "AWS::AutoScaling::LaunchConfiguration",</div><div>            "Properties": {</div><div>                "ImageId" : { "Ref" : "Image Id" },</div>
<div>                "InstanceType" : { "Ref" : "Instance Type" },</div><div>                "KeyName" : { "Ref" : "Key Name" }</div><div>            }</div><div>
        },</div><div>        ...</div><div>        "CPUAlarmHigh": {</div><div>            "Type": "OS::Ceilometer::Alarm",</div><div>            "Properties": {</div><div>                "description": "Scale-up if CPU is greater than 80% for 60 seconds",</div>
<div>                "meter_name": "vm_cpu_load",</div><div>                "statistic": "avg",</div><div>                "period": "60",</div><div>                "evaluation_periods": "1",</div>
<div>                "threshold": "80",</div><div>                "alarm_actions":</div><div>                    [ {"Fn::GetAtt": ["ScaleUpPolicy", "AlarmUrl"]} ],</div>
<div>                "matching_metadata":</div><div>                    {"metadata.user_metadata.server_group": "Group_B" },</div><div>                "comparison_operator": "gt",</div>
<div>                "repeat_actions" : true</div><div>            }</div><div>        },</div><div>        ...</div><div>        </div><div>nova show 91951d0a-9a43-4894-99fb-ac67a1098771</div><div>...</div><div>
| metadata | { u'AutoScalingGroupName': u'tykyauto-Group_B-76nubm24bnf6', u'metering.server_group': u'Group_B'} |</div><div><br></div><div>For some reason the statistics query does not return anything when queried with the scaling group name, this probably explains why auto scaling actions are not triggered...? Without query parameter data is returned. Data is returned also ok for some other counter e.g. for cpu_util.</div>
<div><br></div><div># ceilometer statistics -m vm_cpu_load -q metadata.user_metadata.server_group=Group_B -p 60</div><div><br></div><div># ceilometer statistics -m vm_cpu_load</div><div>+--------+----------------------------+----------------------------+-------+-----+-------+--------+---------------+------------+----------------------------+----------------------------+</div>
<div>| Period | Period Start               | Period End                 | Count | Min | Max   | Sum    | Avg           | Duration   | Duration Start             | Duration End               |</div><div>+--------+----------------------------+----------------------------+-------+-----+-------+--------+---------------+------------+----------------------------+----------------------------+</div>
<div>| 0      | 2014-03-28T21:14:34.370000 | 2014-03-28T21:14:34.370000 | 520   | 0.3 | 100.0 | 5865.5 | 11.2798076923 | 170135.609 | 2014-03-28T21:14:34.370000 | 2014-03-30T20:30:09.979000 |</div><div>+--------+----------------------------+----------------------------+-------+-----+-------+--------+---------------+------------+----------------------------+----------------------------+</div>
<div><br></div><div>Any ideas what might be the cause for this behaviour...?</div><div><br></div><div>Many thanks,</div><div>-Juha</div></div>