10
.. rest-controller:: ceilometer.api.controllers.v2:ResourcesController
10
.. rest-controller:: ceilometer.api.controllers.v2.resources:ResourcesController
11
11
:webprefix: /v2/resources
13
.. autotype:: ceilometer.api.controllers.v2.Resource
13
.. autotype:: ceilometer.api.controllers.v2.resources.Resource
19
.. rest-controller:: ceilometer.api.controllers.v2:MetersController
20
:webprefix: /v2/meters
22
.. rest-controller:: ceilometer.api.controllers.v2:MeterController
23
:webprefix: /v2/meters
25
.. autotype:: ceilometer.api.controllers.v2.Meter
19
.. rest-controller:: ceilometer.api.controllers.v2.meters:MetersController
20
:webprefix: /v2/meters
22
.. rest-controller:: ceilometer.api.controllers.v2.meters:MeterController
23
:webprefix: /v2/meters
25
.. autotype:: ceilometer.api.controllers.v2.meters.Meter
28
.. autotype:: ceilometer.api.controllers.v2.OldSample
28
.. autotype:: ceilometer.api.controllers.v2.meters.OldSample
31
31
Samples and Statistics
32
32
======================
34
.. rest-controller:: ceilometer.api.controllers.v2:SamplesController
34
.. rest-controller:: ceilometer.api.controllers.v2.samples:SamplesController
35
35
:webprefix: /v2/samples
37
.. autotype:: ceilometer.api.controllers.v2.Sample
37
.. autotype:: ceilometer.api.controllers.v2.samples.Sample
40
.. autotype:: ceilometer.api.controllers.v2.Statistics
40
.. autotype:: ceilometer.api.controllers.v2.meters.Statistics
43
43
When a simple statistics request is invoked (using GET /v2/meters/<meter_name>/statistics), it will return the standard set of *Statistics*: *avg*, *sum*,
74
74
a 'False' or absent value means that the corresponding feature is not
75
75
available in the backend.
77
.. rest-controller:: ceilometer.api.controllers.v2:CapabilitiesController
77
.. rest-controller:: ceilometer.api.controllers.v2.capabilities:CapabilitiesController
78
78
:webprefix: /v2/capabilities
80
.. autotype:: ceilometer.api.controllers.v2.Capabilities
80
.. autotype:: ceilometer.api.controllers.v2.capabilities.Capabilities
88
.. rest-controller:: ceilometer.api.controllers.v2:AlarmsController
89
:webprefix: /v2/alarms
91
.. rest-controller:: ceilometer.api.controllers.v2:AlarmController
92
:webprefix: /v2/alarms
94
.. autotype:: ceilometer.api.controllers.v2.Alarm
97
.. autotype:: ceilometer.api.controllers.v2.AlarmThresholdRule
100
.. autotype:: ceilometer.api.controllers.v2.AlarmCombinationRule
103
.. autotype:: ceilometer.api.controllers.v2.AlarmTimeConstraint
106
.. autotype:: ceilometer.api.controllers.v2.AlarmChange
88
.. rest-controller:: ceilometer.api.controllers.v2.alarms:AlarmsController
89
:webprefix: /v2/alarms
91
.. rest-controller:: ceilometer.api.controllers.v2.alarms:AlarmController
92
:webprefix: /v2/alarms
94
.. autotype:: ceilometer.api.controllers.v2.alarms.Alarm
97
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.threshold.AlarmThresholdRule
100
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.combination.AlarmCombinationRule
103
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.gnocchi.AlarmGnocchiMetricOfResourcesThresholdRule
106
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.gnocchi.AlarmGnocchiMetricsThresholdRule
109
.. autotype:: ceilometer.api.controllers.v2.alarms.AlarmTimeConstraint
112
.. autotype:: ceilometer.api.controllers.v2.alarms.AlarmChange
109
115
Events and Traits
110
116
=================
112
.. rest-controller:: ceilometer.api.controllers.v2:EventTypesController
118
.. rest-controller:: ceilometer.api.controllers.v2.events:EventTypesController
113
119
:webprefix: /v2/event_types
115
.. rest-controller:: ceilometer.api.controllers.v2:TraitsController
121
.. rest-controller:: ceilometer.api.controllers.v2.events:TraitsController
116
122
:webprefix: /v2/event_types/(event_type)/traits
118
.. rest-controller:: ceilometer.api.controllers.v2:EventsController
124
.. rest-controller:: ceilometer.api.controllers.v2.events:EventsController
119
125
:webprefix: /v2/events
121
.. autotype:: ceilometer.api.controllers.v2.Event
124
.. autotype:: ceilometer.api.controllers.v2.Trait
127
.. autotype:: ceilometer.api.controllers.v2.TraitDescription
127
.. autotype:: ceilometer.api.controllers.v2.events.Event
130
.. autotype:: ceilometer.api.controllers.v2.events.Trait
133
.. autotype:: ceilometer.api.controllers.v2.events.TraitDescription
130
136
Filtering Queries
155
161
want to apply a filter on, you always filter on the fields of the *Sample*
156
162
type (for example, if you apply a filter on a query for statistics,
157
163
you won't target *duration_start* field of *Statistics*, but *timestamp*
164
field of *Sample*). See :ref:`api-queries` for how to query the API.
160
.. autotype:: ceilometer.api.controllers.v2.Query
166
.. autotype:: ceilometer.api.controllers.v2.base.Query
168
174
But there are some differences. If a field is one of the following:
169
175
event_type, message_id, start_timestamp, end_timestamp, then this field
170
176
will be applied on event, otherwise it will be treated as trait name and
177
applied on trait. See :ref:`api-queries` for how to query the API.
173
.. autotype:: ceilometer.api.controllers.v2.EventQuery
179
.. autotype:: ceilometer.api.controllers.v2.events.EventQuery
180
186
of *Sample*, *Alarm* and *AlarmChange*. The following comparison operators are
181
187
supported: *=*, *!=*, *<*, *<=*, *>*, *>=* and *in*; and the following logical
182
188
operators can be used: *and* *or* and *not*. The field names are validated
183
against the database models.
189
against the database models. See :ref:`api-queries` for how to query the API.
185
191
.. note:: The *not* operator has different meaning in Mongo DB and in SQL DB engine.
186
192
If the *not* operator is applied on a non existent metadata field then
188
194
{"not": {"metadata.nonexistent_field" : "some value"}} filter is used in a query
189
195
the Mongo DB will return every Sample object as *not* operator evaluated true
190
196
for every Sample where the given field does not exists. See more in the Mongod DB doc.
191
In the other hand SQL based DB engine will return empty result as the join operation
192
on the metadata table will return zero row as the on clause of the join which
197
On the other hand SQL based DB engine will return empty result as the join operation
198
on the metadata table will return zero rows as the on clause of the join which
193
199
tries to match on the metadata field name is never fulfilled.
195
201
Complex Query supports defining the list of orderby expressions in the form
200
206
The *filter*, *orderby* and *limit* are all optional fields in a query.
202
.. rest-controller:: ceilometer.api.controllers.v2:QuerySamplesController
208
.. rest-controller:: ceilometer.api.controllers.v2.query:QuerySamplesController
203
209
:webprefix: /v2/query/samples
205
.. rest-controller:: ceilometer.api.controllers.v2:QueryAlarmsController
211
.. rest-controller:: ceilometer.api.controllers.v2.query:QueryAlarmsController
206
212
:webprefix: /v2/query/alarms
208
.. rest-controller:: ceilometer.api.controllers.v2:QueryAlarmHistoryController
214
.. rest-controller:: ceilometer.api.controllers.v2.query:QueryAlarmHistoryController
209
215
:webprefix: /v2/query/alarms/history
211
.. autotype:: ceilometer.api.controllers.v2.ComplexQuery
217
.. autotype:: ceilometer.api.controllers.v2.query.ComplexQuery
217
.. autotype:: ceilometer.api.controllers.v2.Link
223
.. autotype:: ceilometer.api.controllers.v2.base.Link
220
226
API and CLI query examples
348
356
Now you may want to have statistics on the meters you are targeting.
349
357
Consider the following example where you are getting the list of samples
350
about CPU utilisation of a given instance (identified by its *resource_id*)
358
about CPU utilization of a given instance (identified by its *resource_id*)
351
359
running for June 2013::
353
361
GET /v2/meters/cpu_util