aodh/doc/source/contributor/event-alarm.rst
lipan 226a651663 revise the spelling of 'event'
Change-Id: I69c8659b7c83a4f97a88615263614d51a53e42d2
2017-10-28 18:51:32 +08:00

88 lines
3.1 KiB
ReStructuredText

..
Copyright 2014 Huawei Technologies Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
===========
Event alarm
===========
Aodh allows users to define alarms which can be evaluated based on events
passed from other OpenStack services. The events can be emitted when the
resources from other OpenStack services have been updated, created or deleted,
such as 'compute.instance.reboot.end', 'scheduler.select_destinations.end'.
When creating an alarm with type of "event", an event_type can be specified to
identify the type of event that will trigger the alarm. The event_type field
support fuzzy matching with wildcard. Additionally, users can also specify
query conditions to filter specific events used to trigger the alarm.
This feature was implemented with proposal event-alarm_.
.. _event-alarm: https://blueprints.launchpad.net/ceilometer/+spec/event-alarm-evaluator
Usage
=====
When creating an alarm of "event" type, the "event_rule" need to be specified,
which includes an "event_type" field and a "query" field, the "event_type"
allow users to specify a specific event type used to match the incoming events
when evaluating alarm, and the "query" field includes a list of query
conditions used to filter specific events when evaluating the alarm.
The following is an example of event alarm rule::
"event_rule": {
"event_type": "compute.instance.update",
"query" : [
{
"field" : "traits.instance_id",
"type" : "string",
"value" : "153462d0-a9b8-4b5b-8175-9e4b05e9b856",
"op" : "eq",
},
{
"field" : "traits.state",
"type" : "string",
"value" : "error",
"op" : "eq",
},
]
}
Configuration
=============
To enable this functionality, config the Ceilometer to be able to
publish events to the queue the aodh-listener service listen on. The
*event_alarm_topic* config option of Aodh identify which messaging
topic the aodh-listener on, the default value is "alarm.all". In
Ceilometer side, a publisher of notifier type need to be configured in
the event pipeline config file(``event_pipeline.yaml`` as default),
the notifier should be with a messaging topic same as the
*event_alarm_topic* option defined. For an example::
---
sources:
- name: event_source
events:
- "*"
sinks:
- event_sink
sinks:
- name: event_sink
transformers:
publishers:
- notifier://
- notifier://?topic=alarm.all