From d3d4ebf6afbc3cc22411ce24514632c75f2dc287 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Wed, 24 Jun 2015 08:48:15 -0400 Subject: [PATCH] telemetry-system-architecture to RST Converts section_telemetry-system-architecture.xml to RST. Implements: blueprint reorganise-user-guides Change-Id: I992606a55e765ba84fe7182e1c933937ca3451e1 --- .../source/telemetry-system-architecture.rst | 169 ++++++++++++++++++ .../source/telemetry.rst | 3 +- 2 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 doc/admin-guide-cloud-rst/source/telemetry-system-architecture.rst diff --git a/doc/admin-guide-cloud-rst/source/telemetry-system-architecture.rst b/doc/admin-guide-cloud-rst/source/telemetry-system-architecture.rst new file mode 100644 index 0000000000..e31ef27086 --- /dev/null +++ b/doc/admin-guide-cloud-rst/source/telemetry-system-architecture.rst @@ -0,0 +1,169 @@ +System architecture +~~~~~~~~~~~~~~~~~~~ + +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. + +The Telemetry module is built from the following agents and services: + +ceilometer-api + Presents aggregated metering data to consumers (such as billing + engines, analytics tools and so forth). + +ceilometer-polling + Polls for different kinds of meter data by using the polling + plug-ins (pollsters) registered in different namespaces. + +ceilometer-agent-central + Polls the public RESTful APIs of other OpenStack services such as + Compute service and Image service, in order to keep tabs on resource + existence, by using the polling plug-ins (pollsters) registered in + the central polling namespace. + +ceilometer-agent-compute + Polls the local hypervisor or libvirt daemon to acquire performance + data for the local instances, messages and emits the data as AMQP + messages, by using the polling plug-ins (pollsters) registered in + the compute polling namespace. + +ceilometer-agent-ipmi + Polls the local node with IPMI support, in order to acquire IPMI + sensor data and Intel Node Manager data, by using the polling + plug-ins (pollsters) registered in the IPMI polling namespace. + +ceilometer-agent-notification + Consumes AMQP messages from other OpenStack services. + +ceilometer-collector + Consumes AMQP notifications from the agents, then dispatches these + data to the appropriate data store. + +ceilometer-alarm-evaluator + Determines when alarms fire due to the associated statistic trend + crossing a threshold over a sliding time window. + +ceilometer-alarm-notifier + Initiates alarm actions, for example calling out to a webhook with a + description of the alarm state transition. + + .. note:: + + The ``ceilometer-polling`` service is available since the Kilo release. + +Besides the ``ceilometer-agent-compute`` and the ``ceilometer-agent-ipmi`` +services, all the other services are placed on one or more controller +nodes. + +The Telemetry architecture highly depends on the AMQP service both for +consuming notifications coming from OpenStack services and internal +communication. + +| + +Supported databases +------------------- + +The other key external component of Telemetry is the database, where +events, samples, alarm definitions and alarms are stored. + +.. note:: + + Multiple database back ends can be configured in order to store + events, samples and alarms separately. + +The list of supported database back ends: + +- `ElasticSearch (events only) `__ + +- `MongoDB `__ + +- `MySQL `__ + +- `PostgreSQL `__ + +- `HBase `__ + +- `DB2 `__ + +| + +Supported hypervisors +--------------------- + +The Telemetry module collects information about the virtual machines, +which requires close connection to the hypervisor that runs on the +compute hosts. + +The list of supported hypervisors is: + +- The following hypervisors are supported via + `Libvirt `__: + + - `Kernel-based Virtual Machine + (KVM) `__ + + - `Quick Emulator (QEMU) `__ + + - `Linux Containers (LXC) `__ + + - `User-mode Linux + (UML) `__ + + .. note:: + + For details about hypervisor support in libvirt please check the + `Libvirt API support matrix `__. + +- `Hyper-V `__ + +- `XEN `__ + +- `VMWare + vSphere `__ + +| + +Supported networking services +----------------------------- + +Telemetry is able to retrieve information from OpenStack Networking and +external networking services: + +- OpenStack Networking: + + - Basic network meters + + - Firewall-as-a-Service (FWaaS) meters + + - Loadbalancer-as-a-Service (LBaaS) meters + + - VPN-as-a-Service (VPNaaS) meters + +- SDN controller meters: + + - `OpenDaylight `__ + + - `OpenContrail `__ + +| + +Users, roles and tenants +------------------------ + +This module of OpenStack uses OpenStack Identity for authenticating and +authorizing users. The required configuration options are listed in the +`Telemetry +section `__ +in the *OpenStack Configuration Reference*. + +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. + +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 this guide. + +.. TODO: (karenb) Add reference to telemetry-alarms. diff --git a/doc/admin-guide-cloud-rst/source/telemetry.rst b/doc/admin-guide-cloud-rst/source/telemetry.rst index 2eabcfdf55..6abb8ab051 100644 --- a/doc/admin-guide-cloud-rst/source/telemetry.rst +++ b/doc/admin-guide-cloud-rst/source/telemetry.rst @@ -46,16 +46,17 @@ You can retrieve the collected samples in three different ways: with the REST API, with the command line interface, or with the Metering tab on an OpenStack dashboard. +.. include:: telemetry-system-architecture.rst .. include:: telemetry-best-practices.rst .. toctree:: :hidden: + telemetry-system-architecture.rst telemetry-best-practices.rst .. TODO (OL) Translate and add the below files with new name - include: telemetry/section_telemetry-system-architecture.xml include: telemetry/section_telemetry-data-collection.xml include: telemetry/section_telemetry-data-retrieval.xml include: telemetry/section_telemetry-alarms.xml