Architecture enhancements

A few enhancements to the architecture doc.

Change-Id: Ie3516a96f41639abf12f42e975427a0ece617268
This commit is contained in:
Nicolas Barcet (nijaba) 2013-09-14 10:43:34 +02:00
parent 90a556ef33
commit f68d949afa
2 changed files with 19 additions and 9 deletions

View File

@ -44,17 +44,17 @@ tagged as “alarming“.
Metering
--------
If you divide a billing process into a three steps process as is commonly done in
If you divide a billing process into a 3 step process as is commonly done in
the telco industry, the steps are:
1. :term:`Metering` is the process of collecting information about what,
who, when and how much regarding anything that can be billed. The result of
this is a collection of “tickets” (a.k.a. samples) which are ready to be
processed in anyway you want.
1. :term:`Rating` is the process of analysing a series of tickets,
2. :term:`Rating` is the process of analysing a series of tickets,
according to business rules defined by marketing, in order to transform
them into bill line items with a currency value.
1. :term:`Billing` is the process to assemble bill line items into a
3. :term:`Billing` is the process to assemble bill line items into a
single per customer bill, emitting the bill to start the payment collection.
Ceilometers initial goal was, and still is, strictly limited to step
@ -62,7 +62,7 @@ one. This is a choice made from the beginning not to go into rating or billing,
as the variety of possibilities seemed too huge for the project to ever deliver
a solution that would fit everyones needs, from private to public clouds. This
means that if you are looking at this project to solve your billing needs, this
is the right way to go, but certainly not the end of the road for your. Once
is the right way to go, but certainly not the end of the road for you. Once
Ceilometer is in place on your OpenStack deployment, you will still have
quite a few things to do before you can produce a bill for your customers.
One of you first task could be: finding the right queries within the Ceilometer
@ -109,23 +109,30 @@ collect data:
OpenStack related project and are using the Oslo library, you are kindly
invited to come and talk to one of the project members to learn how you
could quickly add instrumentation for your project.
1. :term:`Push agents` which is the only solution to fetch data within projects
2. :term:`Push agents` which is the only solution to fetch data within projects
which do not expose the required data in a remotely useable way. This is not
the preferred method as it makes deployment a bit more complex having to add
a component to each of the nodes that need to be monitored. However, we do
prefer this compared to a polling agent method as resilience (high
availability) will not be a problem with this method.
1. :term:`Polling agents` which is the least preferred method, that will poll
3. :term:`Polling agents` which is the least preferred method, that will poll
some API or other tool to collect information at a regular interval. The main
reason why we do not like this method is the inherent difficulty to make such
a component be resilient.
The first method is supported by the ceilometer-collector agent, which monitors
the message queues for notifications and for metering data coming from the
"push" and "polling" agents. Methods 2 and 3 rely on a combination of the
ceilometer-central-agent/ceilometer-compute-agent and the collector.
How to access collected data?
-----------------------------
Once collected, the data is stored in a database. There can be multiple types of
Once collected, the data is stored in a database generally, or in a simple
file if you do not care about API access and want to do the rest of the
processing elsewhere. There can be multiple types of
databases through the use of different database plugins (see the section
`which database to use`_). Moreover, the schema and dictionary of
:ref:`which-db`). Moreover, the schema and dictionary of
this database can also evolve over time. For both reasons, we offer a REST API
that should be the only way for you to access the collected data rather than
accessing the underlying database directly. It is possible that the way
@ -233,7 +240,8 @@ will be critical in all cases of production deployment.
.. _Autoscaling with Heat and Ceilometer: http://techs.enovance.com/5991/autoscaling-with-heat-and-ceilometer
.. _which database to use:
.. _which-db:
Which database to use
---------------------

View File

@ -33,6 +33,7 @@ Samples and Statistics
:members:
.. _alarms-api:
Alarms
======
@ -327,6 +328,7 @@ parameter to the query::
This query would only return the last 3 samples.
.. _user-defined-data:
User-defined data
+++++++++++++++++