Corrections of spelling, rephrasing for clarity

Change-Id: Ie5ee9ab24267012c6b60a61b63c3522d06dc2759
This commit is contained in:
Rich Bowen 2014-05-05 15:08:22 -04:00
parent 2633eb8c99
commit 050f4ff44b
2 changed files with 24 additions and 23 deletions

View File

@ -44,7 +44,7 @@ tagged as "alarming".
Metering Metering
-------- --------
If you divide a billing process into a 3 step 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: the telco industry, the steps are:
1. :term:`Metering` is the process of collecting information about what, 1. :term:`Metering` is the process of collecting information about what,
@ -64,11 +64,11 @@ a solution that would fit everyone's needs, from private to public clouds. This
means that if you are looking at this project to solve your billing needs, 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 you. 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 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. several 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 One of you first task could be: finding the right queries within the Ceilometer
API to extract the information you need for your very own rating engine. API to extract the information you need for your very own rating engine.
You can of course use the same API to satisfy other needs, such as a data mining You can, of course, use the same API to satisfy other needs, such as a data mining
solution to help you identify unexpected or new usage types, or a capacity solution to help you identify unexpected or new usage types, or a capacity
planning solution. In general, it is recommended to download the data from the API in planning solution. In general, it is recommended to download the data from the API in
order to work on it in a separate database to avoid overloading the one which order to work on it in a separate database to avoid overloading the one which
@ -104,7 +104,7 @@ circumvent this, the Ceilometer project created 3 independent methods to
collect data: collect data:
1. :term:`Bus listener agent` which takes events generated on the Oslo 1. :term:`Bus listener agent` which takes events generated on the Oslo
notification bus and transforms them into Ceilometer sample. Again this notification bus and transforms them into Ceilometer samples. This
is the preferred method of data collection. If you are working on some is the preferred method of data collection. If you are working on some
OpenStack related project and are using the Oslo library, you are kindly 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 invited to come and talk to one of the project members to learn how you
@ -116,9 +116,9 @@ collect data:
prefer this compared to a polling agent method as resilience (high prefer this compared to a polling agent method as resilience (high
availability) will not be a problem with this method. availability) will not be a problem with this method.
3. :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 some API or other tool to collect information at a regular interval.
reason why we do not like this method is the inherent difficulty to make such This method is least preferred due to the inherent difficulty in making such
a component be resilient. a component resilient.
The first method is supported by the ceilometer-collector agent, which monitors The first method is supported by the ceilometer-collector agent, which monitors
the message queues for notifications and for metering data coming from the the message queues for notifications and for metering data coming from the
@ -128,17 +128,18 @@ ceilometer-central-agent/ceilometer-compute-agent and the collector.
How to access collected data? How to access collected data?
----------------------------- -----------------------------
Once collected, the data is stored in a database generally, or in a simple Once collected, the data is usually stored in a database, or in a simple
file if you do not care about API access and want to do the rest of the 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 processing elsewhere. There can be multiple types of
databases through the use of different database plugins (see the section databases through the use of different database plugins (see the section
:ref:`which-db`). 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 this database may evolve over time. For these reasons, we offer a REST API,
that should be the only way for you to access the collected data rather than and recommend that you access the collected data that way, rather than
accessing the underlying database directly. It is possible that the way by accessing the underlying database directly.
you'd like to access your data is not yet supported by the API. If you think
this is the case, please contact us with your feedback as this will certainly If the way in which you wish to access your data is not yet supported by the API,
lead us to improve the API. please contact us with your feedback, so that we can improve the API
accordingly.
.. figure:: ./2-accessmodel.png .. figure:: ./2-accessmodel.png
:figwidth: 100% :figwidth: 100%
@ -184,13 +185,13 @@ same meter needed for performance tuning may be needed every 10 seconds.
The second variable is the transport. In the case of data intended for a The second variable is the transport. In the case of data intended for a
monitoring system, losing an update or not ensuring security monitoring system, losing an update or not ensuring security
(non-repudiability) of a message is not really a problem while the same meter (non-repudiability) of a message is not really a problem, while the same meter
will need both security and guaranteed delivery in the case of data intended will need both security and guaranteed delivery in the case of data intended
for rating and billing systems. for rating and billing systems.
To solve this, the notion of multi-publisher can now be configured for each To solve this, the notion of multi-publisher can now be configured for each
meter within Ceilometer, allowing the same technical meter to be published meter within Ceilometer, allowing the same technical meter to be published
multiple times to multiple destination each potentially using a different multiple times to multiple destinations, each potentially using a different
transport and frequency of publication. At the time of writing, two transport and frequency of publication. At the time of writing, two
transports have been implemented so far: the original and relatively secure transports have been implemented so far: the original and relatively secure
Oslo RPC queue based, and one using UDP packets. Oslo RPC queue based, and one using UDP packets.
@ -222,20 +223,18 @@ reaches 70% on a given instance if the instance has been up for more than
the alarm conditions and an action to take. the alarm conditions and an action to take.
Of course, if you are not administrator of the cloud itself, you can only Of course, if you are not administrator of the cloud itself, you can only
set alarms on meters for your own components. Good news, you can also set alarms on meters for your own components. You can also
:ref:`send your own meters <user-defined-data>` from within your instances, :ref:`send your own meters <user-defined-data>` from within your instances,
meaning that you can trigger meaning that you can trigger
alarms based on application centric data. alarms based on application centric data.
There can be multiple form of actions, but two have been implemented so far: There can be multiple form of actions, but two have been implemented so far:
1. :term:`HTTP callback`: you provide a URL to be called whenever the alarm has been set 1. :term:`HTTP callback`: you provide a URL to be called whenever the alarm has been set
off. The payload of the request contains all the details of why the alarm went off. The payload of the request contains all the details of why the alarm was triggered.
off.
2. :term:`log`: mostly useful for debugging, stores alarms in a log file. 2. :term:`log`: mostly useful for debugging, stores alarms in a log file.
For more details on this, I recommend you read the blog post by For more details on this, we recommend that you read the blog post by
Mehdi Abaakouk `Autoscaling with Heat and Ceilometer`_. Particular attention Mehdi Abaakouk `Autoscaling with Heat and Ceilometer`_. Particular attention
should be given to the section "Some notes about deploying alarming" as the should be given to the section "Some notes about deploying alarming" as the
database setup (using a separate database from the one used for metering) database setup (using a separate database from the one used for metering)
@ -259,7 +258,7 @@ Since the beginning of the project, a plugin model has been put in place
to allow for various types of database backends to be used. However, not to allow for various types of database backends to be used. However, not
all implementations are equal and, at the time of writing, MongoDB all implementations are equal and, at the time of writing, MongoDB
is the recommended backend of choice because it is the most tested. Have a look is the recommended backend of choice because it is the most tested. Have a look
at the "choosing a database backend" section of the documentation for more at the :ref:`choosing_db_backend` section of the documentation for more
details. In short, ensure a dedicated database is used when deploying details. In short, ensure a dedicated database is used when deploying
Ceilometer as the volume of data generated can be extensive in a production Ceilometer as the volume of data generated can be extensive in a production
environment and will generally use a lot of I/O. environment and will generally use a lot of I/O.

View File

@ -13,6 +13,8 @@
License for the specific language governing permissions and limitations License for the specific language governing permissions and limitations
under the License. under the License.
.. _choosing_db_backend:
============================= =============================
Choosing a database backend Choosing a database backend
============================= =============================