taikun.cloud

Taikun OCP Guide

Table of Contents

Measurements

The Telemetry service collects meters within an OpenStack deployment.
This section provides a brief summary about meters format and origin and
also contains the list of available meters.

Telemetry collects meters 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
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.

Note

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 Telemetry
chapter
in the Installation Tutorials and Guides.

Telemetry uses the following meter types:

Type Description
Cumulative Increasing over time (instance hours)
Delta Changing over time (bandwidth)
Gauge Discrete items (floating IPs, image uploads) and fluctuating values
(disk I/O)

Telemetry provides the possibility to store metadata for samples.
This metadata can be extended for OpenStack Compute and OpenStack Object
Storage.

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
resource_metadata.user_metadata.*. The new field should be
defined by using the prefix metering.. The modified boot
command look like the following:

$ openstack server create --property metering.custom_metadata=a_value my_vm

The other option is to set the reserved_metadata_keys to
the list of metadata keys that you would like to be included in
resource_metadata of the instance related samples that are
collected for OpenStack Compute. This option is included in the
DEFAULT section of the ceilometer.conf
configuration file.

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 resource_metadata. The format of the
new field is resource_metadata.http_header_$name, where
$name is the name of the header with -
replaced by _.

For specifying the new header, you need to set
metadata_headers option under the
[filter:ceilometer] section in
proxy-server.conf under the swift folder. You
can use this additional data for instance to distinguish external and
internal users.

Measurements are grouped by services which are polled by Telemetry or
emit notifications that this service consumes.

OpenStack Compute

The following meters are collected for OpenStack Compute.

Name Type Unit Resource Origin Support Note
Meters added in the Mitaka release or
earlier
memory Gauge MB instance ID Notification Libvirt, Hyper-V Volume of RAM allocated to the instance
memory.usage Gauge MB instance ID Pollster Libvirt, Hyper-V, vSphere, XenAPI Volume of RAM used by the instance from the amount of its allocated
memory
memory.resident Gauge MB instance ID Pollster Libvirt Volume of RAM used by the instance on the physical machine
cpu Cumulative ns instance ID Pollster Libvirt, Hyper-V CPU time used
vcpus Gauge vcpu instance ID Notification Libvirt, Hyper-V Number of virtual CPUs allocated to the instance
disk.device.read.requests Cumulative request disk ID Pollster Libvirt, Hyper-V Number of read requests
disk.device.write.requests Cumulative request disk ID Pollster Libvirt, Hyper-V Number of write requests
disk.device.read.bytes Cumulative B disk ID Pollster Libvirt, Hyper-V Volume of reads
disk.device.write.bytes Cumulative B disk ID Pollster Libvirt, Hyper-V Volume of writes
disk.root.size Gauge GB instance ID Notification Libvirt, Hyper-V Size of root disk
disk.ephemeral.size Gauge GB instance ID Notification Libvirt, Hyper-V Size of ephemeral disk
disk.device.latency Gauge ms disk ID Pollster Hyper-V Average disk latency per device
disk.device.iops Gauge count/s disk ID Pollster Hyper-V Average disk iops per device
disk.device.capacity Gauge B disk ID Pollster Libvirt The amount of disk per device that the instance can see
disk.device.allocation Gauge B disk ID Pollster Libvirt The amount of disk per device occupied by the instance on the host
machine
disk.device.usage Gauge B disk ID Pollster Libvirt The physical size in bytes of the image container on the host per
device
network.incoming.bytes Cumulative B interface ID Pollster Libvirt, Hyper-V Number of incoming bytes
network.outgoing.bytes Cumulative B interface ID Pollster Libvirt, Hyper-V Number of outgoing bytes
network.incoming.packets Cumulative packet interface ID Pollster Libvirt, Hyper-V Number of incoming packets
network.outgoing.packets Cumulative packet interface ID Pollster Libvirt, Hyper-V Number of outgoing packets
Meters added in the Newton release
cpu_l3_cache Gauge B instance ID Pollster Libvirt L3 cache used by the instance
memory.bandwidth.total Gauge B/s instance ID Pollster Libvirt Total system bandwidth from one level of cache
memory.bandwidth.local Gauge B/s instance ID Pollster Libvirt Bandwidth of memory traffic for a memory controller
perf.cpu.cycles Gauge cycle instance ID Pollster Libvirt the number of cpu cycles one instruction needs
perf.instructions Gauge instruction instance ID Pollster Libvirt the count of instructions
perf.cache.references Gauge count instance ID Pollster Libvirt the count of cache hits
perf.cache.misses Gauge count instance ID Pollster Libvirt the count of cache misses
Meters added in the Ocata release
network.incoming.packets.drop Cumulative packet interface ID Pollster Libvirt Number of incoming dropped packets
network.outgoing.packets.drop Cumulative packet interface ID Pollster Libvirt Number of outgoing dropped packets
network.incoming.packets.error Cumulative packet interface ID Pollster Libvirt Number of incoming error packets
network.outgoing.packets.error Cumulative packet interface ID Pollster Libvirt Number of outgoing error packets
Meters added in the Pike release
memory.swap.in Cumulative MB instance ID Pollster Libvirt Memory swap in
memory.swap.out Cumulative MB instance ID Pollster Libvirt Memory swap out
Meters added in the Queens release
disk.device.read.latency Cumulative ns Disk ID Pollster Libvirt Total time read operations have taken
disk.device.write.latency Cumulative ns Disk ID Pollster Libvirt Total time write operations have taken

Note

To enable the libvirt memory.usage 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
memory.usage samples without the image balloon driver.

Note

To enable libvirt disk.* support when running on
RBD-backed shared storage, you need to install libvirt version
1.2.16+.

OpenStack Compute is capable of collecting CPU related
meters from the compute host machines. In order to use that you need to
set the compute_monitors option to
cpu.virt_driver in the nova.conf configuration
file. For further information see the Compute configuration section in
the Compute
chapter
of the OpenStack Configuration Reference.

The following host machine related meters are collected for OpenStack
Compute:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
compute.node.cpu.frequency Gauge MHz host ID Notification CPU frequency
compute.node.cpu.kernel.time Cumulative ns host ID Notification CPU kernel time
compute.node.cpu.idle.time Cumulative ns host ID Notification CPU idle time
compute.node.cpu.user.time Cumulative ns host ID Notification CPU user mode time
compute.node.cpu.iowait.time Cumulative ns host ID Notification CPU I/O wait time
compute.node.cpu.kernel.percent Gauge % host ID Notification CPU kernel percentage
compute.node.cpu.idle.percent Gauge % host ID Notification CPU idle percentage
compute.node.cpu.user.percent Gauge % host ID Notification CPU user mode percentage
compute.node.cpu.iowait.percent Gauge % host ID Notification CPU I/O wait percentage
compute.node.cpu.percent Gauge % host ID Notification CPU utilization

IPMI meters

Telemetry captures notifications that are emitted by the Bare metal
service. The source of the notifications are IPMI sensors that collect
data from the host machine.

Alternatively, IPMI meters can be generated by deploying the
ceilometer-agent-ipmi on each IPMI-capable node. For further information
about the IPMI agent see telemetry-ipmi-agent.

Warning

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 service and keep the
conductor.send_sensor_data option set to False
in the ironic.conf configuration file.

The following IPMI sensor meters are recorded:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
hardware.ipmi.fan Gauge RPM fan sensor Notification, Pollster Fan rounds per minute (RPM)
hardware.ipmi.temperature Gauge C temperature sensor Notification, Pollster Temperature reading from sensor
hardware.ipmi.current Gauge W current sensor Notification, Pollster Current reading from sensor
hardware.ipmi.voltage Gauge V voltage sensor Notification, Pollster Voltage reading from sensor

Note

The sensor data is not available in the Bare metal service by
default. To enable the meters and configure this module to emit
notifications about the measured values see the Installation
Guide
for the Bare metal service.

Besides generic IPMI sensor data, the following Intel Node Manager
meters are recorded from capable platform:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
hardware.ipmi.node.power Gauge W host ID Pollster Current power of the system
hardware.ipmi.node.temperature Gauge C host ID Pollster Current temperature of the system
hardware.ipmi.node.inlet_temperature Gauge C host ID Pollster Inlet temperature of the system
hardware.ipmi.node.outlet_temperature Gauge C host ID Pollster Outlet temperature of the system
hardware.ipmi.node.airflow Gauge CFM host ID Pollster Volumetric airflow of the system, expressed as 1/10th of CFM
hardware.ipmi.node.cups Gauge CUPS host ID Pollster CUPS(Compute Usage Per Second) index data of the system
hardware.ipmi.node.cpu_util Gauge % host ID Pollster CPU CUPS utilization of the system
hardware.ipmi.node.mem_util Gauge % host ID Pollster Memory CUPS utilization of the system
hardware.ipmi.node.io_util Gauge % host ID Pollster IO CUPS utilization of the system

OpenStack Image service

The following meters are collected for OpenStack Image service:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
image.size Gauge B image ID Notification, Pollster Size of the uploaded image
image.download Delta B image ID Notification Image is downloaded
image.serve Delta B image ID Notification Image is served out

OpenStack Block Storage

The following meters are collected for OpenStack Block Storage:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
volume.size Gauge GB volume ID Notification Size of the volume
snapshot.size Gauge GB snapshot ID Notification Size of the snapshot
Meters added in the Queens release
volume.provider.capacity.total Gauge GB hostname Notification Total volume capacity on host
volume.provider.capacity.free Gauge GB hostname Notification Free volume capacity on host
volume.provider.capacity.allocated Gauge GB hostname Notification Assigned volume capacity on host by Cinder
volume.provider.capacity.provisioned Gauge GB hostname Notification Assigned volume capacity on host
volume.provider.capacity.virtual_free Gauge GB hostname Notification Virtual free volume capacity on host
volume.provider.pool.capacity.total Gauge GB hostname#pool Notification Total volume capacity in pool
volume.provider.pool.capacity.free Gauge GB hostname#pool Notification Free volume capacity in pool
volume.provider.pool.capacity.allocated Gauge GB hostname#pool Notification Assigned volume capacity in pool by Cinder
volume.provider.pool.capacity.provisioned Gauge GB hostname#pool Notification Assigned volume capacity in pool
volume.provider.pool.capacity.virtual_free Gauge GB hostname#pool Notification Virtual free volume capacity in pool

OpenStack File Share

The following meters are collected for OpenStack File Share:

Name Type Unit Resource Origin Note
Meters added in the Pike release
manila.share.size Gauge GB share ID Notification Size of the file share

OpenStack Object Storage

The following meters are collected for OpenStack Object Storage:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
storage.objects Gauge object storage ID Pollster Number of objects
storage.objects.size Gauge B storage ID Pollster Total size of stored objects
storage.objects.containers Gauge container storage ID Pollster Number of containers
storage.objects.incoming.bytes Delta B storage ID Notification Number of incoming bytes
storage.objects.outgoing.bytes Delta B storage ID Notification Number of outgoing bytes
storage.containers.objects Gauge object storage ID/container Pollster Number of objects in container
storage.containers.objects.size Gauge B storage ID/container Pollster Total size of stored objects in container

Ceph Object Storage

In order to gather meters from Ceph, you have to install and
configure the Ceph Object Gateway (radosgw) as it is described in the Installation
Manual
. You also have to enable usage
logging
in order to get the related meters from Ceph. You will need
an admin user with users,
buckets, metadata and usage
caps configured.

In order to access Ceph from Telemetry, you need to specify a
service group for radosgw in the
ceilometer.conf configuration file along with
access_key and secret_key of the
admin user mentioned above.

The following meters are collected for Ceph Object Storage:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
radosgw.objects Gauge object storage ID Pollster Number of objects
radosgw.objects.size Gauge B storage ID Pollster Total size of stored objects
radosgw.objects.containers Gauge container storage ID Pollster Number of containers
radosgw.api.request Gauge request storage ID Pollster Number of API requests against Ceph Object Gateway (radosgw)
radosgw.containers.objects Gauge object storage ID/container Pollster Number of objects in container
radosgw.containers.objects.size Gauge B storage ID/container Pollster Total size of stored objects in container

Note

The usage 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.

OpenStack Identity

The following meters are collected for OpenStack Identity:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
identity.authenticate.success Delta user user ID Notification User successfully authenticated
identity.authenticate.pending Delta user user ID Notification User pending authentication
identity.authenticate.failure Delta user user ID Notification User failed to authenticate

OpenStack Networking

The following meters are collected for OpenStack Networking:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
bandwidth Delta B label ID Notification Bytes through this l3 metering label

SDN controllers

The following meters are collected for SDN:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
switch Gauge switch switch ID Pollster Existence of switch
switch.port Gauge port switch ID Pollster Existence of port
switch.port.receive.packets Cumulative packet switch ID Pollster Packets received on port
switch.port.transmit.packets Cumulative packet switch ID Pollster Packets transmitted on port
switch.port.receive.bytes Cumulative B switch ID Pollster Bytes received on port
switch.port.transmit.bytes Cumulative B switch ID Pollster Bytes transmitted on port
switch.port.receive.drops Cumulative packet switch ID Pollster Drops received on port
switch.port.transmit.drops Cumulative packet switch ID Pollster Drops transmitted on port
switch.port.receive.errors Cumulative packet switch ID Pollster Errors received on port
switch.port.transmit.errors Cumulative packet switch ID Pollster Errors transmitted on port
switch.port.receive.frame_error Cumulative packet switch ID Pollster Frame alignment errors received on port
switch.port.receive.overrun_error Cumulative packet switch ID Pollster Overrun errors received on port
switch.port.receive.crc_error Cumulative packet switch ID Pollster CRC errors received on port
switch.port.collision.count Cumulative count switch ID Pollster Collisions on port
switch.table Gauge table switch ID Pollster Duration of table
switch.table.active.entries Gauge entry switch ID Pollster Active entries in table
switch.table.lookup.packets Gauge packet switch ID Pollster Lookup packets for table
switch.table.matched.packets Gauge packet switch ID Pollster Packets matches for table
switch.flow Gauge flow switch ID Pollster Duration of flow
switch.flow.duration.seconds Gauge s switch ID Pollster Duration of flow in seconds
switch.flow.duration.nanoseconds Gauge ns switch ID Pollster Duration of flow in nanoseconds
switch.flow.packets Cumulative packet switch ID Pollster Packets received
switch.flow.bytes Cumulative B switch ID Pollster Bytes received
Meters added in the Pike release
port Gauge port port ID Pollster Existence of port
port.uptime Gauge s port ID Pollster Uptime of port
port.receive.packets Cumulative packet port ID Pollster Packets trasmitted on port
port.transmit.packets Cumulative packet port ID Pollster Packets transmitted on port
port.receive.bytes Cumulative B port ID Pollster Bytes received on port
port.transmit.bytes Cumulative B port ID Pollster Bytes transmitted on port
port.receive.drops Cumulative packet port ID Pollster Drops received on port
port.receive.errors Cumulative packet port ID Pollster Errors received on port
switch.ports Gauge ports switch ID Pollster Number of portson switch
switch.port.uptime Gauge s switch ID Pollster Uptime of switch

These meters are available for OpenFlow based switches. In order to
enable these meters, each driver needs to be properly configured.

VPN-as-a-Service (VPNaaS)

The following meters are collected for VPNaaS:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
network.services.vpn Gauge vpnservice vpn ID Pollster Existence of a VPN
network.services.vpn.connections Gauge ipsec_site_connection connection ID Pollster Existence of an IPSec connection

Firewall-as-a-Service (FWaaS)

The following meters are collected for FWaaS:

Name Type Unit Resource Origin Note
Meters added in the Mitaka release or
earlier
network.services.firewall Gauge firewall firewall ID Pollster Existence of a firewall
network.services.firewall.policy Gauge firewall_policy firewall ID Pollster Existence of a firewall policy