VCDセルの5480ポートへアクセスし、セル情報などを取得できるAPI
参考:https://developer.vmware.com/apis/1633/
例1)サービス状態取得
curl -k --header "Accept: application/json" -u 'root:VMware1!' request GET https://172.16.20.20:5480/api/1.0.0/services ※レスポンス [ { "serviceName": "vmware-vcd", "status": "running" }, { "serviceName": "vpostgres", "status": "running" }, { "serviceName": "repmgrd", "status": "dead (normal when appliance is in manual failover mode)" }, { "serviceName": "appliance-sync.timer", "status": "waiting" } ]
例2)ストレージ情報取得
curl -k --header "Accept: application/json" -u 'root:VMware1!' request GET https://172.16.20.20:5480/api/1.0.0/storage ※レスポンス { "nfs": { "availableMB": 48814, "filesystem": "172.16.20.1:/newnfs", "mountedOn": "/opt/vmware/vcloud-director/data/transfer", "percentUsed": 53, "status": "available", "usedMB": 53583, "volumeSizeMB": 102397 }, "postgres": { "availableMB": 108094, "filesystem": "/dev/mapper/database_vg-vpostgres", "mountedOn": "/var/vmware/vpostgres", "percentUsed": 14, "status": "available", "usedMB": 16220, "volumeSizeMB": 130456 }, "root": { "availableMB": 52587, "filesystem": "/dev/sda3", "mountedOn": "/", "percentUsed": 5, "status": "available", "usedMB": 2657, "volumeSizeMB": 57884 } }
例3)NFSストレージ情報のみに絞って取得
curl -k --header "Accept: application/json" -u 'root:VMware1!' request GET https://172.16.20.20:5480/api/1.0.0/storage/nfs ※レスポンス { "availableMB": 48814, "filesystem": "172.16.20.1:/newnfs", "mountedOn": "/opt/vmware/vcloud-director/data/transfer", "percentUsed": 53, "status": "available", "usedMB": 53583, "volumeSizeMB": 102397 }
例4)ノード情報取得
curl -k --header "Accept: application/json" -u 'root:VMware1!' request GET https://172.16.20.20:5480/api/1.0.0/nodes ※レスポンス { "localClusterFailover": "MANUAL", "localClusterHealth": "HEALTHY", "localClusterState": [ { "connectionString": "host=172.16.20.21 user=repmgr dbname=repmgr connect_timeout=2", "failover": { "details": "failover = manual", "mode": "MANUAL", "repmgrd": { "details": "On node 26547 (20-vcd-01): repmgrd = not applicable", "status": "NOT APPLICABLE" } }, "id": 26547, "location": "default", "name": "20-vcd-01", "nodeHealth": "HEALTHY", "nodeRole": "PRIMARY", "role": "primary", "status": "* running", "upstream": "" } ], "warnings": [] }
例5)プライマリーノードか確認
curl -k --header "Accept: application/json" -u 'root:VMware1!' request GET https://172.16.20.20:5480/api/1.0.0/isPrimary ※レスポンス { "isPrimary": true }