Cloud watch alarms don't work via Ceilometer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Angus Salkeld |
Bug Description
If you use https:/
The reason for this is the "metadata.
Say you have the following:
resources:
server_alarm:
type: "AWS::CloudWatc
properties:
MetricName: heartbeat
Period: "60"
Evaluatio
Threshold: "1"
AlarmActions:
- http://
Compariso
Dimensions:
-
Name: AlarmName
Value: server_alarm
Statistic: SampleCount
The dimension do get correctly reformatted, but they get passed in as kwargs into alarm create.
They need "metadata.
This does not make sense to me: https:/
(I'll check with therve).
Because this works for me:
ceilometer sample-list -q "metadata.
+------
| Resource ID | Name | Type | Volume | Unit | Timestamp |
+------
| 345 | heartbeat | gauge | 77.0 | sample | 2014-09-
I need to get to the bottom of the "metering"
Changed in heat: | |
assignee: | nobody → Angus Salkeld (asalkeld) |
importance: | Undecided → High |
status: | New → Triaged |
milestone: | none → juno-rc1 |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | juno-rc1 → 2014.2 |
When ever we create a server we add "metering. InstanceId= <>" and when ever group=< groupid> " to the server's metadata. /github. com/openstack/ ceilometer/ blob/master/ ceilometer/ compute/ util.py# L34
we create a server as a part of an autoscaling group we add "metering.
Then Ceilometer looks for metadata with the prefix "metering." and adds that to the sample metadata.
Have a look here: https:/
So if you are using Ceilometer alarms based on:
1) nova metrics, then your alarm.matching_ metadata needs to be "user_metadata. <bla>"
2) any other means (cfn-push- stats/ceilomete r client) then your alarm.matching_ metadata needs to be "metering.<bla>"