NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix API v2 で Host stats を取得してみる。(Python)

Nutanix API v2 で、AHV ホストのメトリクスを取得してみました。
今回の Nutanix CE は ce-2017.07.20-stable です。

3ノードの Nutanix クラスタだと下記のような感じになります。

[root@jbox01 ~]# python -V
Python 2.7.5
[root@jbox01 ~]# python ntnx-host-stats.py ./prism-config.json ./metrics.txt
NTNX-b6da22c5-A,        2017-10-07 23:58:22,    hypervisor_memory_usage_ppm,    885471
NTNX-b6da22c5-A,        2017-10-07 23:58:22,    hypervisor_cpu_usage_ppm,       539944
NTNX-2a0a73b3-A,        2017-10-07 23:58:32,    hypervisor_memory_usage_ppm,    915052
NTNX-2a0a73b3-A,        2017-10-07 23:58:32,    hypervisor_cpu_usage_ppm,       665190
NTNX-5604ed33-A,        2017-10-07 23:58:19,    hypervisor_memory_usage_ppm,    914205
NTNX-5604ed33-A,        2017-10-07 23:58:19,    hypervisor_cpu_usage_ppm,       308778

下記のような Python スクリプトを作成してみました。メトリクスごとに複数の時点の値を取得することもできますが、今回は直近の値のみ取得しています。

Prism へのログイン情報は、下記のように JSON 形式の別ファイルを作成しました。

取得するメトリクスを記載したテキストファイルを用意しておきます。

[root@jbox01 ~]# cat metrics.txt
hypervisor_memory_usage_ppm
hypervisor_cpu_usage_ppm

取得できるメトリクスについては、下記の「Table 2. Host Metrics」のあたりに記載があります。

http://developer.nutanix.com/reference/prism_element/v2/#Metrics

使用率っぽいメトリクスの単位は「Percentage (%)」と説明されていますが、メトリクスの名前が「_ppm」とあるので、おそらく parts per million だと思われます。「値 / 10000」みたいな感じで % で読み替えることになりそうです。

以上。