Hypervisor monitoring
NetXMS has subagents that allow to monitor hypervisors. This subagent is build using libvirt functionality. Due to the fact that libvirt is poorly supported on Windows platforms, vmgr subagent is not provided on Windows.
When installing NetXMS from packages, vmgr subagent is provided as a separate package named netxms-agent-vmgr. If building from source, ./configure should be ran with –with-vmgr.
Configuration
Configuration is separated into two parts: vmgr section defines all monitored hosts, and each host configuration is defined in separate section for each host.
Each host configuration should contain connection URL. Login and password parameters are optional. URL creation rules for each vitalization solution type can be found in libvirt documentation.
Not all api functions are supported by all hypervisors in libvirt. See libvirt API support matrix for more information.
Configuration example
In this example two hosts are defined: localESX1 and test. localESX1 connection details are described in section vmgr:localESX1 and test connection details are described in section vmgr:test.
MasterServers = netxms.demo
SubAgent = vmgr.nsm
[vmgr]
host = localESX1
host = test
[vmgr:localESX1]
Url = esx://[email protected]/?no_verify=1
Login = root
Password = password
[vmgr:test]
Url = test:///default
Provided Metrics
Single-value Metrics
Metric |
Type |
Description |
---|---|---|
VMGR.Host.CPU.Arch(hostName) |
String |
Host CPU architecture |
VMGR.Host.CPU.MaxCount(hostName) |
Unsigned integer |
Host maximum virtual CPU count |
VMGR.Host.FreeMemory(hostName) |
Unsigned integer 64 |
Host free memory |
VMGR.Host.MemorySize(hostName) |
Unsigned integer 64 |
Host memory size |
VMGR.Host.CPU.Model(hostName) |
String |
Host CPU model name |
VMGR.Host.CPU.Frequency(hostName) |
Unsigned integer |
Host CPU frequency |
VMGR.Host.ConnectionType(hostName) |
String |
Connection type |
VMGR.Host.LibraryVersion(hostName) |
Unsigned integer 64 |
Library version |
VMGR.Host.ConnectionVersion(hostName) |
Unsigned integer 64 |
Connection version |
VMGR.VM.Memory.Used(hostName,vmName) |
Unsigned integer 64 |
Memory currently used by VM |
VMGR.VM.Memory.UsedPrec(hostName,vmName) |
Unsigned integer |
Percentage of currently memory usage by VM |
VMGR.VM.Memory.Max(hostName,vmName) |
Unsigned integer 64 |
Maximum VM available memory |
VMGR.VM.CPU.Time(hostName,vmName) |
Unsigned integer 64 |
Maximum VM CPU time |
Tables
Metric |
Description |
---|---|
VMGR.VM(hostName) |
Connection VM table |
VMGR.InterfaceList(hostName) |
Connection interface list |
VMGR.VMDisks(hostName,vmName) |
VM Disks |
VMGR.VMController(hostName,vmName) |
VM Controllers |
VMGR.VMInterface(hostName,vmName) |
VM Interfaces |
VMGR.VMVideo(hostName,vmName) |
VM Video adapter settings |
VMGR.Networks(hostName) |
Networks table |
VMGR.Storages(hostName) |
Storages table |
Lists
Metric |
Description |
---|---|
VMGR.VMHost |
List of hosts |
VMGR.VMList(hostName) |
List of VM for the host |