[英]How can I get VM instance running time in openstack via python API?
停止后,我需要一份小的账单报告以了解openstack中VM的使用情况,到目前为止,我已经找到了从实例名称获取风味信息(vCPU,磁盘,内存)的方法。
我想知道虚拟机的启动时间,现在就可以计算出来。
有什么好的方法可以从openstack python API获取它吗?
如果您也可以粘贴代码,那就太好了。
(我从china-openstack社区获得了答案,并在这里分享)
在novaclient用法模块中 ,所有实例(活动或已终止)都可以通过list
API来获取,详细信息是通过get
API来get
,尚不清楚通过此python文档公开哪些信息。
幸运的是, openstack api:os-simple-tenant-usage告诉数据结构, uptime
是我想要的。
"tenant_usage": {
"server_usages": [
{
... (skipped)
"uptime": 3600,
"vcpus": 1
}
],
openstack仪表板(至少为Folsom版本)也使用此API。
我只是想找回服务器的正常运行时间。 我指的是服务器启动后的实际正常运行时间,而不是自服务器创建以来。
要求os-simple-tenant-usage扩展(获取身份验证令牌后): 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
}
}
因此,尽管它具有正常运行时间的功能,但这只是服务器创建以来的时间 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.