[英]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.