844efef3cd
The administrator guide includes many links to the install guides, configuration guide, and so forth. As the administrator guide is the current version all links should link to current (Juno) vs. Icehouse or trunk (Kilo) versions of the docs. Closes-Bug: #1410565 Change-Id: I8fa3bc6d0af2ee90f436fe065b8897eefefa2be9
224 lines
9.2 KiB
XML
224 lines
9.2 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-system-architecture">
|
|
<title>System architecture</title>
|
|
<para>The Telemetry module uses an agent-based architecture.
|
|
Several modules combine their responsibilities to collect data,
|
|
store samples in a database, or provide an API service for handling
|
|
incoming requests.</para>
|
|
<para>The Telemetry module is built from the following agents and
|
|
services:</para>
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-api</systemitem></term>
|
|
<listitem>
|
|
<para>Presents aggregated metering data to consumers
|
|
(such as billing engines, analytics tools and so forth).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-agent-central</systemitem></term>
|
|
<listitem>
|
|
<para>Polls the public RESTful APIs of other OpenStack
|
|
services such as Compute service and Image service, in order to
|
|
keep tabs on resource existence.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-agent-compute</systemitem></term>
|
|
<listitem>
|
|
<para>Polls the local hypervisor or libvirt daemon to acquire
|
|
performance data for the local instances, messages and emits these
|
|
data as AMQP messages.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-agent-notification</systemitem></term>
|
|
<listitem>
|
|
<para>Consumes AMQP messages from other OpenStack services.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-agent-ipmi</systemitem></term>
|
|
<listitem>
|
|
<para>Polls compute node with IPMI support, in order to
|
|
acquire IPMI sensor data and Intel Node Manager data.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-collector</systemitem></term>
|
|
<listitem>
|
|
<para>Consumes AMQP notifications from the agents, then dispatches
|
|
these data to the metering store.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-alarm-evaluator</systemitem></term>
|
|
<listitem>
|
|
<para>Determines when alarms fire due to the associated statistic
|
|
trend crossing a threshold over a sliding time window.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><systemitem class="service">ceilometer-alarm-notifier</systemitem></term>
|
|
<listitem>
|
|
<para>Initiates alarm actions, for example calling out to a webhook
|
|
with a description of the alarm state transition.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>Besides the <systemitem class="service">ceilometer-agent-compute</systemitem> service,
|
|
all the other services are placed on one or more controller nodes.</para>
|
|
<para>The Telemetry architecture highly depends on the AMQP service both for consuming
|
|
notifications coming from OpenStack services and internal communication.</para>
|
|
<section xml:id="section_telemetry-supported-dbs">
|
|
<title>Supported databases</title>
|
|
<para>The other key external component of Telemetry is the database, where the samples, alarm
|
|
definitions and alarms are stored.</para>
|
|
<note>
|
|
<para>Multiple database back ends can be configured in order to store samples and alarms
|
|
separately.</para>
|
|
</note>
|
|
<para>The list of supported database back ends:</para>
|
|
<para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><link xlink:href="http://www.mongodb.org/">MongoDB</link></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link xlink:href="http://www.mysql.com/">MySQL</link></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link xlink:href="http://www.postgresql.org/">PostgreSQL</link></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link xlink:href="http://hbase.apache.org/">HBase</link></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link xlink:href="http://www-01.ibm.com/software/data/db2/">DB2</link>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
<section xml:id="section_telemetry-supported-hypervisors">
|
|
<title>Supported hypervisors</title>
|
|
<para>The Telemetry module collects information about the virtual machines, which requires
|
|
close connection to the hypervisor that runs on the compute hosts.</para>
|
|
<para>The list of supported hypervisors is:</para>
|
|
<para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>The following hypervisors are supported via
|
|
<link xlink:href="http://libvirt.org/">Libvirt</link>:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="http://www.linux-kvm.org/page/Main_Page">Kernel-based
|
|
Virtual Machine (KVM)</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="http://wiki.qemu.org/Main_Page">Quick Emulator (QEMU)</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://linuxcontainers.org/">Linux Containers (LXC)</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="http://www.xenproject.org/help/documentation.html">XEN</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="http://user-mode-linux.sourceforge.net/">
|
|
User-mode Linux (UML)</link>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para>For details about hypervisor support in Libvirt please check the
|
|
<link xlink:href="http://libvirt.org/hvsupport.html">Libvirt API
|
|
support matrix</link>.
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link
|
|
xlink:href="http://www.microsoft.com/en-us/server-cloud/hyper-v-server/default.aspx"
|
|
>Hyper-V</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link
|
|
xlink:href="http://www.vmware.com/products/vsphere-hypervisor/support.html"
|
|
>VMWare vSphere</link>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
<section xml:id="section_telemetry-supported-networking-services">
|
|
<title>Supported networking services</title>
|
|
<para>Telemetry is able to retrieve information from OpenStack Networking
|
|
and external networking services:</para>
|
|
<para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>OpenStack Networking:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Basic network metrics</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Firewall-as-a-Service (FWaaS) metrics</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Loadbalancer-as-a-Service (LBaaS) metrics</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>VPN-as-a-Service (VPNaaS) metrics</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>SDN controller metrics:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><link xlink:href="http://www.opendaylight.org/software">
|
|
OpenDaylight</link></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><link xlink:href="http://opencontrail.org/">OpenContrail</link></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
<section xml:id="section_telemetry-users-roles">
|
|
<title>Users, roles and tenants</title>
|
|
<para>This module of OpenStack uses OpenStack Identity for authenticating and authorizing
|
|
users. The required configuration options are listed in the <link xlink:href=
|
|
"http://docs.openstack.org/juno/config-reference/content/ch_configuring-openstack-telemetry.html">
|
|
Telemetry section</link> in the <citetitle>OpenStack Configuration Reference</citetitle>.</para>
|
|
<para>Two roles are used in the system basically, which are the 'admin' and 'non-admin'. The
|
|
authorization happens before processing each API request. The amount of returned data depends
|
|
on the role the requestor owns.</para>
|
|
<para>The creation of alarm definitions also highly depends on the role of the user, who
|
|
initiated the action. Further details about alarm handling can be found in
|
|
<xref linkend="section_telemetry-alarms"/> in this guide.</para>
|
|
</section>
|
|
</section>
|