我需要一份关于 openstack 中的虚拟机在停止后的使用情况的小型计费报告,到目前为止,我已经找到了从实例名称获取风味信息(vCPU、磁盘、内存)的方法。
我想知道现在要计算的虚拟机的启动时间。
有什么好方法可以从 openstack python API 中获取它吗?
如果您也可以粘贴代码,那就太好了。
我需要一份关于 openstack 中的虚拟机在停止后的使用情况的小型计费报告,到目前为止,我已经找到了从实例名称获取风味信息(vCPU、磁盘、内存)的方法。
我想知道现在要计算的虚拟机的启动时间。
有什么好方法可以从 openstack python API 中获取它吗?
如果您也可以粘贴代码,那就太好了。
我只是想检索服务器的正常运行时间。我的意思是服务器启动时的实际正常运行时间,而不是自创建以来的正常运行时间。
对os-simple-tenant-usage扩展的请求(在获得 auth.token 之后):(
GET http://rdo:8774/v2/4e1900cf21924a098709c23480e157c0/os-simple-tenant-usage/4e1900cf21924a098709c23480e157c0
使用正确的租户 ID)
响应(注意机器停止并且正常运行时间是一个非零值):
{
"tenant_usage": {
"total_memory_mb_usage": 0.000007111111111111112,
"total_vcpus_usage": 1.388888888888889e-8,
"start": "2014-02-25T14:20:19.660179",
"tenant_id": "4e1900cf21924a098709c23480e157c0",
"stop": "2014-02-25T14:20:19.660184",
"server_usages": [
{
"instance_id": "ca4465a8-38ca-40de-b138-82efcc88c7cf",
"uptime": 1199,
"started_at": "2014-02-25T14:00:20.000000",
"ended_at": null,
"memory_mb": 512,
"tenant_id": "4e1900cf21924a098709c23480e157c0",
"state": "stopped",
"hours": 1.388888888888889e-8,
"vcpus": 1,
"flavor": "m1.tiny",
"local_gb": 1,
"name": "m1"
}
],
"total_hours": 1.388888888888889e-8,
"total_local_gb_usage": 1.388888888888889e-8
}
}
因此,尽管它的名称为uptime,但它只是服务器创建以来的时间。
(我从china-openstack社区得到了答案,在这里分享)
在novaclient 使用模块中,所有实例(活动的或终止的)都可以通过list
API 获取,详细信息通过get
API 获取,不清楚通过这个 python 文档公开了哪些信息。
幸运的是,openstack api : os-simple-tenant-usage告诉了数据结构,这uptime
就是我想要的。
"tenant_usage": {
"server_usages": [
{
... (skipped)
"uptime": 3600,
"vcpus": 1
}
],
openstack 仪表板(至少 Folsom 版本)也使用此 API。