Prometheus は最近 Docker / Kubernetes 関連でよく目にしますが、さまざまな exporter があるため Docker に限らず使えます。サーバーのメトリクスを収集するにはオフィシャル exporter である node_exporter が使えます。これを Grafana で可視化するには「Node Exporter Fullby idealista」がなかなか良いです。
Grafana の Dashboard は「Grafana Dashboards - discover and share dashboards for Grafana. | Grafana Labs」で公開されているものから検索できます。これを自分の環境に合わせて書き換えてみることから始めるのが入りやすいです。
node_exporter ではブロックデバイスごと、ネットワークデバイスごとの IO の情報が取得できるため、KVM ゲスト単位の情報もデバイス名からたどればわかるのですがかなり面倒です。
そこで、3rd party 製ですが libvirt_exporter を使うことでドメイン(ゲスト)名でそれぞれのメトリクスを取得、表示することができます。(バイナリは配布されていないので go での build が必要です)
負荷が上がってるのはどのゲストの影響かな?ていうのがわかりやすくなります。
この Dashboard は kvm-host-dashboard.json で試せます。