226a651663
Change-Id: I69c8659b7c83a4f97a88615263614d51a53e42d2
88 lines
3.1 KiB
ReStructuredText
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
|