virt-topコマンドでKVMの仮想マシンの内部CPU使用率をJson形式で出力する

スポンサード リンク

virt-topコマンドは仮想マシンに対するtopコマンドを提供する。

インストール

sudo apt install virt-top
sudo apt install libguestfs-tools
sudo virt-df
sudo virt-top

csvからjsonに変換し,加工するためにパッケージをインストールする。

sudo pip install csvkit
sudo apt install jq

virt-系コマンドはcsv形式の出力に対応している事が多い。 これを扱いやすいようにjson形式に変換する。

$ virt-top -n 2 --script --csv /dev/stdout | csvjson | jq '.[1]'
{
  "Hostname": "xenial",
  "Time": "01:12:04",
  "Arch": "x86_64",
  "Physical CPUs": "4",
  "Count": "2",
  "Running": "1",
  "Blocked": "0",
  "Paused": "0",
  "Shutdown": "0",
  "Shutoff": "0",
  "Crashed": "0",
  "Active": "1",
  "Inactive": "1",
  "%CPU": "0.579699165877",
  "Total hardware memory (KB)": "8448556",
  "Total memory (KB)": "2097152",
  "Total guest memory (KB)": "2097152",
  "Total CPU time (ns)": "70000000",
  "Domain ID": "10",
  "Domain name": "puppy",
  "CPU (ns)": "70000000.",
  "Mem (bytes)": "2097152",
  "%Mem": "24",
  "Block RDRQ": "0",
  "Block WRRQ": "0",
  "Net RXBY": "",
  "Net TXBY": ""
}

参考のために,その他のvirt-系で便利そうなコマンドを列挙する。

  • virt-cat : 仮想マシン内部のファイルを表示
  • virt-copy-in : 仮想マシンへファイルを書き込む
  • virt-copy-out : 仮想マシンからファイルを取り出す
  • virt-df : 仮想マシン内部のdfコマンド
  • virt-diff : 仮想マシン間のファイルのdiffを取る
  • virt-edit : 仮想マシンのファイルを編集する
  • virt-filesystems : 仮想マシンのファイルシステムを表示
  • virt-log : 仮想マシンのログファイルを表示
  • virt-ls : 仮想マシンのログファイルを表示
  • virt-inspector : ディスクの内容からOS等の情報を取得する

Comments !

social