322 lines
16 KiB
XML
322 lines
16 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="section_telemetry-measurements">
|
|
<title>Measurements</title>
|
|
<para>The Telemetry module collects metrics within an OpenStack
|
|
deployment. This section provides a brief summary about metrics
|
|
format and origin and also contains the list of available
|
|
meters.</para>
|
|
<para>Telemetry collects metrics by polling the infrastructure
|
|
elements and also by consuming the notifications emitted
|
|
by other OpenStack services. For more information about the
|
|
polling mechanism and notifications see
|
|
<xref linkend="section_telemetry-data-collection"/>. There are
|
|
several meters which are collected by polling and by consuming.
|
|
The origin for each meter is listed in the tables below.</para>
|
|
<note>
|
|
<para>You may need to configure Telemetry or other OpenStack
|
|
services in order to be able to collect all the samples you need.
|
|
For further information about configuration requirements see the
|
|
<link xlink:href=
|
|
"http://docs.openstack.org/juno/install-guide/install/apt/content/ch_ceilometer.html">
|
|
Telemetry chapter</link> in the <citetitle>OpenStack Installation
|
|
Guide</citetitle>. Also check the <link xlink:href=
|
|
"http://docs.openstack.org/developer/ceilometer/install/manual.html">
|
|
Telemetry manual installation</link> description.</para>
|
|
</note>
|
|
<para>Telemetry uses the following metric types:</para>
|
|
<table rules="all">
|
|
<caption>Telemetry metric types</caption>
|
|
<col width="25%"/>
|
|
<col width="75%"/>
|
|
<thead>
|
|
<tr>
|
|
<td>Type</td>
|
|
<td>Description</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Cumulative</td>
|
|
<td>Increasing over time (instance hours)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Delta</td>
|
|
<td>Changing over time (bandwidth)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Gauge</td>
|
|
<td>Discrete items (floating IPs, image uploads) and
|
|
fluctuating values (disk I/O)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<para>Telemetry provides the possibility to store metadata for
|
|
samples. This metadata can be extended for OpenStack Compute and
|
|
OpenStack Object Storage.</para>
|
|
<para>In order to add additional metadata information to OpenStack
|
|
Compute you have two options to choose from. The first one is to
|
|
specify them when you boot up a new instance. The additional
|
|
information will be stored with the sample in the form of
|
|
<literal>resource_metadata.user_metadata.*</literal>. The new
|
|
field should be defined by using the prefix <literal>metering.</literal>.
|
|
The modified boot command look like the following:
|
|
<screen><prompt>$</prompt> <userinput>nova boot --meta metering.custom_metadata=a_value my_vm</userinput></screen></para>
|
|
<para>The other option is to set the <option>reserved_metadata_keys</option>
|
|
to the list of metadata keys that you would like to be included
|
|
in <literal>resource_metadata</literal> of the instance related
|
|
samples that are collected for OpenStack Compute. This option is
|
|
included in the <literal>DEFAULT</literal> section of the
|
|
<filename>ceilometer.conf</filename> configuration file.</para>
|
|
<para>You might also specify headers whose values will be stored along with
|
|
the sample data of OpenStack Object Storage. The additional
|
|
information is also stored under <literal>resource_metadata</literal>.
|
|
The format of the new field is <literal>
|
|
resource_metadata.http_header_$name</literal>, where <literal>
|
|
$name</literal> is the name of the header with <literal>-</literal>
|
|
replaced by <literal>_</literal>.</para>
|
|
<para>For specifying the new header, you need to set <option>
|
|
metadata_headers</option> option under the <literal>[filter:ceilometer]</literal>
|
|
section in <filename>proxy-server.conf</filename> under the
|
|
<literal>swift</literal> folder. You can use this additional data
|
|
for instance to distinguish external and internal users.</para>
|
|
<para>The list of measurements is grouped by services which
|
|
are polled by Telemetry or emits notifications that this module
|
|
consumes.</para>
|
|
<note>
|
|
<para>The Telemetry module supports storing notifications as
|
|
events. This functionality was added later, therefore the list
|
|
of meters still contains existence type and other event related
|
|
items. The proper way of using Telemetry is to configure it to
|
|
use the event store and turn off the collection of the event
|
|
related metrics. For further information about events see <link xlink:href=
|
|
"http://docs.openstack.org/developer/ceilometer/events.html">Events
|
|
section</link> in the Telemetry documentation. For further
|
|
information about how to turn on and off meters see
|
|
<xref linkend="section_telemetry-pipeline-configuration"/>. Please
|
|
also note that currently no migration is available to move the already
|
|
existing event type samples to the event store.</para>
|
|
</note>
|
|
<section xml:id="section_telemetry-compute-metrics">
|
|
<title>OpenStack Compute</title>
|
|
<para>The following meters are collected for OpenStack Compute:</para>
|
|
<xi:include href="tables/ceilometer-measurements-nova.xml"/>
|
|
<para>The Telemetry module supports to create new meters by using
|
|
transformers. For more details about transformers see
|
|
<xref linkend="section_telemetry-pipeline-transformers"/>. Among the metrics
|
|
gathered from Libvirt and HyperV there are a few ones, which are generated from
|
|
other meters. The list of meters that are created by using the
|
|
<literal>rate_of_change</literal> transformer from the above table is
|
|
the following:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>cpu_util</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.read.requests.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.write.requests.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.read.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.write.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.device.read.requests.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.device.write.requests.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.device.read.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>disk.device.write.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>network.incoming.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>network.outgoing.bytes.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>network.incoming.packets.rate</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>network.outgoing.packets.rate</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para>To enable the libvirt <literal>memory.usage</literal> support,
|
|
you need to install Libvirt version 1.1.1+, Qemu version 1.5+, and
|
|
you also need to prepare suitable balloon driver in the image. It is
|
|
applicable particularly for Windows guests, most modern Linux
|
|
distributions already have it built in. Telemetry is not able to
|
|
fetch the <literal>memory.usage</literal> samples without
|
|
the image balloon driver.</para>
|
|
</note>
|
|
<para>OpenStack Compute is capable of collecting <literal>CPU</literal>
|
|
related metrics from the compute host machines. In order to use that
|
|
you need to set the <option>compute_monitors</option> option to
|
|
<literal>ComputeDriverCPUMonitor</literal> in the <filename>nova.conf</filename>
|
|
configuration file. For further information see the Compute configuration
|
|
section in the <link xlink:href=
|
|
"http://docs.openstack.org/trunk/config-reference/content/list-of-compute-config-options.html">
|
|
Compute chapter</link> of the <citetitle>OpenStack Configuration
|
|
Reference</citetitle>.</para>
|
|
<para>The following host machine related meters are collected
|
|
for OpenStack Compute:</para>
|
|
<xi:include href="tables/ceilometer-measurements-nova-host.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-ironic-metrics">
|
|
<title>Bare metal module for OpenStack</title>
|
|
<para>Telemetry captures notifications that are emitted by the
|
|
Bare metal module for OpenStack. The source of the notifications
|
|
are IPMI sensors that collect data from the host machine.</para>
|
|
<note>
|
|
<para>The sensor data is not available in the Bare metal module
|
|
by default. To enable the meters and configure this module to
|
|
emit notifications about the measured values see the <link xlink:href=
|
|
"http://docs.openstack.org/developer/ironic/deploy/install-guide.html">
|
|
Installation Guide</link> for the Bare metal service.</para>
|
|
</note>
|
|
<para>The following meters are recorded for the Bare metal module:</para>
|
|
<xi:include href="tables/ceilometer-measurements-ironic.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-ipmi-metrics">
|
|
<title>IPMI based meters</title>
|
|
<para>Another way of gathering IPMI based data is to use IPMI
|
|
sensors independently from the Bare metal module's components.
|
|
Same meters as <xref linkend="section_telemetry-ironic-metrics"/>
|
|
could be fetched except that origin is <literal>Pollster</literal>
|
|
instead of <literal>Notification</literal>.
|
|
</para>
|
|
<para>You need to deploy the
|
|
<systemitem class="service">ceilometer-agent-ipmi</systemitem>
|
|
on each IPMI-capable node in order to poll local sensor data. For
|
|
further information about the IPMI agent see <xref linkend=
|
|
"section_telemetry-IPMI-agent"/>.</para>
|
|
<warning>
|
|
<para>To avoid duplication of metering data and unnecessary load
|
|
on the IPMI interface, do not deploy the IPMI agent
|
|
on nodes that are managed by the Bare metal module and keep
|
|
the <option>conductor.send_sensor_data</option> option set to
|
|
<literal>False</literal> in the <filename>ironic.conf</filename>
|
|
configuration file.</para>
|
|
</warning>
|
|
<para>Besides generic IPMI sensor data, the following Intel Node Manager
|
|
meters are recorded from capable platform:</para>
|
|
<xi:include href="tables/ceilometer-measurements-ipmi.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-snmp-metrics">
|
|
<title>SNMP based meters</title>
|
|
<para>Telemetry supports gathering SNMP based generic host metrics.
|
|
In order to be able to collect this data you need to run
|
|
<systemitem class="service">smpd</systemitem> on each target host.</para>
|
|
<para>The following meters are available about the host machines
|
|
by using SNMP:</para>
|
|
<xi:include href="tables/ceilometer-measurements-snmp.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-image-metrics">
|
|
<title>OpenStack Image Service</title>
|
|
<para>The following meters are collected for OpenStack Image Service:</para>
|
|
<xi:include href="tables/ceilometer-measurements-glance.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-volume-metrics">
|
|
<title>OpenStack Block Storage</title>
|
|
<para>The following meters are collected for OpenStack Block Storage:</para>
|
|
<xi:include href="tables/ceilometer-measurements-cinder.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-object-storage-metrics">
|
|
<title>OpenStack Object Storage</title>
|
|
<para>The following meters are collected for OpenStack Object Storage:</para>
|
|
<xi:include href="tables/ceilometer-measurements-swift.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-ceph-object-storage-metrics">
|
|
<title>Ceph Object Storage</title>
|
|
<para>In order to gather metrics from Ceph, you have to install and
|
|
configure the Ceph Object Gateway (radosgw) as it is described
|
|
in the <link xlink:href="http://docs.ceph.com/docs/master/radosgw/">
|
|
Installation Manual</link>. You have to enable <link xlink:href=
|
|
"http://ceph.com/docs/master/man/8/radosgw/#usage-logging">usage logging</link>
|
|
in order to get the related meters from Ceph. You will also need an
|
|
<literal>admin</literal> user with <literal>users</literal>,
|
|
<literal>buckets</literal>, <literal>metadata</literal> and
|
|
<literal>usage</literal> <literal>caps</literal> configured.</para>
|
|
<para>In order to access Ceph from Telemetry, you need to specify a
|
|
<literal>service group</literal> for <option>radosgw</option> in
|
|
the <filename>ceilometer.conf</filename> configuration file along
|
|
with <option>access_key</option> and <option>secret_key</option>
|
|
of the <literal>admin</literal> user mentioned above.</para>
|
|
<para>The following meters are collected for Ceph Object Storage:</para>
|
|
<xi:include href="tables/ceilometer-measurements-ceph.xml"/>
|
|
<note>
|
|
<para>The <literal>usage</literal> related information may not be updated
|
|
right after an upload or download, because the Ceph Object Gateway
|
|
needs time to update the usage properties. For instance, the default
|
|
configuration needs approximately 30 minutes to generate the usage logs.
|
|
</para>
|
|
</note>
|
|
</section>
|
|
<section xml:id="section_telemetry-keystone-metrics">
|
|
<title>OpenStack Identity</title>
|
|
<para>The following meters are collected for OpenStack Identity:</para>
|
|
<xi:include href="tables/ceilometer-measurements-keystone.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-network-metrics">
|
|
<title>OpenStack Networking</title>
|
|
<para>The following meters are collected for OpenStack Networking:</para>
|
|
<xi:include href="tables/ceilometer-measurements-neutron.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-sdn-metrics">
|
|
<title>SDN controllers</title>
|
|
<para>The following meters are collected for SDN:</para>
|
|
<xi:include href="tables/ceilometer-measurements-sdn.xml"/>
|
|
<para>These meters are available for OpenFlow based switches.
|
|
In order to enable these meters, each driver needs to be properly
|
|
configured.</para>
|
|
</section>
|
|
<section xml:id="section_telemetry-lbaas-metrics">
|
|
<title>LoadBalancer as a Service (LBaaS)</title>
|
|
<para>The following meters are collected for LBaaS:</para>
|
|
<xi:include href="tables/ceilometer-measurements-lbaas.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-vpnaas-metrics">
|
|
<title>VPN as a Service (VPNaaS)</title>
|
|
<para>The following meters are collected for VPNaaS:</para>
|
|
<xi:include href="tables/ceilometer-measurements-vpnaas.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-fwaas-metrics">
|
|
<title>Firewall as a Service (FWaaS)</title>
|
|
<para>The following meters are collected for FWaaS:</para>
|
|
<xi:include href="tables/ceilometer-measurements-fwaas.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-orchestration-metrics">
|
|
<title>Orchestration module</title>
|
|
<para>The following meters are collected for the Orchestration module:</para>
|
|
<xi:include href="tables/ceilometer-measurements-heat.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-data-processing-metrics">
|
|
<title>Data processing service for OpenStack</title>
|
|
<para>The following meters are collected for the Data processing
|
|
service for OpenStack:</para>
|
|
<xi:include href="tables/ceilometer-measurements-sahara.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-key-value-store-metrics">
|
|
<title>Key Value Store module</title>
|
|
<para>The following meters are collected for the Key Value Store module:</para>
|
|
<xi:include href="tables/ceilometer-measurements-magnetodb.xml"/>
|
|
</section>
|
|
<section xml:id="section_telemetry-energy-metrics">
|
|
<title>Energy</title>
|
|
<para>The following energy related meters are available:</para>
|
|
<xi:include href="tables/ceilometer-measurements-kwapi.xml"/>
|
|
</section>
|
|
</section>
|