Kernel-based Virtual Machine Monitoring



KVM - Overview

Kernel-based Virtual Machine (KVM) technology is built into Linux kernel. It turns the Linux kernel into a hypervisor to run multiple guest virtual machines.

Applications Manager collects performance metrics from KVM host and guest virtual machines to be monitored. It uses CLI commands to report the real-time resource usage of the host and their guest virtual machines. 

Prerequisites

  • The libvirt package should be installed on the KVM host.
  • Enable root user privileges for the KVM host.
  • Install balloon driver on Windows virtual machines for collecting its memory statistics.
  • Install qemu-agent on virtual machines to get its IP Address.

Creating a new KVM Monitor

Supported Versions: QEMU Version 2.5.0 and above.  

Prerequisites for monitoring KVM metrics: Click here

Using the REST API to add a new KVM monitor: Click here

  1. Click on the New Monitor link.
  2. Select KVM under Virtualization category.
  3. Specify the Display Name of the KVM server.
  4. Enter the Host Name or the IP Address of the host where the KVM server is running.
  5. Select the Mode of Monitoring (Telnet / SSH)
    • If Telnet, provide the port number (default is 23) along with the user name and password information of the server.
    • If SSH, provide the port number (default is 22) along with the user name and password information of the server. You have an option to enable Public Key Authentication where you have to enter the User name and Private Key information. Additionally, you can enter a Passphrase if the private key is protected by one.
  6. Enter the Port where the server is running.
  7. Select the VM Discovery option. The available options are Do not discover, Discover VM but do not monitor metrics, and Discover and Monitor VM metrics.
  8. Specify the Polling Interval in minutes.
  9. If you are adding a new monitor from an Admin Server, select a Managed Server.
  10. Choose the Monitor Group with which you want to associate the KVM server from the Select the Monitor Group combo box (optional). You can choose multiple groups to associate your monitor.
  11. Click on the Add Monitor(s) button. This discovers the KVM server from the network and starts monitoring it. 

User Permissions

We recommend to use the root account to monitor the KVM server.

Monitored Parameters

Go to the Monitors Category view by clicking the Monitors tab. Click on KVM under the Virtualization Table. Displayed is the KVM bulk configuration view distributed into three tabs:

  • Availability tab gives the availability history of the KVM server in the past 24 hours or 30 days.
  • Performance tab gives the health status and events for the past 24 hours or 30 days, some key performance indicators of the KVM server such as CPU Utilization and Memory Utilization along with heat charts for these attributes.
  • List view enables you to perform bulk admin configurations and displays all the KVM servers along with an overall idea of their availability and health status. 

KVM servers are monitored by keeping an eye on the parameters or the attributes listed below. These attributes provide information about the functioning of the monitors of the KVM server. In addition, you can configure thresholds to the numerical attributes monitored by the server based on these details.

Click on the monitor listed in the Availability tab to view detailed performance metrics of the KVM server. These metrics are categorized into five different tabs for easy understanding. Below is an explanation of the metrics shown in these tabs:

Overview

This tab provides a high-level overview of the performance and availability of the KVM server.

Parameter Description
CPU Utilization
CPU Utilization The current CPU Utilization value of the KVM server. (%)
User The time taken by the CPU to execute user commands. (%)
System The time taken by the CPU to execute kernel commands. (%)
Idle The amount of time the CPU is in idle state.(%)
I/O Wait The amount of time the CPU is waiting for I/O device. (%)
Memory Utilization
Memory Utilization The amount of memory consumed across the system. (%)
Total Physical Memory The total amount of memory allocated to the KVM server. (GB)
Used Physical Memory The amount of memory used by the KVM server. (GB)
Free Physical Memory The remaining amount of memory available for the KVM server. (GB)
Buffer Memory The amount of memory available on buffer in the KVM server. (GB)
Cache Memory The amount of memory used for cache by the KVM server. (GB)
Virtual Machine
VM Name The name of the virtual machine (VM) present in the KVM server.
Availability Denotes the availability of the VM - available or not available.
State The current status of the VM. 
Memory Utilization The memory utilization of the VM. (%)
CPU Utilization The CPU utilization of the VM. (%)
Health The health status of this VM. (Critical, Warning, and Clear)

By clicking over the VM Name, you will be redirected to the KVM virtual machine monitoring dashboard.

CPU

This tab provides details about CPU usage statistics of the cores.

Parameter Description
CPU Details
CPU The name of the CPU core.
CPU Utilization The value of CPU utilization of that core. (%)
User The time taken to execute user commands. (%)
System The time taken to execute kernel commands. (%)
Idle The amount of time the CPU is in an idle state.(%)
I/O Wait  The amount of time the CPU is waiting for I/O device. (%)

Network

This tab provides details about the network utilization of the KVM server.

Parameter Description
Network Details
Network Name The name of the virtual network.
State The current status of the virtual network. (Active or Inactive)
Autostart Determines whether the virtual network is automatically started during guest VM's boot time or not. (Yes or No)
Network Interface
Interface Name The name of the Network Interface Card (NIC).
State The status of the NIC. (Active or Inactive)
MAC Address The value of the Media Access Control (MAC) address for this NIC. 
Bytes Received The rate at which this NIC receives data. (MB/Sec)
Bytes Transmitted The rate at which this NIC transfers data. (MB/Sec)
Packets Received The number of packets received by the interface.
Packets Transmitted The number of packets transferred by the interface.

Storage

This tab provides metrics about the storage pools and volumes.

Parameter Description
Storage Pools
Pool Name The name of the storage pool.
UUID The value of Universal Unique Identifier of the storage pool.
State The current status of the storage pool. 
Capacity The total capacity of the storage pool. (GB)
Used Space The amount of space utilized in this storage pool. (GB)
Free Space The remaining amount of space available in this storage pool. (GB)
Autostart Indicates whether this pool is automatically started during boot time or not. (Yes or No)
Storage Volumes
Volume Name The name of the storage volume.
Path The absolute path where the storage volume is mounted.
Type The type of the storage volume.
Pool Name The name of the storage pool.
Capacity The total capacity of this storage volume. (GB)
Used Space The amount of space utilized in this storage volume. (GB)
Free Space The remaining amount of space available in this storage volume. (GB)

Configuration

This tab provides the configuration details of the KVM server.

Parameter

Description

Host Name The name of the hypervisor host.
Host OS The name of the operating system installed in the KVM server.
Libvirt Version The version of the Libvirt library.
Hypervisor Version The version of the hypervisor.
CPU Model Information about the overall CPU.
CPU Frequency The overall CPU capacity. (MHz)
CPU(s) The number of CPU cores.
CPU Sockets The number of CPU sockets.
Cores Per Socket The number of cores per socket.
Threads Per Core The number of threads per core.