With the release of Opsview 4.3 we've taken Autodiscovery to the next level. Agentless Windows detection (via WMI) is now supported out-of-the-box as is the discovery of VMware guests and hosts - the focus of this blog.
Early in the design, we realized that VMware detection was not the same as detecting SNMP, Opsview agents or WMI. These technologies tend to be deployed on many machines whereas the number of VMware hosts is usually limited and each host is likely to have a different set of credentials to authenticate to it.
So we renamed the existing scan button to 'Network Scan' and introduced a new 'VMware Scan' button.
Enhanced Autodiscovery UI with 'Network Scan' and 'VMware Scan' buttons
Network Scan can detect the presence of a VMware host without any authentication. Once a VMware host is added into Opsview, Autodiscovery can then proceed to detect the guests running on that VMware host.
But we had a challenge. To get to the next phase of communicating with the VMware API, we needed credential information at the time of importing the VMware host into Opsview. How could we show the user that they needed to provide the necessary credential information? Fortunately Opsview's Autodiscovery supports dynamic grids. This enabled us to make a highlight each time a VMware host is detected, prompt the users to add more information and add the necessary fields to update.
Vmware Host is highlighted. Click here to enter credentials.
Now, when the host is imported into Opsview, we can validate the username and password are correct and gather other information (e.g. datastores on the VMware host) so that our new VMware vSphere Opspacks can start monitoring this information.
With the new VMware host in Opsview, we can then click the new 'VMware Scan' button. This type of scan removes the Network Addresses field and displays a list of VMware hosts in Opsview.
If one or more hosts is selected, Autodiscovery will use the VMware API to discover all the IP addresses of the guests and run a scan against that. Be aware that in order to get this list of IP addresses, the guests must be running VMware Tools.
Since Opsview knows this is a VMware guest on a particular VMware host, we can automatically set up the appropriate parent/child relationship. This means that, once you've imported your guests into Opsview and reloaded, Dashboard can now display your VMware hosts in the Network Map dashlet!
Note: We use VMware's perl SDK to communicate with the VMware host. There are some manual steps that are required to install this dependency, but this is a one time installation. Don't forget to install it on your slave systems to get distributed autodiscovery!