Improve the alarm evaluation

Registered by Liusheng

Currently, ceilometer-alarm-evaluator service evaluate alarms base on
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-evaluator->ceilometerclient->ceilometer API->storage

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.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Liusheng
Direction:
Needs approval
Assignee:
Liusheng
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Liusheng

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/alarm-evaluator-storage-access,n,z

Addressed by: https://review.openstack.org/89756
    support direct alarm_evaluator storage access

=====

Will be discussed on the summit: http://summit.openstack.org/cfp/details/416

Gerrit topic: https://review.openstack.org/#q,topic:bp/alarm-evaluator-storage-access,n,z

Addressed by: https://review.openstack.org/95068
    ceilometer-specs for "alarm-evaluator-storage-access"

Gerrit topic: https://review.openstack.org/#q,topic:bp/aims,n,z

Addressed by: https://review.openstack.org/95418
    Specs for alarm-evaluator-storage-access
================================
for proposed changes have changed, modify the tittle to "Improve the alarm evaluation"

-----liusheng

Gerrit topic: https://review.openstack.org/#q,topic:bp/improve-alarm-evaluation,n,z

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

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.