This patch add content about memory bandwidth meter. The patch about this in Ceilometer is https://review.openstack.org/#/c/341911/ Change-Id: Id42833f33f699d4b94ec6456c1bbb9e7e6a143b5
98 KiB
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 OpenStack Installation Guide. Also check the Telemetry manual installation description.
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:
$ nova boot --meta 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.
Note
The Telemetry service 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 meters. For further information
about events see Events
section in the Telemetry documentation. For further information
about how to turn on and off meters see telemetry-pipeline-configuration
. Please also note
that currently no migration is available to move the already existing
event type samples to the event store.
OpenStack Compute
The following meters are collected for OpenStack Compute:
Name | Type | Unit | Resource | Origin | Support | Note |
---|---|---|---|---|---|---|
**Meters ad | ded in t | he Iceh | ouse releas | e or earlie | r** | |
instance | Gauge | instance | instance ID | Notification, Pollster | Libvirt, Hyper-V, vSphere | Existence of instance |
instance:<type> | Gauge | instance | instance ID | Notification, Pollster | Libvirt, Hyper-V, vSphere | Existence of instance <type> (OpenStack types) |
memory | Gauge | MB | instance ID | Notification | Libvirt, Hyper-V | Volume of RAM allocated to the instance |
memory.usage | Gauge | MB | instance ID | Pollster | vSphere | Volume of RAM used by the instance from the amount of its allocated memory |
cpu | Cumulative | ns | instance ID | Pollster | Libvirt, Hyper-V | CPU time used |
cpu_util | Gauge | % | instance ID | Pollster | vSphere | Average CPU utilization |
vcpus | Gauge | vcpu | instance ID | Notification | Libvirt, Hyper-V | Number of virtual CPUs allocated to the instance |
disk.read.requests | Cumulative | request | instance ID | Pollster | Libvirt, Hyper-V | Number of read requests |
disk.read.requests.rate | Gauge | request/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of read requests |
disk.write.requests | Cumulative | request | instance ID | Pollster | Libvirt, Hyper-V | Number of write requests |
disk.write.requests.rate | Gauge | request/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of write requests |
disk.read.bytes | Cumulative | B | instance ID | Pollster | Libvirt, Hyper-V | Volume of reads |
disk.read.bytes.rate | Gauge | B/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of reads |
disk.write.bytes | Cumulative | B | instance ID | Pollster | Libvirt, Hyper-V | Volume of writes |
disk.write.bytes.rate | Gauge | B/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate 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 |
network.incoming.bytes | Cumulative | B | interface ID | Pollster | Libvirt, Hyper-V | Number of incoming bytes |
network.incoming.bytes.rate | Gauge | B/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of incoming bytes |
network.outgoing.bytes | Cumulative | B | interface ID | Pollster | Libvirt, Hyper-V | Number of outgoing bytes |
network.outgoing.bytes.rate | Gauge | B/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of outgoing bytes |
network.incoming.packets | Cumulative | packet | interface ID | Pollster | Libvirt, Hyper-V | Number of incoming packets |
network.incoming.packets.rate | Gauge | packet/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of incoming packets |
network.outgoing.packets | Cumulative | packet | interface ID | Pollster | Libvirt, Hyper-V | Number of outgoing packets |
network.outgoing.packets.rate | Gauge | packet/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of outgoing packets |
**Meters ad | ded or h | ypervis | or support | changed in | the Juno r | elease** |
instance | Gauge | instance | instance ID | Notification, Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Existence of instance |
instance:<type> | Gauge | instance | instance ID | Notification, Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Existence of instance <type> (OpenStack types) |
memory.usage | Gauge | MB | instance ID | Pollster | vSphere, XenAPI | Volume of RAM used by the instance from the amount of its allocated memory |
cpu_util | Gauge | % | instance ID | Pollster | vSphere, XenAPI | Average CPU utilization |
disk.read.bytes.rate | Gauge | B/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of reads |
disk.write.bytes.rate | Gauge | B/s | instance ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of writes |
disk.device.read.requests | Cumulative | request | disk ID | Pollster | Libvirt, Hyper-V | Number of read requests |
disk.device.read.requests.rate | Gauge | request/s | disk ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of read requests |
disk.device.write.requests | Cumulative | request | disk ID | Pollster | Libvirt, Hyper-V | Number of write requests |
disk.device.write.requests.rate | Gauge | request/s | disk ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of write requests |
disk.device.read.bytes | Cumulative | B | disk ID | Pollster | Libvirt, Hyper-V | Volume of reads |
disk.device.read.bytes .rate | Gauge | B/s | disk ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of reads |
disk.device.write.bytes | Cumulative | B | disk ID | Pollster | Libvirt, Hyper-V | Volume of writes |
disk.device.write.bytes .rate | Gauge | B/s | disk ID | Pollster | Libvirt, Hyper-V, vSphere | Average rate of writes |
network.incoming.bytes.rate | Gauge | B/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of incoming bytes |
network.outgoing.bytes.rate | Gauge | B/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of outgoing bytes |
network.incoming.packets.rate | Gauge | packet/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of incoming packets |
network.outgoing.packets.rate | Gauge | packet/s | interface ID | Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Average rate of outgoing packets |
**Meters ad | ded or h | ypervis | or support | changed in | the Kilo r | elease** |
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 |
disk.latency | Gauge | ms | instance ID | Pollster | Hyper-V | Average disk latency |
disk.iops | Gauge | count/s | instance ID | Pollster | Hyper-V | Average disk iops |
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.capacity | Gauge | B | instance ID | Pollster | Libvirt | The amount of disk that the instance can see |
disk.allocation | Gauge | B | instance ID | Pollster | Libvirt | The amount of disk occupied by the instance on the host machine |
disk.usage | Gauge | B | instance ID | Pollster | Libvirt | The physical size in bytes of the image container on the host |
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 |
**Meters de | precated | in the | Kilo relea | se** | ||
instance:<type> | Gauge | instance | instance ID | Notification, Pollster | Libvirt, Hyper-V, vSphere, XenAPI | Existence of instance <type> (OpenStack types) |
**Meters ad | ded in t | he Libe | rty release | ** | ||
cpu.delta | Delta | ns | instance ID | Pollster | Libvirt, Hyper-V | CPU time used since previous datapoint |
**Meters ad | ded in t | he Newt | on 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 |
Note
The instance:<type>
meter can be replaced by using
extra parameters in both the samples and statistics queries. Sample
queries look like:
statistics:
ceilometer statistics -m instance -g resource_metadata.instance_type
samples:
ceilometer sample-list -m instance -q metadata.instance_type=<value>
The Telemetry service supports to create new meters by using
transformers. For more details about transformers see telemetry-transformers
. Among
the meters gathered from libvirt and Hyper-V there are a few ones which
are generated from other meters. The list of meters that are created by
using the rate_of_change
transformer from the above table
is the following:
- cpu_util
- disk.read.requests.rate
- disk.write.requests.rate
- disk.read.bytes.rate
- disk.write.bytes.rate
- disk.device.read.requests.rate
- disk.device.write.requests.rate
- disk.device.read.bytes.rate
- disk.device.write.bytes.rate
- network.incoming.bytes.rate
- network.outgoing.bytes.rate
- network.incoming.packets.rate
- network.outgoing.packets.rate
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.
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
ComputeDriverCPUMonitor
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 | Icehous | e relea | se or earli | er** | |
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 |
Bare metal service
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.
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.
The following meters are recorded for the Bare metal service:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in | the Juno | releas | e** | ||
hardware.ipmi.fan | Gauge | RPM | fan sensor | Notification | Fan rounds per minute (RPM) |
hardware.ipmi.fan | Gauge | RPM | fan sensor | Notification | Fan rounds per minute (RPM) |
hardware.ipmi.temperature | Gauge | C | temperature sensor | Notification | Temperate reading from sensor |
hardware.ipmi.current | Gauge | W | current sensor | Notification | Current reading from sensor |
hardware.ipmi.voltage | Gauge | V | voltage sensor | Notification | Voltage reading from sensor |
IPMI based meters
Another way of gathering IPMI based data is to use IPMI sensors
independently from the Bare metal service's components. Same meters as
telemetry-bare-metal-service
could be fetched except
that origin is Pollster
instead of
Notification
.
You need to deploy the ceilometer-agent-ipmi on each IPMI-capable
node in order to poll local sensor data. 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.
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 | Juno re | lease** | |||
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 |
**Meters added in the | Kilo re | lease** | |||
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 |
Meters renamed in the Kilo release | |
---|---|
Original Name | New Name |
hardware.ipmi.node.temperature | hardware.ipmi.node.inlet_temperature |
SNMP based meters
Telemetry supports gathering SNMP based generic host meters. In order to be able to collect this data you need to run snmpd on each target host.
The following meters are available about the host machines by using SNMP:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in the | Kilo re | lease** | |||
hardware.cpu.load.1min | Gauge | process | host ID | Pollster | CPU load in the past 1 minute |
hardware.cpu.load.5min | Gauge | process | host ID | Pollster | CPU load in the past 5 minutes |
hardware.cpu.load.10min | Gauge | process | host ID | Pollster | CPU load in the past 10 minutes |
hardware.disk.size.total | Gauge | KB | disk ID | Pollster | Total disk size |
hardware.disk.size.used | Gauge | KB | disk ID | Pollster | Used disk size |
hardware.memory.total | Gauge | KB | host ID | Pollster | Total physical memory size |
hardware.memory.used | Gauge | KB | host ID | Pollster | Used physical memory size |
hardware.memory.buffer | Gauge | KB | host ID | Pollster | Physical memory buffer size |
hardware.memory.cached | Gauge | KB | host ID | Pollster | Cached physical memory size |
hardware.memory.swap.total | Gauge | KB | host ID | Pollster | Total swap space size |
hardware.memory.swap.avail | Gauge | KB | host ID | Pollster | Available swap space size |
hardware.network.incoming.bytes | Cumulative | B | interface ID | Pollster | Bytes received by network interface |
hardware.network.outgoing.bytes | Cumulative | B | interface ID | Pollster | Bytes sent by network interface |
hardware.network.outgoing.errors | Cumulative | packet | interface ID | Pollster | Sending error of network interface |
hardware.network.ip.incoming.datagrams | Cumulative | datagrams | host ID | Pollster | Number of received datagrams |
hardware.network.ip.outgoing.datagrams | Cumulative | datagrams | host ID | Pollster | Number of sent datagrams |
hardware.system_stats.io.incoming.blocks | Cumulative | blocks | host ID | Pollster | Aggregated number of blocks received to block device |
hardware.system_stats.io.outgoing.blocks | Cumulative | blocks | host ID | Pollster | Aggregated number of blocks sent to block device |
hardware.system_stats.cpu.idle | Gauge | % | host ID | Pollster | CPU idle percentage |
OpenStack Image service
The following meters are collected for OpenStack Image service:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in th | e Icehous | e relea | se or earli | er** | |
image | Gauge | image | image ID | Notification, Pollster | Existence of the image |
image.size | Gauge | image | image ID | Notification, Pollster | Size of the uploaded image |
image.update | Delta | image | image ID | Notification | Number of updates on the image |
image.upload | Delta | image | image ID | Notification | Number of uploads on the image |
image.delete | Delta | image | image ID | Notification | Number of deletes on the 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 th | e Icehou | se releas | e or earlie | r** | |
volume | Gauge | volume | volume ID | Notification | Existence of the volume |
volume.size | Gauge | GB | volume ID | Notification | Size of the volume |
**Meters added in th | e Juno r | elease** | |||
snapshot | Gauge | snapshot | snapshot ID | Notification | Existence of the snapshot |
snapshot.size | Gauge | GB | snapshot ID | Notification | Size of the snapshot |
**Meters added in th | e Kilo r | elease** | |||
volume.create.(start|end) | Delta | volume | volume ID | Notification | Creation of the volume |
volume.delete.(start|end) | Delta | volume | volume ID | Notification | Deletion of the volume |
volume.update.(start|end) | Delta | volume | volume ID | Notification | Update the name or description of the volume |
volume.resize.(start|end) | Delta | volume | volume ID | Notification | Update the size of the volume |
volume.attach.(start|end) | Delta | volume | volume ID | Notification | Attaching the volume to an instance |
volume.detach.(start|end) | Delta | volume | volume ID | Notification | Detaching the volume from an instance |
snapshot.create.(start|end) | Delta | snapshot | snapshot ID | Notification | Creation of the snapshot |
snapshot.delete.(start|end) | Delta | snapshot | snapshot ID | Notification | Deletion of the snapshot |
volume.backup.create.(start|end) | Delta | volume | backup ID | Notification | Creation of the volume backup |
volume.backup.delete.(start|end) | Delta | volume | backup ID | Notification | Deletion of the volume backup |
volume.backup.restore.(start|end) | Delta | volume | backup ID | Notification | Restoration of the volume backup |
OpenStack Object Storage
The following meters are collected for OpenStack Object Storage:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in th | e Icehou | se relea | se 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.api.request | Delta | request | storage ID | Notification | Number of API requests against OpenStack Object Storage |
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 have to enable usage
logging in order to get the related meters from Ceph. You will also
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 Kil | o release | ** | ||
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 t | he Juno | release* | |||
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 |
identity.user.created | Delta | user | user ID | Notification | User is created |
identity.user.deleted | Delta | user | user ID | Notification | User is deleted |
identity.user.updated | Delta | user | user ID | Notification | User is updated |
identity.group.created | Delta | group | group ID | Notification | Group is created |
identity.group.deleted | Delta | group | group ID | Notification | Group is deleted |
identity.group.updated | Delta | group | group ID | Notification | Group is updated |
identity.role.created | Delta | role | role ID | Notification | Role is created |
identity.role.deleted | Delta | role | role ID | Notification | Role is deleted |
identity.role.updated | Delta | role | role ID | Notification | Role is updated |
identity.project.created | Delta | project | project ID | Notification | Project is created |
identity.project.deleted | Delta | project | project ID | Notification | Project is deleted |
identity.project.updated | Delta | project | project ID | Notification | Project is updated |
identity.trust.created | Delta | trust | trust ID | Notification | Trust is created |
identity.trust.deleted | Delta | trust | trust ID | Notification | Trust is deleted |
**Meters added in t | he Kilo | release* | |||
identity.role_assignment.created | Delta | role_assignment | role ID | Notification | Role is added to an actor on a target |
identity.role_assignment.deleted | Delta | role_assignment | role ID | Notification | Role is removed from an actor on a target |
OpenStack Networking
The following meters are collected for OpenStack Networking:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in | the Ice | house rel | ease or earl | ier** | |
network | Gauge | network | network ID | Notification | Existence of network |
network.create | Delta | network | network ID | Notification | Creation requests for this network |
network.update | Delta | network | network ID | Notification | Update requests for this network |
subnet | Gauge | subnet | subnet ID | Notification | Existence of subnet |
subnet.create | Delta | subnet | subnet ID | Notification | Creation requests for this subnet |
subnet.update | Delta | subnet | subnet ID | Notification | Update requests for this subnet |
port | Gauge | port | port ID | Notification | Existence of port |
port.create | Delta | port | port ID | Notification | Creation requests for this port |
port.update | Delta | port | port ID | Notification | Update requests for this port |
router | Gauge | router | router ID | Notification | Existence of router |
router.create | Delta | router | router ID | Notification | Creation requests for this router |
router.update | Delta | router | router ID | Notification | Update requests for this router |
ip.floating | Gauge | ip | ip ID | Notification, Pollster | Existence of IP |
ip.floating.create | Delta | ip | ip ID | Notification | Creation requests for this IP |
ip.floating.update | Delta | ip | ip ID | Notification | Update requests for this IP |
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 Iceho | use relea | se or earlie | r** | |
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 |
These meters are available for OpenFlow based switches. In order to enable these meters, each driver needs to be properly configured.
Load-Balancer-as-a-Service (LBaaS v1)
The following meters are collected for LBaaS v1:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added | in the Jun | o release* | |||
network.services.lb.pool | Gauge | pool | pool ID | Notification, Pollster | Existence of a LB pool |
network.services.lb.vip | Gauge | vip | vip ID | Notification, Pollster | Existence of a LB VIP |
network.services.lb.member | Gauge | member | member ID | Notification, Pollster | Existence of a LB member |
network.services.lb.health_monitor | Gauge | health_monitor | monitor ID | Notification, Pollster | Existence of a LB health probe |
network.services.lb.total.connections | Cumulative | connection | pool ID | Pollster | Total connections on a LB |
network.services.lb.active.connections | Gauge | connection | pool ID | Pollster | Active connections on a LB |
network.services.lb.incoming.bytes | Gauge | B | pool ID | Pollster | Number of incoming Bytes |
network.services.lb.outgoing.bytes | Gauge | B | pool ID | Pollster | Number of outgoing Bytes |
**Meters added | in the Kil | o release* | |||
network.services.lb.pool.create | Delta | pool | pool ID | Notification | LB pool was created |
network.services.lb.pool.update | Delta | pool | pool ID | Notification | LB pool was updated |
network.services.lb.vip.create | Delta | vip | vip ID | Notification | LB VIP was created |
network.services.lb.vip.update | Delta | vip | vip ID | Notification | LB VIP was updated |
network.services.lb.member.create | Delta | member | member ID | Notification | LB member was created |
network.services.lb.member.update | Delta | member | member ID | Notification | LB member was updated |
network.services.lb.health_monitor.create | Delta | health_monitor | monitor ID | Notification | LB health probe was created |
network.services.lb.health_monitor.update | Delta | health_monitor | monitor ID | Notification | LB health probe was updated |
Load-Balancer-as-a-Service (LBaaS v2)
The following meters are collected for LBaaS v2. They are added in Mitaka release:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
network.services.lb.pool | Gauge | pool | pool ID | Notification, Pollster | Existence of a LB pool |
network.services.lb.listener | Gauge | listener | listener ID | Notification, Pollster | Existence of a LB listener |
network.services.lb.member | Gauge | member | member ID | Notification, Pollster | Existence of a LB member |
network.services.lb.health_monitor | Gauge | health_monitor | monitor ID | Notification, Pollster | Existence of a LB health probe |
network.services.lb.loadbalancer | Gauge | loadbalancer | loadbalancer ID | Notification, Pollster | Existence of a LB loadbalancer |
network.services.lb.total.connections | Cumulative | connection | pool ID | Pollster | Total connections on a LB |
network.services.lb.active.connections | Gauge | connection | pool ID | Pollster | Active connections on a LB |
network.services.lb.incoming.bytes | Gauge | B | pool ID | Pollster | Number of incoming Bytes |
network.services.lb.outgoing.bytes | Gauge | B | pool ID | Pollster | Number of outgoing Bytes |
network.services.lb.pool.create | Delta | pool | pool ID | Notification | LB pool was created |
network.services.lb.pool.update | Delta | pool | pool ID | Notification | LB pool was updated |
network.services.lb.listener.create | Delta | listener | listener ID | Notification | LB listener was created |
network.services.lb.listener.update | Delta | listener | listener ID | Notification | LB listener was updated |
network.services.lb.member.create | Delta | member | member ID | Notification | LB member was created |
network.services.lb.member.update | Delta | member | member ID | Notification | LB member was updated |
network.services.lb.healthmonitor.create | Delta | health_monitor | monitor ID | Notification | LB health probe was created |
network.services.lb.healthmonitor.update | Delta | health_monitor | monitor ID | Notification | LB health probe was updated |
network.services.lb.loadbalancer.create | Delta | loadbalancer | loadbalancer ID | Notification | LB loadbalancer was created |
network.services.lb.loadbalancer.update | Delta | loadbalancer | loadbalancer ID | Notification | LB loadbalancer was updated |
Note
The above meters are experimental and may generate a large load against the Neutron APIs. The future enhancement will be implemented when Neutron supports the new APIs.
VPN-as-a-Service (VPNaaS)
The following meters are collected for VPNaaS:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added | in the J | uno releas | e** | ||
network.services.vpn | Gauge | vpnservice | vpn ID | Notification, Pollster | Existence of a VPN |
network.services.vpn.connections | Gauge | ipsec_site_connection | connection ID | Notification, Pollster | Existence of an IPSec connection |
**Meters added | in the K | ilo releas | e** | ||
network.services.vpn.create | Delta | vpnservice | vpn ID | Notification | VPN was created |
network.services.vpn.update | Delta | vpnservice | vpn ID | Notification | VPN was updated |
network.services.vpn.connections.create | Delta | ipsec_site_connection | connection ID | Notification | IPSec connection was created |
network.services.vpn.connections.update | Delta | ipsec_site_connection | connection ID | Notification | IPSec connection was updated |
network.services.vpn.ipsecpolicy | Gauge | ipsecpolicy | ipsecpolicy ID | Notification, Pollster | Existence of an IPSec policy |
network.services.vpn.ipsecpolicy.create | Delta | ipsecpolicy | ipsecpolicy ID | Notification | IPSec policy was created |
network.services.vpn.ipsecpolicy.update | Delta | ipsecpolicy | ipsecpolicy ID | Notification | IPSec policy was updated |
network.services.vpn.ikepolicy | Gauge | ikepolicy | ikepolicy ID | Notification, Pollster | Existence of an Ike policy |
network.services.vpn.ikepolicy.create | Delta | ikepolicy | ikepolicy ID | Notification | Ike policy was created |
network.services.vpn.ikepolicy.update | Delta | ikepolicy | ikepolicy ID | Notification | Ike policy was updated |
Firewall-as-a-Service (FWaaS)
The following meters are collected for FWaaS:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added | in the J | uno releas | e** | ||
network.services.firewall | Gauge | firewall | firewall ID | Notification, Pollster | Existence of a firewall |
network.services.firewall.policy | Gauge | firewall_policy | firewall ID | Notification, Pollster | Existence of a firewall policy |
**Meters added | in the K | ilo releas | e** | ||
network.services.firewall.create | Delta | firewall | firewall ID | Notification | Firewall was created |
network.services.firewall.update | Delta | firewall | firewall ID | Notification | Firewall was updated |
network.services.firewall.policy.create | Delta | firewall_policy | policy ID | Notification | Firewall policy was created |
network.services.firewall.policy.update | Delta | firewall_policy | policy ID | Notification | Firewall policy was updated |
network.services.firewall.rule | Gauge | firewall_rule | rule ID | Notification | Existence of a firewall rule |
network.services.firewall.rule.create | Delta | firewall_rule | rule ID | Notification | Firewall rule was created |
network.services.firewall.rule.update | Delta | firewall_rule | rule ID | Notification | Firewall rule was updated |
Orchestration service
The following meters are collected for the Orchestration service:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added i | n the Ic | ehouse | release or | earlier** | |
stack.create | Delta | stack | stack ID | Notification | Stack was successfully created |
stack.update | Delta | stack | stack ID | Notification | Stack was successfully updated |
stack.delete | Delta | stack | stack ID | Notification | Stack was successfully deleted |
stack.resume | Delta | stack | stack ID | Notification | Stack was successfully resumed |
stack.suspend | Delta | stack | stack ID | Notification | Stack was successfully suspended |
Data processing service for OpenStack
The following meters are collected for the Data processing service for OpenStack:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added i | n the Ju | no release | ** | ||
cluster.create | Delta | cluster | cluster ID | Notification | Cluster was successfully created |
cluster.update | Delta | cluster | cluster ID | Notification | Cluster was successfully updated |
cluster.delete | Delta | cluster | cluster ID | Notification | Cluster was successfully deleted |
Key Value Store module
The following meters are collected for the Key Value Store module:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added in | the Kilo | releas | e** | ||
magnetodb.table.create | Gauge | table | table ID | Notification | Table was successfully created |
magnetodb.table.delete | Gauge | table | table ID | Notification | Table was successfully deleted |
magnetodb.table.index.count | Gauge | index | table ID | Notification | Number of indices created in a table |
Energy
The following energy related meters are available:
Name | Type | Unit | Resource | Origin | Note |
---|---|---|---|---|---|
**Meters added | in the Icehou | se rele | ase or earl | ier** | |
energy | Cumulative | kWh | probe ID | Pollster | Amount of energy |
power | Gauge | W | probe ID | Pollster | Power consumption |