Monitor Type: collectd/openstack
(Source)
Accepts Endpoints: No
Multiple Instances Allowed: Yes
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.
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.
monitors:
- type: collectd/openstack
authURL: "http://192.168.11.111/identity/v3"
username: "admin"
password: "secret"
requestBatchSize: 10
novaListServersSearchOpts:
all_tenants: "TRUE"
status: "ACTIVE"
monitors:
- type: collectd/openstack
authURL: "https://192.168.11.111/identity/v3"
username: "admin"
password: "secret"
skipVerify: true
queryServerMetrics: false
queryHypervisorMetrics: false
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. |
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 nanosecondscounter.openstack.nova.server.rx
(counter)
Size of network packet received in bytescounter.openstack.nova.server.rx_packets
(counter)
Received packets at an instancecounter.openstack.nova.server.tx
(counter)
Size of network packet transmitted in bytescounter.openstack.nova.server.tx_packets
(counter)
Transmitted packets at an instancegauge.openstack.cinder.limit.maxTotalBackupGigabytes
(gauge)
Maximum backup space available at cinder component for project in Gigabytesgauge.openstack.cinder.limit.maxTotalBackups
(gauge)
Total available backups used at cinder component for projectgauge.openstack.cinder.limit.maxTotalSnapshots
(gauge)
Total available snapshots at cinder component for projectgauge.openstack.cinder.limit.maxTotalVolumeGigabytes
(gauge)
Total available block storage at cinder component for projectgauge.openstack.cinder.limit.maxTotalVolumes
(gauge)
Maximum volume resources available at cinder component for projectgauge.openstack.cinder.limit.totalBackupGigabytesUsed
(gauge)
Total backup space used at cinder component for project in Gigabytesgauge.openstack.cinder.limit.totalBackupsUsed
(gauge)
Total backups used at cinder component for projectgauge.openstack.cinder.limit.totalGigabytesUsed
(gauge)
Total block storage used at cinder component for projectgauge.openstack.cinder.limit.totalSnapshotsUsed
(gauge)
Total snapshots used at cinder component for projectgauge.openstack.cinder.limit.totalVolumesUsed
(gauge)
Volume resources used at cinder component for projectgauge.openstack.cinder.snapshot.count
(gauge)
Total number of snapshots at cinder component for projectgauge.openstack.cinder.snapshot.size
(gauge)
Total snapshot size at cinder component for projectgauge.openstack.cinder.volume.count
(gauge)
Total number of volumes at cinder component for projectgauge.openstack.cinder.volume.size
(gauge)
Total volume size at cinder component for projectgauge.openstack.neutron.floatingip.count
(gauge)
Overall floating IPs used across projectsgauge.openstack.neutron.network.count
(gauge)
Overall Network resources used across projectsgauge.openstack.neutron.router.count
(gauge)
Overall router resources used across projectsgauge.openstack.neutron.securitygroup.count
(gauge)
Overall securitygroup resources used across projectsgauge.openstack.neutron.subnet.count
(gauge)
Overall subnet resources used in all projectsgauge.openstack.nova.hypervisor.current_workload
(gauge)
Total current active hypervisor tasks in projectgauge.openstack.nova.hypervisor.disk_available_least
(gauge)
Minimum free disk space available in Gigabytegauge.openstack.nova.hypervisor.free_disk_gb
(gauge)
Maximum free disk space available in Gigabytegauge.openstack.nova.hypervisor.free_ram_mb
(gauge)
Maximum free ram space available in Megabytegauge.openstack.nova.hypervisor.load_average
(gauge)
Average CPU load on the hypervisorgauge.openstack.nova.hypervisor.local_gb
(gauge)
Maximum available local disk space in Gigabytegauge.openstack.nova.hypervisor.local_gb_used
(gauge)
Total disk space used in Gigabytegauge.openstack.nova.hypervisor.memory_mb
(gauge)
Maximum available memory in MB at hypervisorgauge.openstack.nova.hypervisor.memory_mb_used
(gauge)
Total memory used in MB at hypervisorgauge.openstack.nova.hypervisor.running_vms
(gauge)
Total running VMs at hypervisorgauge.openstack.nova.hypervisor.vcpus
(gauge)
Available physical cores at hypervisorgauge.openstack.nova.hypervisor.vcpus_used
(gauge)
Used virtual CPUs usedgauge.openstack.nova.limit.maxImageMeta
(gauge)
Maximum number of metadata items associated with an image for projectgauge.openstack.nova.limit.maxSecurityGroups
(gauge)
Maximum available security groups for projectgauge.openstack.nova.limit.maxTotalCores
(gauge)
Maximum available VCPUs in projectgauge.openstack.nova.limit.maxTotalFloatingIps
(gauge)
Maximum available floating IPs for projectgauge.openstack.nova.limit.maxTotalInstances
(gauge)
Maximum available instances in projectgauge.openstack.nova.limit.maxTotalKeypairs
(gauge)
Maximum available keypairs for projectgauge.openstack.nova.limit.maxTotalRAMSize
(gauge)
Maximum available RAM size for projectgauge.openstack.nova.limit.totalCoresUsed
(gauge)
Total cores used in the projectgauge.openstack.nova.limit.totalFloatingIpsUsed
(gauge)
Total floating IPs used in the projectgauge.openstack.nova.limit.totalInstancesUsed
(gauge)
Total instances used in the projectgauge.openstack.nova.limit.totalRAMUsed
(gauge)
Total RAM used in the projectgauge.openstack.nova.limit.totalSecurityGroupsUsed
(gauge)
Total RAM used in the projectgauge.openstack.nova.server.memory
(gauge)
Memory provisioned at an instancegauge.openstack.nova.server.memory-actual
(gauge)
Actual memory used at an instancegauge.openstack.nova.server.memory-rss
(gauge)
Memory used not including disk pages at an instancegauge.openstack.nova.server.vda_read
(gauge)
Size of virtual disk read requests in bytesgauge.openstack.nova.server.vda_read_req
(gauge)
Virtual disk read requests from an instancegauge.openstack.nova.server.vda_write
(gauge)
Size of virtual disk write requests in bytesgauge.openstack.nova.server.vda_write_req
(gauge)
Virtual disk write requests from an instance
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.
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. |