Documentation

OpenStack Input Plugin

This plugin collects metrics about services from OpenStack endpoints.

Due to the large number of unique tags generated by the plugin it is highly recommended to use metric filtering like taginclude and tagexclude to reduce cardinality.

Introduced in: Telegraf v1.21.0 Tags: server, cloud OS support: all

Global configuration options

In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the CONFIGURATION.md for more details.

Configuration

# Collects performance metrics from OpenStack services
[[inputs.openstack]]
  ## The recommended interval to poll is '30m'

  ## The identity endpoint to authenticate against and get the service catalog from.
  authentication_endpoint = "https://my.openstack.cloud:5000"

  ## The domain to authenticate against when using a V3 identity endpoint.
  # domain = "default"

  ## The project to authenticate as.
  # project = "admin"

  ## User authentication credentials. Must have admin rights.
  username = "admin"
  password = "password"

  ## Available services are:
  ## "agents", "aggregates", "cinder_services", "flavors", "hypervisors",
  ## "networks", "nova_services", "ports", "projects", "servers",
  ## "serverdiagnostics", "services", "stacks", "storage_pools", "subnets",
  ## "volumes"
  # enabled_services = ["services", "projects", "hypervisors", "flavors", "networks", "volumes"]

  ## Query all instances of all tenants for the volumes and server services
  ## NOTE: Usually this is only permitted for administrators!
  # query_all_tenants = true

  ## output secrets (such as adminPass(for server) and UserID(for volume)).
  # output_secrets = false

  ## Amount of time allowed to complete the HTTP(s) request.
  # timeout = "5s"

  ## HTTP Proxy support
  # http_proxy_url = ""

  ## Optional TLS Config
  # tls_ca = /path/to/cafile
  # tls_cert = /path/to/certfile
  # tls_key = /path/to/keyfile
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Options for tags received from Openstack
  # tag_prefix = "openstack_tag_"
  # tag_value = "true"

  ## Timestamp format for timestamp data received from Openstack.
  ## If false format is unix nanoseconds.
  # human_readable_timestamps = false

  ## Measure Openstack call duration
  # measure_openstack_requests = false

Available services to collect

This plugin allows to collects metrics from following services:

  • CINDER(Block Storage)
  • GLANCE(Image service)
  • HEAT(Orchestration)
  • KEYSTONE(Identity service)
  • NEUTRON(Networking)
  • NOVA(Compute Service)

API requirements

At present this plugin requires the following APIs:

  • blockstorage v3
  • compute v2
  • identity v3
  • networking v2
  • orchestration v1

Recommendations

Due to the large number of unique tags generated by the plugin it is highly recommended to use metric filtering like taginclude and tagexclude to reduce cardinality.

For deployments with only a small number of VMs and hosts, a small polling interval (e.g. seconds-minutes) is acceptable. For larger deployments, polling a large number of systems will impact performance. Use the interval option to change how often the plugin is run.

Also, consider polling OpenStack services at different intervals depending on your requirements. This will help with load and cardinality as well.

[[inputs.openstack]]
  interval = "5m"
  ....
  authentication_endpoint = "https://my.openstack.cloud:5000"
  ...
  enabled_services = ["nova_services"]
  ....

[[inputs.openstack]]
  interval = "30m"
  ....
  authentication_endpoint = "https://my.openstack.cloud:5000"
  ...
  enabled_services = ["services", "projects", "hypervisors", "flavors", "networks", "volumes"]
  ....

Metrics

  • openstack_aggregate
    • name
    • aggregate_host [string]
    • aggregate_hosts [integer]
    • created_at [string]
    • deleted [boolean]
    • deleted_at [string]
    • id [integer]
    • updated_at [string]
  • openstack_flavor
    • is_public
    • name
    • disk [integer]
    • ephemeral [integer]
    • id [string]
    • ram [integer]
    • rxtx_factor [float]
    • swap [integer]
    • vcpus [integer]
  • openstack_hypervisor
    • cpu_arch
    • cpu_feature_tsc
    • cpu_feature_tsc-deadline
    • cpu_feature_tsc_adjust
    • cpu_feature_tsx-ctrl
    • cpu_feature_vme
    • cpu_feature_vmx
    • cpu_feature_x2apic
    • cpu_feature_xgetbv1
    • cpu_feature_xsave
    • cpu_model
    • cpu_vendor
    • hypervisor_hostname
    • hypervisor_type
    • hypervisor_version
    • service_host
    • service_id
    • state
    • status
    • cpu_topology_cores [integer]
    • cpu_topology_sockets [integer]
    • cpu_topology_threads [integer]
    • current_workload [integer]
    • disk_available_least [integer]
    • free_disk_gb [integer]
    • free_ram_mb [integer]
    • host_ip [string]
    • id [string]
    • local_gb [integer]
    • local_gb_used [integer]
    • memory_mb [integer]
    • memory_mb_used [integer]
    • running_vms [integer]
    • vcpus [integer]
    • vcpus_used [integer]
  • openstack_identity
    • description
    • domain_id
    • name
    • parent_id
    • enabled boolean
    • id string
    • is_domain boolean
    • projects integer
  • openstack_network
    • name
    • openstack_tags_xyz
    • project_id
    • status
    • tenant_id
    • admin_state_up [boolean]
    • availability_zone_hints [string]
    • created_at [string]
    • id [string]
    • shared [boolean]
    • subnet_id [string]
    • subnets [integer]
    • updated_at [string]
  • openstack_neutron_agent
    • agent_host
    • agent_type
    • availability_zone
    • binary
    • topic
    • admin_state_up [boolean]
    • alive [boolean]
    • created_at [string]
    • heartbeat_timestamp [string]
    • id [string]
    • resources_synced [boolean]
    • started_at [string]
  • openstack_nova_service
    • host_machine
    • name
    • state
    • status
    • zone
    • disabled_reason [string]
    • forced_down [boolean]
    • id [string]
    • updated_at [string]
  • openstack_port
    • device_id
    • device_owner
    • name
    • network_id
    • project_id
    • status
    • tenant_id
    • admin_state_up [boolean]
    • allowed_address_pairs [integer]
    • fixed_ips [integer]
    • id [string]
    • ip_address [string]
    • mac_address [string]
    • security_groups [string]
    • subnet_id [string]
  • openstack_request_duration
    • agents [integer]
    • aggregates [integer]
    • flavors [integer]
    • hypervisors [integer]
    • networks [integer]
    • nova_services [integer]
    • ports [integer]
    • projects [integer]
    • servers [integer]
    • stacks [integer]
    • storage_pools [integer]
    • subnets [integer]
    • volumes [integer]
  • openstack_server
    • flavor
    • host_id
    • host_name
    • image
    • key_name
    • name
    • project
    • status
    • tenant_id
    • user_id
    • accessIPv4 [string]
    • accessIPv6 [string]
    • addresses [integer]
    • adminPass [string]
    • created [string]
    • disk_gb [integer]
    • fault_code [integer]
    • fault_created [string]
    • fault_details [string]
    • fault_message [string]
    • id [string]
    • progress [integer]
    • ram_mb [integer]
    • security_groups [integer]
    • updated [string]
    • vcpus [integer]
    • volume_id [string]
    • volumes_attached [integer]
  • openstack_server_diagnostics
    • disk_name
    • no_of_disks
    • no_of_ports
    • port_name
    • server_id
    • cpu0_time [float]
    • cpu1_time [float]
    • cpu2_time [float]
    • cpu3_time [float]
    • cpu4_time [float]
    • cpu5_time [float]
    • cpu6_time [float]
    • cpu7_time [float]
    • disk_errors [float]
    • disk_read [float]
    • disk_read_req [float]
    • disk_write [float]
    • disk_write_req [float]
    • memory [float]
    • memory-actual [float]
    • memory-rss [float]
    • memory-swap_in [float]
    • port_rx [float]
    • port_rx_drop [float]
    • port_rx_errors [float]
    • port_rx_packets [float]
    • port_tx [float]
    • port_tx_drop [float]
    • port_tx_errors [float]
    • port_tx_packets [float]
  • openstack_service
    • name
    • service_enabled [boolean]
    • service_id [string]
  • openstack_storage_pool
    • driver_version
    • name
    • storage_protocol
    • vendor_name
    • volume_backend_name
    • free_capacity_gb [float]
    • total_capacity_gb [float]
  • openstack_subnet
    • cidr
    • gateway_ip
    • ip_version
    • name
    • network_id
    • openstack_tags_subnet_type_PRV
    • project_id
    • tenant_id
    • allocation_pools [string]
    • dhcp_enabled [boolean]
    • dns_nameservers [string]
    • id [string]
  • openstack_volume
    • attachment_attachment_id
    • attachment_device
    • attachment_host_name
    • availability_zone
    • bootable
    • description
    • name
    • status
    • user_id
    • volume_type
    • attachment_attached_at [string]
    • attachment_server_id [string]
    • created_at [string]
    • encrypted [boolean]
    • id [string]
    • multiattach [boolean]
    • size [integer]
    • total_attachments [integer]
    • updated_at [string]

Example Output

openstack_neutron_agent,agent_host=vim2,agent_type=DHCP\ agent,availability_zone=nova,binary=neutron-dhcp-agent,host=telegraf_host,topic=dhcp_agent admin_state_up=true,alive=true,created_at="2021-01-07T03:40:53Z",heartbeat_timestamp="2021-10-14T07:46:40Z",id="17e1e446-d7da-4656-9e32-67d3690a306f",resources_synced=false,started_at="2021-07-02T21:47:42Z" 1634197616000000000
openstack_aggregate,host=telegraf_host,name=non-dpdk aggregate_host="vim3",aggregate_hosts=2i,created_at="2021-02-01T18:28:00Z",deleted=false,deleted_at="0001-01-01T00:00:00Z",id=3i,updated_at="0001-01-01T00:00:00Z" 1634197617000000000
openstack_flavor,host=telegraf_host,is_public=true,name=hwflavor disk=20i,ephemeral=0i,id="f89785c0-6b9f-47f5-a02e-f0fcbb223163",ram=8192i,rxtx_factor=1,swap=0i,vcpus=8i 1634197617000000000
openstack_hypervisor,cpu_arch=x86_64,cpu_feature_3dnowprefetch=true,cpu_feature_abm=true,cpu_feature_acpi=true,cpu_feature_adx=true,cpu_feature_aes=true,cpu_feature_apic=true,cpu_feature_xtpr=true,cpu_model=C-Server,cpu_vendor=xyz,host=telegraf_host,hypervisor_hostname=vim3,hypervisor_type=QEMU,hypervisor_version=4002000,service_host=vim3,service_id=192,state=up,status=enabled cpu_topology_cores=28i,cpu_topology_sockets=1i,cpu_topology_threads=2i,current_workload=0i,disk_available_least=2596i,free_disk_gb=2744i,free_ram_mb=374092i,host_ip="xx:xx:xx:x::xxx",id="12",local_gb=3366i,local_gb_used=622i,memory_mb=515404i,memory_mb_used=141312i,running_vms=15i,vcpus=0i,vcpus_used=72i 1634197618000000000
openstack_network,host=telegraf_host,name=Network\ 2,project_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,status=active,tenant_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx admin_state_up=true,availability_zone_hints="",created_at="2021-07-29T15:58:25Z",id="f5af5e71-e890-4245-a377-d4d86273c319",shared=false,subnet_id="2f7341c6-074d-42aa-9abc-71c662d9b336",subnets=1i,updated_at="2021-09-02T16:46:48Z" 1634197618000000000
openstack_nova_service,host=telegraf_host,host_machine=vim3,name=nova-compute,state=up,status=enabled,zone=nova disabled_reason="",forced_down=false,id="192",updated_at="2021-10-14T07:46:52Z" 1634197619000000000
openstack_port,device_id=a043b8b3-2831-462a-bba8-19088f3db45a,device_owner=compute:nova,host=telegraf_host,name=offload-port1,network_id=6b40d744-9a48-43f2-a4c8-2e0ccb45ac96,project_id=71f9bc44621234f8af99a3949258fc7b,status=ACTIVE,tenant_id=71f9bc44621234f8af99a3949258fc7b admin_state_up=true,allowed_address_pairs=0i,fixed_ips=1i,id="fb64626a-07e1-4d78-a70d-900e989537cc",ip_address="1.1.1.5",mac_address="xx:xx:xx:xx:xx:xx",security_groups="",subnet_id="eafa1eca-b318-4746-a55a-682478466689" 1634197620000000000
openstack_identity,domain_id=default,host=telegraf_host,name=service,parent_id=default enabled=true,id="a0877dd2ed1d4b5f952f5689bc04b0cb",is_domain=false,projects=7i 1634197621000000000
openstack_server,flavor=0d438971-56cf-4f86-801f-7b04b29384cb,host=telegraf_host,host_id=c0fe05b14261d35cf8748a3f5aae1234b88c2fd62b69fe24ca4a27e9,host_name=vim1,image=b295f1f3-1w23-470c-8734-197676eedd16,name=test-VM7,project=admin,status=active,tenant_id=80ac889731f540498fb1dc78e4bcd5ed,user_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx accessIPv4="",accessIPv6="",addresses=1i,adminPass="",created="2021-09-07T14:40:11Z",disk_gb=8i,fault_code=0i,fault_created="0001-01-01T00:00:00Z",fault_details="",fault_message="",id="db92ee0d-459b-458e-9fe3-2be5ec7c87e1",progress=0i,ram_mb=16384i,security_groups=1i,updated="2021-09-07T14:40:19Z",vcpus=4i,volumes_attached=0i 1634197656000000000
openstack_service,host=telegraf_host,name=identity service_enabled=true,service_id="ad605eff92444a158d0f78768f2c4668" 1634197656000000000
openstack_storage_pool,driver_version=1.0.0,host=telegraf_host,name=storage_bloack_1,storage_protocol=nfs,vendor_name=xyz,volume_backend_name=abc free_capacity_gb=4847.54,total_capacity_gb=4864 1634197658000000000
openstack_subnet,cidr=10.10.20.10/28,gateway_ip=10.10.20.17,host=telegraf_host,ip_version=4,name=IPv4_Subnet_2,network_id=73c6e1d3-f522-4a3f-8e3c-762a0c06d68b,openstack_tags_lab=True,project_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,tenant_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx allocation_pools="10.10.20.11-10.10.20.30",dhcp_enabled=true,dns_nameservers="",id="db69fbb2-9ca1-4370-8c78-82a27951c94b" 1634197660000000000
openstack_volume,attachment_attachment_id=c83ca0d6-c467-44a0-ac1f-f87d769c0c65,attachment_device=/dev/vda,attachment_host_name=vim1,availability_zone=nova,bootable=true,host=telegraf_host,status=in-use,user_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,volume_type=storage_bloack_1 attachment_attached_at="2021-01-12T21:02:04Z",attachment_server_id="c0c6b4af-0d26-4a0b-a6b4-4ea41fa3bb4a",created_at="2021-01-12T21:01:47Z",encrypted=false,id="d4204f1b-b1ae-1233-b25c-a57d91d2846e",multiattach=false,size=80i,total_attachments=1i,updated_at="2021-01-12T21:02:04Z" 1634197660000000000
openstack_request_duration,host=telegraf_host networks=703214354i 1634197660000000000
openstack_server_diagnostics,disk_name=vda,host=telegraf_host,no_of_disks=1,no_of_ports=2,port_name=vhu1234566c-9c,server_id=fdddb58c-bbb9-1234-894b-7ae140178909 cpu0_time=4924220000000,cpu1_time=218809610000000,cpu2_time=218624300000000,cpu3_time=220505700000000,disk_errors=-1,disk_read=619156992,disk_read_req=35423,disk_write=8432728064,disk_write_req=882445,memory=8388608,memory-actual=8388608,memory-rss=37276,memory-swap_in=0,port_rx=410516469288,port_rx_drop=13373626,port_rx_errors=-1,port_rx_packets=52140392,port_tx=417312195654,port_tx_drop=0,port_tx_errors=0,port_tx_packets=321385978 1634197660000000000

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.4

Key enhancements in InfluxDB 3.4 and the InfluxDB 3 Explorer 1.2.

See the Blog Post

InfluxDB 3.4 is now available for both Core and Enterprise, which introduces offline token generation for use in automated deployments and configurable license type selection that lets you bypass the interactive license prompt. InfluxDB 3 Explorer 1.2 is also available, which includes InfluxDB cache management and other new features.

For more information, check out: