2e3a24f362
Change-Id: Ibca7b5176c5408e487b8f2987401ade194b8d4c8
119 lines
4.1 KiB
ReStructuredText
119 lines
4.1 KiB
ReStructuredText
============
|
|
V2 Web API
|
|
============
|
|
|
|
Capabilities
|
|
============
|
|
|
|
The Capabilities API allows you to directly discover which functions from the
|
|
V2 API functionality, including the selectable aggregate functions, are
|
|
supported by the currently configured storage driver. A capabilities query
|
|
returns a flattened dictionary of properties with associated boolean values -
|
|
a 'False' or absent value means that the corresponding feature is not
|
|
available in the backend.
|
|
|
|
.. rest-controller:: aodh.api.controllers.v2.capabilities:CapabilitiesController
|
|
:webprefix: /v2/capabilities
|
|
|
|
.. autotype:: aodh.api.controllers.v2.capabilities.Capabilities
|
|
:members:
|
|
|
|
.. _alarms-api:
|
|
|
|
Alarms
|
|
======
|
|
|
|
.. rest-controller:: aodh.api.controllers.v2.alarms:AlarmsController
|
|
:webprefix: /v2/alarms
|
|
|
|
.. rest-controller:: aodh.api.controllers.v2.alarms:AlarmController
|
|
:webprefix: /v2/alarms
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarms.Alarm
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarm_rules.threshold.AlarmThresholdRule
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarm_rules.combination.AlarmCombinationRule
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarm_rules.gnocchi.MetricOfResourceRule
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarm_rules.gnocchi.AggregationMetricByResourcesLookupRule
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarm_rules.gnocchi.AggregationMetricsByIdLookupRule
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarms.AlarmTimeConstraint
|
|
:members:
|
|
|
|
.. autotype:: aodh.api.controllers.v2.alarms.AlarmChange
|
|
:members:
|
|
|
|
Filtering Queries
|
|
=================
|
|
|
|
The filter expressions of the query feature operate on the fields of *Alarm*
|
|
and *AlarmChange*. The following comparison operators are supported: *=*, *!=*,
|
|
*<*, *<=*, *>*, *>=* and *in*; and the following logical operators can be used:
|
|
*and* *or* and *not*. The field names are validated against the database
|
|
models.
|
|
|
|
.. note:: The *not* operator has different meaning in Mongo DB and in SQL DB engine.
|
|
If the *not* operator is applied on a non existent metadata field then
|
|
the result depends on the DB engine. For example, if
|
|
{"not": {"metadata.nonexistent_field" : "some value"}} filter is used in a query
|
|
the Mongo DB will return every Sample object as *not* operator evaluated true
|
|
for every Sample where the given field does not exists. See more in the Mongod DB doc.
|
|
On the other hand, SQL based DB engine will return empty result as the join operation
|
|
on the metadata table will return zero rows as the on clause of the join which
|
|
tries to match on the metadata field name is never fulfilled.
|
|
|
|
Complex Query supports defining the list of orderby expressions in the form
|
|
of [{"field_name": "asc"}, {"field_name2": "desc"}, ...].
|
|
|
|
The number of the returned items can be bounded using the *limit* option.
|
|
|
|
The *filter*, *orderby* and *limit* are all optional fields in a query.
|
|
|
|
.. rest-controller:: aodh.api.controllers.v2.query:QueryAlarmsController
|
|
:webprefix: /v2/query/alarms
|
|
|
|
.. rest-controller:: aodh.api.controllers.v2.query:QueryAlarmHistoryController
|
|
:webprefix: /v2/query/alarms/history
|
|
|
|
.. autotype:: aodh.api.controllers.v2.query.ComplexQuery
|
|
:members:
|
|
|
|
Composite rule Alarm
|
|
====================
|
|
|
|
The *composite* type alarm allows users to specify a composite rule to define
|
|
an alarm with multiple triggering conditions, using a combination of *and* and
|
|
*or* relations. A composite rule is composed of multiple threshold rules or
|
|
gnocchi rules. A sample composite alarm request form is as follows::
|
|
|
|
{
|
|
"name": "test_composite",
|
|
"type": "composite",
|
|
"composite_rule": {
|
|
"and": [THRESHOLD_RULE1, THRESHOLD_RULE2, {
|
|
'or': [THRESHOLD_RULE3, GNOCCHI_RULE1,
|
|
GNOCCHI_RULE2, GNOCCHI_RULE3]
|
|
}]
|
|
}
|
|
}
|
|
|
|
A sub-rule in composite_rule is same as a threshold_rule in threshold alarm
|
|
or a gnocchi_rule in gnocchi alarm. Additionally it has a mandatory *type*
|
|
field to specify the rule type, like in the following sample::
|
|
|
|
{
|
|
"threshold": 0.8,
|
|
"meter_name": "cpu_util",
|
|
"type": "threshold"
|
|
}
|