Taikun Logo

Taikun OCP Guide

Table of Contents


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.


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

Telemetry uses the following meter types:

CumulativeIncreasing over time (instance hours)
DeltaChanging over time (bandwidth)
GaugeDiscrete 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

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.

Meters added in the Mitaka release or
memoryGaugeMBinstance IDNotificationLibvirt, Hyper-VVolume of RAM allocated to the instance
memory.usageGaugeMBinstance IDPollsterLibvirt, Hyper-V, vSphere, XenAPIVolume of RAM used by the instance from the amount of its allocated
memory.residentGaugeMBinstance IDPollsterLibvirtVolume of RAM used by the instance on the physical machine
cpuCumulativensinstance IDPollsterLibvirt, Hyper-VCPU time used
vcpusGaugevcpuinstance IDNotificationLibvirt, Hyper-VNumber of virtual CPUs allocated to the instance
disk.device.read.requestsCumulativerequestdisk IDPollsterLibvirt, Hyper-VNumber of read requests
disk.device.write.requestsCumulativerequestdisk IDPollsterLibvirt, Hyper-VNumber of write requests
disk.device.read.bytesCumulativeBdisk IDPollsterLibvirt, Hyper-VVolume of reads
disk.device.write.bytesCumulativeBdisk IDPollsterLibvirt, Hyper-VVolume of writes
disk.root.sizeGaugeGBinstance IDNotificationLibvirt, Hyper-VSize of root disk
disk.ephemeral.sizeGaugeGBinstance IDNotificationLibvirt, Hyper-VSize of ephemeral disk
disk.device.latencyGaugemsdisk IDPollsterHyper-VAverage disk latency per device
disk.device.iopsGaugecount/sdisk IDPollsterHyper-VAverage disk iops per device
disk.device.capacityGaugeBdisk IDPollsterLibvirtThe amount of disk per device that the instance can see
disk.device.allocationGaugeBdisk IDPollsterLibvirtThe amount of disk per device occupied by the instance on the host
disk.device.usageGaugeBdisk IDPollsterLibvirtThe physical size in bytes of the image container on the host per
network.incoming.bytesCumulativeBinterface IDPollsterLibvirt, Hyper-VNumber of incoming bytes
network.outgoing.bytesCumulativeBinterface IDPollsterLibvirt, Hyper-VNumber of outgoing bytes
network.incoming.packetsCumulativepacketinterface IDPollsterLibvirt, Hyper-VNumber of incoming packets
network.outgoing.packetsCumulativepacketinterface IDPollsterLibvirt, Hyper-VNumber of outgoing packets
Meters added in the Newton release
cpu_l3_cacheGaugeBinstance IDPollsterLibvirtL3 cache used by the instance
memory.bandwidth.totalGaugeB/sinstance IDPollsterLibvirtTotal system bandwidth from one level of cache
memory.bandwidth.localGaugeB/sinstance IDPollsterLibvirtBandwidth of memory traffic for a memory controller
perf.cpu.cyclesGaugecycleinstance IDPollsterLibvirtthe number of cpu cycles one instruction needs
perf.instructionsGaugeinstructioninstance IDPollsterLibvirtthe count of instructions
perf.cache.referencesGaugecountinstance IDPollsterLibvirtthe count of cache hits
perf.cache.missesGaugecountinstance IDPollsterLibvirtthe count of cache misses
Meters added in the Ocata release
network.incoming.packets.dropCumulativepacketinterface IDPollsterLibvirtNumber of incoming dropped packets
network.outgoing.packets.dropCumulativepacketinterface IDPollsterLibvirtNumber of outgoing dropped packets
network.incoming.packets.errorCumulativepacketinterface IDPollsterLibvirtNumber of incoming error packets
network.outgoing.packets.errorCumulativepacketinterface IDPollsterLibvirtNumber of outgoing error packets
Meters added in the Pike release
memory.swap.inCumulativeMBinstance IDPollsterLibvirtMemory swap in
memory.swap.outCumulativeMBinstance IDPollsterLibvirtMemory swap out
Meters added in the Queens release
disk.device.read.latencyCumulativensDisk IDPollsterLibvirtTotal time read operations have taken
disk.device.write.latencyCumulativensDisk IDPollsterLibvirtTotal time write operations have taken


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.


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

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
of the OpenStack Configuration Reference.

The following host machine related meters are collected for OpenStack

Meters added in the Mitaka release or
compute.node.cpu.frequencyGaugeMHzhost IDNotificationCPU frequency
compute.node.cpu.kernel.timeCumulativenshost IDNotificationCPU kernel time
compute.node.cpu.idle.timeCumulativenshost IDNotificationCPU idle time
compute.node.cpu.user.timeCumulativenshost IDNotificationCPU user mode time
compute.node.cpu.iowait.timeCumulativenshost IDNotificationCPU I/O wait time
compute.node.cpu.kernel.percentGauge%host IDNotificationCPU kernel percentage
compute.node.cpu.idle.percentGauge%host IDNotificationCPU idle percentage
compute.node.cpu.user.percentGauge%host IDNotificationCPU user mode percentage
compute.node.cpu.iowait.percentGauge%host IDNotificationCPU I/O wait percentage
compute.node.cpu.percentGauge%host IDNotificationCPU 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.


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:

Meters added in the Mitaka release or
hardware.ipmi.fanGaugeRPMfan sensorNotification, PollsterFan rounds per minute (RPM)
hardware.ipmi.temperatureGaugeCtemperature sensorNotification, PollsterTemperature reading from sensor
hardware.ipmi.currentGaugeWcurrent sensorNotification, PollsterCurrent reading from sensor
hardware.ipmi.voltageGaugeVvoltage sensorNotification, PollsterVoltage reading from sensor


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
for the Bare metal service.

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

Meters added in the Mitaka release or
hardware.ipmi.node.powerGaugeWhost IDPollsterCurrent power of the system
hardware.ipmi.node.temperatureGaugeChost IDPollsterCurrent temperature of the system
hardware.ipmi.node.inlet_temperatureGaugeChost IDPollsterInlet temperature of the system
hardware.ipmi.node.outlet_temperatureGaugeChost IDPollsterOutlet temperature of the system
hardware.ipmi.node.airflowGaugeCFMhost IDPollsterVolumetric airflow of the system, expressed as 1/10th of CFM
hardware.ipmi.node.cupsGaugeCUPShost IDPollsterCUPS(Compute Usage Per Second) index data of the system
hardware.ipmi.node.cpu_utilGauge%host IDPollsterCPU CUPS utilization of the system
hardware.ipmi.node.mem_utilGauge%host IDPollsterMemory CUPS utilization of the system
hardware.ipmi.node.io_utilGauge%host IDPollsterIO CUPS utilization of the system

OpenStack Image service

The following meters are collected for OpenStack Image service:

Meters added in the Mitaka release or
image.sizeGaugeBimage IDNotification, PollsterSize of the uploaded image
image.downloadDeltaBimage IDNotificationImage is downloaded
image.serveDeltaBimage IDNotificationImage is served out

OpenStack Block Storage

The following meters are collected for OpenStack Block Storage:

Meters added in the Mitaka release or
volume.sizeGaugeGBvolume IDNotificationSize of the volume
snapshot.sizeGaugeGBsnapshot IDNotificationSize of the snapshot
Meters added in the Queens release
volume.provider.capacity.totalGaugeGBhostnameNotificationTotal volume capacity on host
volume.provider.capacity.freeGaugeGBhostnameNotificationFree volume capacity on host
volume.provider.capacity.allocatedGaugeGBhostnameNotificationAssigned volume capacity on host by Cinder
volume.provider.capacity.provisionedGaugeGBhostnameNotificationAssigned volume capacity on host
volume.provider.capacity.virtual_freeGaugeGBhostnameNotificationVirtual free volume capacity on host
volume.provider.pool.capacity.totalGaugeGBhostname#poolNotificationTotal volume capacity in pool
volume.provider.pool.capacity.freeGaugeGBhostname#poolNotificationFree volume capacity in pool
volume.provider.pool.capacity.allocatedGaugeGBhostname#poolNotificationAssigned volume capacity in pool by Cinder
volume.provider.pool.capacity.provisionedGaugeGBhostname#poolNotificationAssigned volume capacity in pool
volume.provider.pool.capacity.virtual_freeGaugeGBhostname#poolNotificationVirtual free volume capacity in pool

OpenStack File Share

The following meters are collected for OpenStack File Share:

Meters added in the Pike release
manila.share.sizeGaugeGBshare IDNotificationSize of the file share

OpenStack Object Storage

The following meters are collected for OpenStack Object Storage:

Meters added in the Mitaka release or
storage.objectsGaugeobjectstorage IDPollsterNumber of objects
storage.objects.sizeGaugeBstorage IDPollsterTotal size of stored objects
storage.objects.containersGaugecontainerstorage IDPollsterNumber of containers
storage.objects.incoming.bytesDeltaBstorage IDNotificationNumber of incoming bytes
storage.objects.outgoing.bytesDeltaBstorage IDNotificationNumber of outgoing bytes
storage.containers.objectsGaugeobjectstorage ID/containerPollsterNumber of objects in container
storage.containers.objects.sizeGaugeBstorage ID/containerPollsterTotal 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
. You also have to enable usage
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:

Meters added in the Mitaka release or
radosgw.objectsGaugeobjectstorage IDPollsterNumber of objects
radosgw.objects.sizeGaugeBstorage IDPollsterTotal size of stored objects
radosgw.objects.containersGaugecontainerstorage IDPollsterNumber of containers
radosgw.api.requestGaugerequeststorage IDPollsterNumber of API requests against Ceph Object Gateway (radosgw)
radosgw.containers.objectsGaugeobjectstorage ID/containerPollsterNumber of objects in container
radosgw.containers.objects.sizeGaugeBstorage ID/containerPollsterTotal size of stored objects in container


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:

Meters added in the Mitaka release or
identity.authenticate.successDeltauseruser IDNotificationUser successfully authenticated
identity.authenticate.pendingDeltauseruser IDNotificationUser pending authentication
identity.authenticate.failureDeltauseruser IDNotificationUser failed to authenticate

OpenStack Networking

The following meters are collected for OpenStack Networking:

Meters added in the Mitaka release or
bandwidthDeltaBlabel IDNotificationBytes through this l3 metering label

SDN controllers

The following meters are collected for SDN:

Meters added in the Mitaka release or
switchGaugeswitchswitch IDPollsterExistence of switch
switch.portGaugeportswitch IDPollsterExistence of port
switch.port.receive.packetsCumulativepacketswitch IDPollsterPackets received on port
switch.port.transmit.packetsCumulativepacketswitch IDPollsterPackets transmitted on port
switch.port.receive.bytesCumulativeBswitch IDPollsterBytes received on port
switch.port.transmit.bytesCumulativeBswitch IDPollsterBytes transmitted on port
switch.port.receive.dropsCumulativepacketswitch IDPollsterDrops received on port
switch.port.transmit.dropsCumulativepacketswitch IDPollsterDrops transmitted on port
switch.port.receive.errorsCumulativepacketswitch IDPollsterErrors received on port
switch.port.transmit.errorsCumulativepacketswitch IDPollsterErrors transmitted on port
switch.port.receive.frame_errorCumulativepacketswitch IDPollsterFrame alignment errors received on port
switch.port.receive.overrun_errorCumulativepacketswitch IDPollsterOverrun errors received on port
switch.port.receive.crc_errorCumulativepacketswitch IDPollsterCRC errors received on port
switch.port.collision.countCumulativecountswitch IDPollsterCollisions on port
switch.tableGaugetableswitch IDPollsterDuration of table
switch.table.active.entriesGaugeentryswitch IDPollsterActive entries in table
switch.table.lookup.packetsGaugepacketswitch IDPollsterLookup packets for table
switch.table.matched.packetsGaugepacketswitch IDPollsterPackets matches for table
switch.flowGaugeflowswitch IDPollsterDuration of flow
switch.flow.duration.secondsGaugesswitch IDPollsterDuration of flow in seconds
switch.flow.duration.nanosecondsGaugensswitch IDPollsterDuration of flow in nanoseconds
switch.flow.packetsCumulativepacketswitch IDPollsterPackets received
switch.flow.bytesCumulativeBswitch IDPollsterBytes received
Meters added in the Pike release
portGaugeportport IDPollsterExistence of port
port.uptimeGaugesport IDPollsterUptime of port
port.receive.packetsCumulativepacketport IDPollsterPackets trasmitted on port
port.transmit.packetsCumulativepacketport IDPollsterPackets transmitted on port
port.receive.bytesCumulativeBport IDPollsterBytes received on port
port.transmit.bytesCumulativeBport IDPollsterBytes transmitted on port
port.receive.dropsCumulativepacketport IDPollsterDrops received on port
port.receive.errorsCumulativepacketport IDPollsterErrors received on port
switch.portsGaugeportsswitch IDPollsterNumber of portson switch
switch.port.uptimeGaugesswitch IDPollsterUptime 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:

Meters added in the Mitaka release or
network.services.vpnGaugevpnservicevpn IDPollsterExistence of a VPN
network.services.vpn.connectionsGaugeipsec_site_connectionconnection IDPollsterExistence of an IPSec connection

Firewall-as-a-Service (FWaaS)

The following meters are collected for FWaaS:

Meters added in the Mitaka release or
network.services.firewallGaugefirewallfirewall IDPollsterExistence of a firewall
network.services.firewall.policyGaugefirewall_policyfirewall IDPollsterExistence of a firewall policy


Explore Taikun CloudWorks in 2 Minutes!