openstack-manuals/doc/user-guide/section_cli_ceilometer.xml
Diane Fleming ccb80d725d Renamed cli files for consistency
Updated a typo (keystone-mange -> keystone-manage)
Updated a few capitalization errors in titles

Change-Id: I38ec2a6c53b9e3a1e1bf330b54c26f293a764d94
author: diane fleming
2014-01-06 15:06:29 -06:00

186 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
xml:id="ceilometer_cli_commands">
<title>Measure cloud resources</title>
<para>The OpenStack Telemetry service measures cloud resources in
OpenStack.</para>
<para>It collects information about how much, who, what, and when
with regards to billing. Currently, metering is available
through only the <command>ceilometer</command> command-line
client.</para>
<para>To model data, the Telemetry service uses these
abstractions:</para>
<variablelist wordsize="10">
<varlistentry>
<term><emphasis role="bold">Meter</emphasis></term>
<listitem>
<para>Measures a specific aspect of resource usage,
such as the existence of a running instance, or
ongoing performance, such as the CPU utilization
for an instance. Meters exist for each type of
resource. For example, a separate
<literal>cpu_util</literal> meter exists for
each instance. The life cycle of a meter is
decoupled from the existence of its related
resource. The meter persists after the resource
goes away.</para>
<para>A meter has the following attributes:</para>
<itemizedlist>
<listitem>
<para>String name.</para>
</listitem>
<listitem>
<para>A unit of measurement.</para>
</listitem>
<listitem>
<para>A type. Indicates whether values
increase monotonically (cumulative), are
interpreted as a change from the previous
value (delta), or are standalone and
relate only to the current duration
(gauge).</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Sample</emphasis></term>
<listitem>
<para>An individual data point that is associated with
a specific meter. Has the same attributes as the
meter, with the addition of timestamp and value
attributes. The value attribute is also known as
the sample <emphasis role="italic"
>volume</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Statistic</emphasis></term>
<listitem>
<para>A set of data point aggregates over a time
duration. (In contrast, a sample represents a
single data point.) The Telemetry service employs
these aggregation functions:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">count</emphasis>.
The number of samples in each
period.</para>
</listitem>
<listitem>
<para><emphasis role="bold">max</emphasis>.
The maximum number of sample volumes in
each period.</para>
</listitem>
<listitem>
<para><emphasis role="bold">min</emphasis>.
The minimum number of sample volumes in
each period.</para>
</listitem>
<listitem>
<para><emphasis role="bold">avg</emphasis>.
The average of sample volumes over each
period.</para>
</listitem>
<listitem>
<para><emphasis role="bold">sum</emphasis>.
The sum of sample volumes over each
period.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Alarm</emphasis></term>
<listitem>
<para>A set of rules that define a monitor and a
current state, with edge-triggered actions
associated with target states. Provides
user-oriented Monitoring-as-a-Service and a
general purpose utility for Openstack.
Orchestration auto scaling is a typical use-case.
Alarms follow a tristate model of
<literal>ok</literal>,
<literal>alarm</literal>, and
<literal>insufficient data</literal>. For
conventional threshold-oriented alarms, a static
threshold value and comparison operator govern
state transitions. The comparison operator
compares a selected meter statistic against an
evaluation window of configurable length into the
recent past.</para>
</listitem>
</varlistentry>
</variablelist>
<para>This example uses the <command>heat</command> client to
create an auto-scaling stack and the
<command>ceilometer</command> client to measure
resources.</para>
<procedure>
<step>
<para>Create an auto-scaling stack:</para>
<screen><prompt>$</prompt> <userinput>heat stack-create -f cfn/F17/AutoScalingCeilometer.yaml -P "KeyName=heat_key"</userinput></screen>
</step>
<step>
<para>List the heat resources that were created:</para>
<screen><prompt>$</prompt> <userinput>heat resource-list</userinput>
<computeroutput>+--------------------------+-----------------------------------------+-----------------+----------------------+
| resource_name | resource_type |resource_status | updated_time |
+--------------------------+-----------------------------------------+-----------------+----------------------+
| CfnUser | AWS::IAM::User |CREATE_COMPLETE | 2013-10-02T05:53:41Z |
| WebServerKeys | AWS::IAM::AccessKey |CREATE_COMPLETE | 2013-10-02T05:53:42Z |
| LaunchConfig | AWS::AutoScaling::LaunchConfiguration |CREATE_COMPLETE | 2013-10-02T05:53:43Z |
| ElasticLoadBalancer | AWS::ElasticLoadBalancing::LoadBalancer |UPDATE_COMPLETE | 2013-10-02T05:55:58Z |
| WebServerGroup | AWS::AutoScaling::AutoScalingGroup |CREATE_COMPLETE | 2013-10-02T05:55:58Z |
| WebServerScaleDownPolicy | AWS::AutoScaling::ScalingPolicy |CREATE_COMPLETE | 2013-10-02T05:56:00Z |
| WebServerScaleUpPolicy | AWS::AutoScaling::ScalingPolicy |CREATE_COMPLETE | 2013-10-02T05:56:00Z |
| CPUAlarmHigh | OS::Ceilometer::Alarm |CREATE_COMPLETE | 2013-10-02T05:56:02Z |
| CPUAlarmLow | OS::Ceilometer::Alarm |CREATE_COMPLETE | 2013-10-02T05:56:02Z |
+--------------------------+-----------------------------------------+-----------------+----------------------+</computeroutput></screen>
</step>
<step>
<para>List the alarms that are set:</para>
<screen><prompt>$</prompt> <userinput>ceilometer alarm-list</userinput>
<computeroutput>+--------------------------------------+------------------------------+-------------------+---------+------------+-------------------------------+
| Alarm ID | Name | State | Enabled | Continuous | Alarm condition |
+--------------------------------------+------------------------------+-------------------+---------+------------+-------------------------------+
| 4f896b40-0859-460b-9c6a-b0d329814496 | as-CPUAlarmLow-i6qqgkf2fubs | insufficient data | True | False | cpu_util &lt; 15.0 during 1x 60s |
| 75d8ecf7-afc5-4bdc-95ff-19ed9ba22920 | as-CPUAlarmHigh-sf4muyfruy5m | insufficient data | True | False | cpu_util &gt; 50.0 during 1x 60s |
+--------------------------------------+------------------------------+-------------------+---------+------------+-----------------------------+</computeroutput></screen>
</step>
<step>
<para>List the meters that are set:</para>
<screen><prompt>$</prompt> <userinput>ceilometer meter-list</userinput>
<computeroutput>+--------------------------+------------+----------+-----------------------------------------------------------------------+------------------------------------+
| Name | Type | Unit | Resource ID | User ID | Project ID |
+--------------------------+------------+----------+-----------------------------------------------------------------------+------------------------------------+
| cpu | cumulative | ns | 3965b41b-81b0-4386-bea5-6ec37c8841c1 | d1a2996d3b1f4e0e8645ba9650308011 | bf03bf32e3884d489004ac995ff7a61c |
| cpu | cumulative | ns | 62520a83-73c7-4084-be54-275fe770ef2c | d1a2996d3b1f4e0e8645ba9650308011 | bf03bf32e3884d489004ac995ff7a61c |
| cpu_util | gauge | % | 3965b41b-81b0-4386-bea5-6ec37c8841c1 | d1a2996d3b1f4e0e8645ba9650308011 | bf03bf32e3884d489004ac995ff7a61c |
+--------------------------+------------+----------+-----------------------------------------------------------------------+------------------------------------+</computeroutput></screen>
</step>
<step>
<para>List samples:</para>
<screen><prompt>$</prompt> <userinput>ceilometer sample-list -m cpu_util</userinput>
<computeroutput>+--------------------------------------+----------+-------+---------------+------+---------------------+
| Resource ID | Name | Type | Volume | Unit | Timestamp |
+--------------------------------------+----------+-------+---------------+------+---------------------+
| 3965b41b-81b0-4386-bea5-6ec37c8841c1 | cpu_util | gauge | 3.98333333333 | % | 2013-10-02T10:50:12 |
+--------------------------------------+----------+-------+---------------+------+---------------------+</computeroutput></screen>
</step>
<step>
<para>View statistics:</para>
<screen><prompt>$</prompt> <userinput>ceilometer statistics -m cpu_util</userinput>
<computeroutput>+--------+---------------------+---------------------+-------+---------------+---------------+---------------+---------------+----------+---------------------+---------------------+
| Period | Period Start | Period End | Count | Min | Max | Sum | Avg | Duration | Duration Start | Duration End |
+--------+---------------------+---------------------+-------+---------------+---------------+---------------+---------------+----------+---------------------+---------------------+
| 0 | 2013-10-02T10:50:12 | 2013-10-02T10:50:12 | 1 | 3.98333333333 | 3.98333333333 | 3.98333333333 | 3.98333333333 | 0.0 | 2013-10-02T10:50:12 | 2013-10-02T10:50:12 |
+--------+---------------------+---------------------+-------+---------------+---------------+---------------+---------------+----------+---------------------+---------------------+</computeroutput></screen>
</step>
</procedure>
</section>