获取 Openstack 中每个租户的内存、cpu 和磁盘使用情况

Get memory, cpu and disk usage for each tenant in Openstack

我正在寻找 CPU,Openstack 中每个租户的内存和磁盘消耗,以及它们在用户、实例、使用中的关系。 Horizo​​n 仅显示内存利用率,cpu 全局方式。是否可以通过Openstack命令获取?

我的openstack是基于Rocky的。

任何想法将不胜感激

我唯一知道的是

openstack limits show --absolute --project <Project_ID/Tenant_ID>

另见 https://docs.openstack.org/python-openstackclient/pike/cli/command-objects/limits.html

在输出中,您有类似 totalCoresUsed 的信息,它表示所选项目使用的核心数。

示例:

root@openstack-controller:~# openstack limits show --absolute --project 416f937f505f4ff6b623c48a61228a86
+--------------------------+-------+
| Name                     | Value |
+--------------------------+-------+
| maxTotalInstances        |    10 |
| maxTotalCores            |    20 |
| maxTotalRAMSize          | 51200 |
| maxSecurityGroups        |    10 |
| maxTotalFloatingIps      |    10 |
| maxServerMeta            |   128 |
| maxImageMeta             |   128 |
| maxPersonality           |     5 |
| maxPersonalitySize       | 10240 |
| maxSecurityGroupRules    |    20 |
| maxTotalKeypairs         |   100 |
| maxServerGroups          |    10 |
| maxServerGroupMembers    |    10 |
| totalRAMUsed             |  2560 |
| totalCoresUsed           |     7 |
| totalInstancesUsed       |     7 |
| totalFloatingIpsUsed     |     0 |
| totalSecurityGroupsUsed  |     1 |
| totalServerGroupsUsed    |     0 |
| maxTotalVolumes          |    10 |
| maxTotalSnapshots        |    10 |
| maxTotalVolumeGigabytes  |  1000 |
| maxTotalBackups          |    10 |
| maxTotalBackupGigabytes  |  1000 |
| totalVolumesUsed         |     5 |
| totalGigabytesUsed       |     7 |
| totalSnapshotsUsed       |     0 |
| totalBackupsUsed         |     0 |
| totalBackupGigabytesUsed |     0 |
+--------------------------+-------+

配额等限制绑定到项目而不绑定到用户,所以我不知道是否有可能与用户建立关系。我唯一的想法是一个简单的 bash-脚本,它遍历项目的所有实例和卷,并收集创建它的用户的每个资源的信息。

2020 年 7 月 30 日更新:

现在找到了一个更好的解决方案,它还可以获取项目的每个用户的资源使用情况。它带有新的 placement-component 和 stein-release of openstack(在 openstack 的 train-release 中测试)。

安装 openstack-client 扩展:pip install osc-placement

一个项目的资源使用:

openstack resource usage show --os-placement-api-version 1.9 <PROJECT_ID>

项目中特定用户的资源使用情况:

openstack resource usage show --os-placement-api-version 1.9 --user-id <USER_ID> <PROJECT_ID>

示例:

openstack resource usage show --os-placement-api-version 1.9 --user-id 98378bd3cdd94218bf7b6ef4ec80e74a  7733616a513444c2a106243db318b0dd
+----------------+-------+
| resource_class | usage |
+----------------+-------+
| VCPU           |     3 |
| MEMORY_MB      |   768 |
| DISK_GB        |     9 |
+----------------+-------+