Skip to content
This repository has been archived by the owner on Oct 23, 2024. It is now read-only.

Latest commit

 

History

History
182 lines (149 loc) · 11.3 KB

collectd-openstack.md

File metadata and controls

182 lines (149 loc) · 11.3 KB

collectd/openstack

Monitor Type: collectd/openstack (Source)

Accepts Endpoints: No

Multiple Instances Allowed: Yes

Overview

Monitors Openstack by using the Openstack collectd Python plugin, which collects metrics from Openstack instances. This plugin is installed with the Smart Agent, so no additional installation is required to use this montior.

This monitor covers the following Openstack components:

  • Nova (Compute)
  • Cinder (BlockStorge)
  • Neutron (Network)

Please see the reference for OpenStack Monitoring.

Deployment Host

Identify a host on which the SignalFx agent will run. This integration collects data from OpenStack remotely via APIs, and so those API endpoints must be visible to the host on which the agent runs. We do not recommend installing the agent directly on a compute instance because a compute instance/resource under one project cannot get stats about the resources under other projects. Also, a compute instance may go down due to lack of resources in the project.

Example config

monitors:
- type: collectd/openstack
  authURL: "http://192.168.11.111/identity/v3"
  username: "admin"
  password: "secret"
  requestBatchSize: 10
  novaListServersSearchOpts:
    all_tenants: "TRUE"
    status: "ACTIVE"

Example config using skipVerify and disabling querying server metrics

monitors:
- type: collectd/openstack
  authURL: "https://192.168.11.111/identity/v3"
  username: "admin"
  password: "secret"
  skipVerify: true
  queryServerMetrics: false
  queryHypervisorMetrics: false

Configuration

To activate this monitor in the Smart Agent, add the following to your agent config:

monitors:  # All monitor config goes under this key
 - type: collectd/openstack
   ...  # Additional config

For a list of monitor options that are common to all monitors, see Common Configuration.

Config option Required Type Description
pythonBinary no string Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well.
authURL yes string Keystone authentication URL/endpoint for the OpenStack cloud
username yes string Username to authenticate with keystone identity
password yes string Password to authenticate with keystone identity
projectName no string Specify the name of Project to be monitored (default:"demo")
projectDomainID no string The project domain (default:"default")
regionName no string The region name for URL discovery, defaults to the first region if multiple regions are available.
userDomainID no string The user domain id (default:"default")
skipVerify no bool Skip SSL certificate validation (default: false)
httpTimeout no float64 The HTTP client timeout in seconds for all requests (default: 0)
requestBatchSize no integer The maximum number of concurrent requests for each metric class (default: 5)
queryServerMetrics no bool Whether to query server metrics (useful to disable for TripleO Undercloud) (default: true)
queryHypervisorMetrics no bool Whether to query hypervisor metrics (useful to disable for TripleO Undercloud) (default: true)
novaListServersSearchOpts no map of strings Optional search_opts mapping for collectd-openstack Nova client servers.list(search_opts=novaListServerSearchOpts). For more information see https://docs.openstack.org/api-ref/compute/#list-servers.

Metrics

These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.

  • counter.openstack.nova.server.cpu_time (counter)
    Virtual CPU time consumed in nanoseconds
  • counter.openstack.nova.server.rx (counter)
    Size of network packet received in bytes
  • counter.openstack.nova.server.rx_packets (counter)
    Received packets at an instance
  • counter.openstack.nova.server.tx (counter)
    Size of network packet transmitted in bytes
  • counter.openstack.nova.server.tx_packets (counter)
    Transmitted packets at an instance
  • gauge.openstack.cinder.limit.maxTotalBackupGigabytes (gauge)
    Maximum backup space available at cinder component for project in Gigabytes
  • gauge.openstack.cinder.limit.maxTotalBackups (gauge)
    Total available backups used at cinder component for project
  • gauge.openstack.cinder.limit.maxTotalSnapshots (gauge)
    Total available snapshots at cinder component for project
  • gauge.openstack.cinder.limit.maxTotalVolumeGigabytes (gauge)
    Total available block storage at cinder component for project
  • gauge.openstack.cinder.limit.maxTotalVolumes (gauge)
    Maximum volume resources available at cinder component for project
  • gauge.openstack.cinder.limit.totalBackupGigabytesUsed (gauge)
    Total backup space used at cinder component for project in Gigabytes
  • gauge.openstack.cinder.limit.totalBackupsUsed (gauge)
    Total backups used at cinder component for project
  • gauge.openstack.cinder.limit.totalGigabytesUsed (gauge)
    Total block storage used at cinder component for project
  • gauge.openstack.cinder.limit.totalSnapshotsUsed (gauge)
    Total snapshots used at cinder component for project
  • gauge.openstack.cinder.limit.totalVolumesUsed (gauge)
    Volume resources used at cinder component for project
  • gauge.openstack.cinder.snapshot.count (gauge)
    Total number of snapshots at cinder component for project
  • gauge.openstack.cinder.snapshot.size (gauge)
    Total snapshot size at cinder component for project
  • gauge.openstack.cinder.volume.count (gauge)
    Total number of volumes at cinder component for project
  • gauge.openstack.cinder.volume.size (gauge)
    Total volume size at cinder component for project
  • gauge.openstack.neutron.floatingip.count (gauge)
    Overall floating IPs used across projects
  • gauge.openstack.neutron.network.count (gauge)
    Overall Network resources used across projects
  • gauge.openstack.neutron.router.count (gauge)
    Overall router resources used across projects
  • gauge.openstack.neutron.securitygroup.count (gauge)
    Overall securitygroup resources used across projects
  • gauge.openstack.neutron.subnet.count (gauge)
    Overall subnet resources used in all projects
  • gauge.openstack.nova.hypervisor.current_workload (gauge)
    Total current active hypervisor tasks in project
  • gauge.openstack.nova.hypervisor.disk_available_least (gauge)
    Minimum free disk space available in Gigabyte
  • gauge.openstack.nova.hypervisor.free_disk_gb (gauge)
    Maximum free disk space available in Gigabyte
  • gauge.openstack.nova.hypervisor.free_ram_mb (gauge)
    Maximum free ram space available in Megabyte
  • gauge.openstack.nova.hypervisor.load_average (gauge)
    Average CPU load on the hypervisor
  • gauge.openstack.nova.hypervisor.local_gb (gauge)
    Maximum available local disk space in Gigabyte
  • gauge.openstack.nova.hypervisor.local_gb_used (gauge)
    Total disk space used in Gigabyte
  • gauge.openstack.nova.hypervisor.memory_mb (gauge)
    Maximum available memory in MB at hypervisor
  • gauge.openstack.nova.hypervisor.memory_mb_used (gauge)
    Total memory used in MB at hypervisor
  • gauge.openstack.nova.hypervisor.running_vms (gauge)
    Total running VMs at hypervisor
  • gauge.openstack.nova.hypervisor.vcpus (gauge)
    Available physical cores at hypervisor
  • gauge.openstack.nova.hypervisor.vcpus_used (gauge)
    Used virtual CPUs used
  • gauge.openstack.nova.limit.maxImageMeta (gauge)
    Maximum number of metadata items associated with an image for project
  • gauge.openstack.nova.limit.maxSecurityGroups (gauge)
    Maximum available security groups for project
  • gauge.openstack.nova.limit.maxTotalCores (gauge)
    Maximum available VCPUs in project
  • gauge.openstack.nova.limit.maxTotalFloatingIps (gauge)
    Maximum available floating IPs for project
  • gauge.openstack.nova.limit.maxTotalInstances (gauge)
    Maximum available instances in project
  • gauge.openstack.nova.limit.maxTotalKeypairs (gauge)
    Maximum available keypairs for project
  • gauge.openstack.nova.limit.maxTotalRAMSize (gauge)
    Maximum available RAM size for project
  • gauge.openstack.nova.limit.totalCoresUsed (gauge)
    Total cores used in the project
  • gauge.openstack.nova.limit.totalFloatingIpsUsed (gauge)
    Total floating IPs used in the project
  • gauge.openstack.nova.limit.totalInstancesUsed (gauge)
    Total instances used in the project
  • gauge.openstack.nova.limit.totalRAMUsed (gauge)
    Total RAM used in the project
  • gauge.openstack.nova.limit.totalSecurityGroupsUsed (gauge)
    Total RAM used in the project
  • gauge.openstack.nova.server.memory (gauge)
    Memory provisioned at an instance
  • gauge.openstack.nova.server.memory-actual (gauge)
    Actual memory used at an instance
  • gauge.openstack.nova.server.memory-rss (gauge)
    Memory used not including disk pages at an instance
  • gauge.openstack.nova.server.vda_read (gauge)
    Size of virtual disk read requests in bytes
  • gauge.openstack.nova.server.vda_read_req (gauge)
    Virtual disk read requests from an instance
  • gauge.openstack.nova.server.vda_write (gauge)
    Size of virtual disk write requests in bytes
  • gauge.openstack.nova.server.vda_write_req (gauge)
    Virtual disk write requests from an instance

Non-default metrics (version 4.7.0+)

To emit metrics that are not default, you can add those metrics in the generic monitor-level extraMetrics config option. Metrics that are derived from specific configuration options that do not appear in the above list of metrics do not need to be added to extraMetrics.

To see a list of metrics that will be emitted you can run agent-status monitors after configuring this monitor in a running agent instance.

Dimensions

The following dimensions may occur on metrics emitted by this monitor. Some dimensions may be specific to certain metrics.

Name Description
plugin This is always set to openstack.
plugin_instance This will contain the project id and name of the project given in the configuration.