概要
- xe コマンドを利用して XenServer 上の各 VM の CPU 使用率やメモリの空き容量等を取得する
CPU
割り当てられた CPU の使用率を取得
割当られた各々の CPU 使用率は vm-param-get
の param-name=VCPUs-utilisation
を指定することで取得することが出来る
xe vm-param-get uuid=${VMのUUID} param-name=VCPUs-utilisation
以下のような結果となる。
0: 0.001; 1: 0.000
頭の 0
から 1
は割り当てた CPU の番号となる。1.000
が 100% となる。 この例だと 2 個の CPU が割り当てられている状態。
メモリ
メモリの割当は残念ながら vm-param-get
で確認することは出来ないので vm-data-source-query
を利用する。
メモリ割り当てサイズを取得(Byte)
xe vm-data-source-query data-source=memory uuid=${VMのUUID}
以下のような結果となる。
8589934592.000000
上記で 8GB の割り当てとなる。
メモリの空き容量を取得(KB)
xe vm-data-source-query data-source=memory_internal_free uuid=${VMのUUID}
以下のような結果となる。
7838576.000000
上記で 7.8GB の空き容量となるので、使用量を導き出すには割り当て量から空き容量を引き算する必要がある。
応用
- コマンド一発でリモートから取得出来ないか?
- knife xenserver または knife xapi で取得出来ないか?
いずれも出来そうなのでそのうち頑張ってみる。