Improve the alarm evaluation
Currently, ceilometer-
a large number of interaction of evaluator and ceilometerclient, which
process is inefficient, and will effect the performance of Ceilometer.
The basic process of alarm evaluation is:
1. Call ceilometerclient to get all enabled alarms as assigned alarms.
2. For every assigned threshold alarm, call ceilometerclient to get statistics
list, then use the statistics list and threshold and comparison operator to
calculate the alarm state.
3. For every assigned combination alarm, call ceilometerclient to get states
of dependent alarms and calculate alarm state with combination operator.
4. For every assigned alarm, refresh the alarm state, and record the alarm
changes, this step may also need call ceilometerclient twice per alarm.
Every time of evaluation, the evaluator may read/write data many times from
storage backend (database). The current process of interaction of evaluator
and storage is:
alarm-
If we use default option of evaluation_interval (60s) as the period of
evaluation, evaluator will the do above process many times every minute. and if
we have a number of alarms in our environment, the quantity will be more.
The above process of alarm evaluation will cause a large number of http request
for evaluator's interaction with ceilometerclient, and frequent statistics
calculation, this should be optimized.
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
support direct alarm_evaluator storage access
=====
Will be discussed on the summit: http://
Gerrit topic: https:/
Addressed by: https:/
ceilometer-
Gerrit topic: https:/
Addressed by: https:/
Specs for alarm-evaluator
=======
for proposed changes have changed, modify the tittle to "Improve the alarm evaluation"
-----liusheng
Gerrit topic: https:/
For some proposed changes of this proposal have already implemented in aodh, and some others will be implemented in other features, abandon this
-----by liusheng 2015.11.16