openstack-manuals/doc/user-guide/section_cli_ceilometer.xml
Christian Berendt 6be4f5775f Unified the syntax of the XML root element (user-guide)
The XML root element of Docbook XML files should match the following
format:

<ELEMENT xmlns="http://docbook.org/ns/docbook"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  version="5.0"
  xml:id="THE_XML_ID_OF_THE_ELEMENT">

Change-Id: Ic59684221ba99632c71e3f9b5f97ec74f56793a4
2014-07-09 19:51:07 +02:00

165 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="ceilometer_cli_commands">
<title>Measure cloud resources</title>
<para>Telemetry measures cloud resources in OpenStack. It collects data related to billing. Currently, this metering service is available through
only the <command>ceilometer</command> command-line client.</para>
<para>To model data, Telemetry uses the following 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, which indicates whether values increase monotonically (cumulative), are
interpreted as a change from the previous value (delta), or are stand-alone 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. A sample has the same
attributes as the associated meter, with the addition of time stamp 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 the following 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. Alarms provide 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 by running the following command. The <literal>-f</literal> option
specifies the name of the stack template file, and the <literal>-P</literal> option specifies the
<literal>KeyName</literal> parameter as <literal>heat_key</literal>.</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>