OpenStack Telemetry (Ceilometer) Alarming
Go to file
Eoghan Glynn ede2329e54 Simple alarm partitioning protocol based on AMQP fanout RPC
All available partitions report their presence periodically.

The priority of each partition in terms of assuming mastership
is determined by earliest start-time (with a UUID-based tiebreaker
in the unlikely event of a time clash).

A single partion assumes mastership at any given time, taking
responsibility for allocating the alarms to be evaluated across
the set of currently available partitions.

When a partition lifecycle event is detected (i.e. a pre-existing
partition fails to report its presence, or a new one is started
up), a complete rebalance of the alarms is initiated.

Individual alarm lifecycle events, on the other hand, do not
require a full re-balance. Instead new alarms are allocated as
they are detected, whereas deleted alarms are initially allowed to
remain within the allocation (as the individual evaluators are tolerant
of assigned alarms not existing, and the deleted alarms should be
randomly distributed over the partions). However once the number of
alarms deleted since the last rebalance reaches a certain limit, a
rebalance will be initiated to maintain equity.

As presence reports are received, each partition keeps track of the
oldest partition it currently knows about, allowing an assumption of
mastership to be aborted if an older partition belatedly reports.

The alarm evaluation service to launch (singleton versus partitioned)
is controlled via a new alarm.evaluation_service config option.

Implements bp alarm-service-partitioner

Change-Id: I3dede464d019a7f776f3d302e2b24cc4a9fc5b66
2013-09-20 17:22:46 +01:00
bin Remove source as a publisher argument 2013-08-05 11:39:28 +02:00
ceilometer Simple alarm partitioning protocol based on AMQP fanout RPC 2013-09-20 17:22:46 +01:00
doc refactor db2 get_meter_statistics method to support mongodb and db2 2013-09-18 17:47:11 +00:00
etc Simple alarm partitioning protocol based on AMQP fanout RPC 2013-09-20 17:22:46 +01:00
nova_tests nova_notifier: fix tests 2013-09-05 14:57:03 +02:00
tests Simple alarm partitioning protocol based on AMQP fanout RPC 2013-09-20 17:22:46 +01:00
tools Include auth_token middleware in sample config 2013-09-11 14:38:02 +02:00
.gitignore Replace nose with testr 2013-05-18 18:06:38 +10:00
.gitreview Update .gitreview for openstack. 2012-11-11 19:13:08 +00:00
.testr.conf Replace nose with testr 2013-05-18 18:06:38 +10:00
babel.cfg Ground work for transifex-ify ceilometer. 2012-12-18 10:14:03 +08:00
CONTRIBUTING.rst Switch to pbr. 2013-05-11 12:44:54 -04:00
LICENSE include a copy of the ASL 2.0 2013-03-15 14:25:48 +00:00
MAINTAINERS add MAINTAINERS file 2013-09-05 12:18:43 -04:00
MANIFEST.in Switch to pbr. 2013-05-11 12:44:54 -04:00
openstack-common.conf Merge "Import middleware from Oslo" 2013-08-29 10:50:43 +00:00
README.rst Rename README.md to README.rst 2013-07-14 21:09:38 +02:00
ReleaseNotes Update documentation URL 2012-12-05 10:22:43 +01:00
requirements.txt Update requirements 2013-09-19 11:42:10 +02:00
run-tests.sh run-tests: fix MongoDB start wait 2013-09-11 10:43:08 +02:00
setup.cfg Simple alarm partitioning protocol based on AMQP fanout RPC 2013-09-20 17:22:46 +01:00
setup.py Update requirements 2013-09-19 11:42:10 +02:00
test-requirements.txt Update sphinxcontrib-pecanwsme to 0.3 2013-09-14 08:28:23 -04:00
tox.ini Drop sitepackages=False from tox.ini 2013-09-16 16:58:25 +02:00

ceilometer

See the ReleaseNotes document and the project home for more info.

http://launchpad.net/ceilometer