Skip to main content

VMware vCenter

Overview​

VMware is an software company based in the USA. VMware provides cloud computing and virtualization software and services.

The Centreon Plugin and Plugin-Packs rely on the Centreon VMWare Connector to request the vCenter SDK.

Plugin-Pack Assets​

Monitored Objects​

  • Clusters
  • Datastores
  • Licenses
  • VMs

Discovery Rules​

Rule nameDescription
Virt-VMWare2-Datacenters-Alarm-NameDiscover the Datacenters and monitor the alarms
Virt-VMWare2-vCenter-Clusters-Status-NameDiscover the Clusters and monitor the status
Virt-VMWare2-vCenter-Datastores-Io-NameDiscover Datastores and monitor the I/O
Virt-VMWare2-vCenter-Datastores-Iops-NameDiscover Datastores and monitor the IOPs
Virt-VMWare2-vCenter-Datastores-Usage-NameDiscover Datastores and monitor the usage
Virt-VMWare2-vCenter-Datastores-Vm-Count-NameDiscover Datastores and monitor the number of running VMs

Collected Metrics​

Metric nameDescriptionUnit
StatusStatus of the Datacenter
datacenter.alarms.warning.current.countNumber of Total warning alarmsCount
datacenter.alarms.critical.current.countNumber of Total critical alarmsCount
dcname#datacenter.alarms.warning.current.countNumber of warning alarms per DatacenterCount
dcname#datacenter.alarms.critical.current.countNumber of critical alarms per DatacenterCount

Prerequisites​

Centreon VMWare Connector​

For the VMWare monitoring, Centreon use daemon to connect and request the vCenter.

Install this daemon on each needed poller:

yum install centreon-plugin-Virtualization-VMWare-daemon

To configure the access to your infrastructure, edit the "/etc/centreon/centreon_vmware.pm" configuration file:

%centreon_vmware_config = (
vsphere_server => {
default => {
url => 'https://<ip_hostname>/sdk',
username => '<username>',
password => '<password>'
}
}
);

1;

Make sure to replace variables with needed information:

  • ip_hostname: IP address or hostname of the vCenter or ESX (if standalone),
  • username: username with at least "read only" access to the vCenter or ESX (you can use domain user),
  • password: password of the username.

You can configure multiple vCenter or ESXi connections using this structure:

%centreon_vmware_config = (
vsphere_server => {
'my_first_vcenter' => {
url => 'https://<ip_hostname>/sdk',
username => '<username>',
password => '<password>'
},
'my_other_vcenter' => {
url => 'https://<ip_hostname>/sdk',
username => '<DOMAIN>\<username>',
password => '<password>'
},
},
port => 5700
);

1;

Each entry is called a container.

You can also define the "port" attribute to change listening port.

Then start the daemon and make sure it is configured to start at server boot:

systemctl start centreon_vmware
systemctl enable centreon_vmware

Make sure that the daemon configuration works fine by looking for errors in "/var/log/centreon/centreon_vmware.log".

Network flows​

The Poller with the Centreon VMware Connector installed need to access in TCP/443 HTTPS to the vCenter.

The Pollers that request the Centreon VMWare Connector host need to access in TCP/5700 to the Centreon VMWare Connector host.

Installation​

  1. Install the VMWare Connector Centreon Plugin on every poller expected to monitor VMWare infrastructures:
yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
  1. Install the 'Vmware vCenter' Centreon Plugin-Pack on the "Configuration > Plugin packs > Manager" page

Configuration​

  • Log into Centreon and add a new Host through "Configuration > Hosts".
  • Apply the relevant Host Template "Virt-VMWare2-VCenter-custom", and configure the mandatory Macros:
MandatoryNameDescription
XCENTREONVMWARECONTAINERName of your container in the file centreon_vmware.pm
XCENTREONVMWAREHOSTThe Centreon server that launches the connection
XCENTREONVMWAREPORTBy default: 5700
CENTREONVMWAREEXTRAOPTIONSCustomize it with your own if needed

FAQ​

How do I run my plugin through the CLI and what do the main parameters stand for ?​

Once you've installed the plugin, you can test it logging with centreon-engine user:

/usr/lib/centreon/plugins//centreon_vmware_connector_client.pl \
--plugin=apps::vmware::connector::plugin \
--mode=snapshot-vm \
--custommode=connector \
--connector-hostname='localhost' \
--connector-port='5700' \
--container='vcenter01' \
--vm-hostname='.*' \
--filter \
--filter-uuid='' \
--warning='259200' \
--critical='432000' \
--disconnect-status='ok' \
--nopoweredon-skip \
--check-consolidation \
--verbose

Expected command output is shown below:

CRITICAL: Snapshots for VM older than 432000 seconds: [TLS-LIN-001] | 'num_warning'=0;;;0; 'num_critical'=1;;;0;
'TLS-LIN-001' snapshot create time: 2020-07-20T12:19:16.246902Z [only base os image]

This command above checks the virtual machine snapshots (--plugin=apps::vmware::connector::plugin --mode=snapshot-vm). It connects to the VMWare daemon on localhost (--connector-hostname='localhost') on the port 5700 (--connector-port='5700'). Then the command requests the container vcenter01 (--container='vcenter01').

It will trigger a WARNING alarm if the age of the snapshot is older than 3 days / 259200s (--warning='259200') and a CRITICAL alarm if the snapshot is older than 5 days / 432000s (--critical='432000').

All available modes with the plugin can be displayed with:

/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
--plugin=apps::vmware::connector::plugin \
--list-mode

The available options for a mode can be displayed using the --help parameter:

/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
--plugin=apps::vmware::connector::plugin \
--mode=snapshot-vm \
--help

Why do I get the following error:​

UNKNOWN: Unknown container name 'default' |​

This error message means that the container invoked in the command doesn't exist in your VMWare connector configuration. Check your macro CENTREONVMWARECONTAINER on your host or check the file /etc/centreon/centreon_vmware.pm

UNKNOWN: Cannot get response (timeout received)​

This error message means that the Plugin didn't get a response off the VMWare Daemon. Check your connection parameters and the macros CENTREONVMWAREHOST and CENTREONVMWAREPORT.

UNKNOWN: Container connection problem |​

This error message means that you have a issue with the credentials provided for your Container. Check your credentials in /etc/centreon/centreon_vmware.pm. You can also take a look into the log for more information: /var/log/centreon/centreon_vmware.log