<div dir="ltr">Maybe this is because I didn't fill in instance related metadata (scaling group name and such) to the REST call I made when adding custom metric data to Ceilometer. I tried to create metric data again, now with metadata filled:<div>
<br></div><div>$ curl -X POST -H 'X-Auth-Token: 0722fcd0f403425bb8564808c37e8dc8' -H 'Content-Type: application/json' -d '[ { "counter_name": "vm_cpu_load", "resource_id": "e7eaf484-38b6-4689-8490-40aa8f0df8ae", "resource_metadata" : { "AutoScalingGroupName": "tykyauto-Group_B-hmknsgn35efz", "metering.server_group": "Group_B" }, "counter_unit": "%", "counter_volume": 11, "counter_type": "gauge" } ]' <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><br>
</div><div><br></div><div>...but as a result I can see the following error in ceilometer log:</div><div><br></div><div><div><43>Apr  3 14:24:01 node-6 ceilometer-ceilometer.collector.dispatcher.database ERROR: Failed to record metering data: not okForStorage</div>
<div>Traceback (most recent call last):</div><div>  File "/usr/lib/python2.7/dist-packages/ceilometer/collector/dispatcher/database.py", line 65, in record_metering_data</div><div>    self.storage_conn.record_metering_data(meter)</div>
<div>  File "/usr/lib/python2.7/dist-packages/ceilometer/storage/impl_mongodb.py", line 451, in record_metering_data</div><div>    upsert=True,</div><div>  File "/usr/lib/python2.7/dist-packages/pymongo/collection.py", line 487, in update</div>
<div>    check_keys, self.__uuid_subtype), safe)</div><div>  File "/usr/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 969, in _send_message</div><div>    rv = self.__check_response_to_last_error(response)</div>
<div>  File "/usr/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 911, in __check_response_to_last_error</div><div>    raise OperationFailure(details["err"], details["code"])</div>
<div>OperationFailure: not okForStorage</div></div><div><br></div><div>Hmm. What am I doing wrong here?</div><div><br></div><div>Thanks,</div><div>-Juha</div><div><br></div><div><br></div></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On 2 April 2014 14:04, Juha Tynninen <span dir="ltr"><<a href="mailto:juha.tynninen@tieto.com" target="_blank">juha.tynninen@tieto.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<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" target="_blank">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>
</blockquote></div><br></div>