I have two hosts running the free ESXi hypervisor. However, we use Nagios for monitoring, and I've received conflicting information about how we should monitor these systems. Are my findings below accurate?
- ESXi with free license does not support SNMP monitoring via Nagios. True?
- vSphere supports SNMP monitoring via Nagios. True?
- Upgrade to vSphere simply requires a license change in the host. Really?
I was under the impression that ESXi does not include the RHEL environment that would allow us to install the Nagios plugins, so it seems weird that a simple license change would suddenly give us root access, and allow us to monitor it. My co-worker said he was recently forced to rebuild a vSphere host from scratch instead of upgrading ESXi, so I'd like to know if that is a requirement or not.
Also, if you monitor your VMware hosts with Nagios, please let me know if you have a better way of doing it.
I'm a VMware neophyte and I've never been able to understand the naming convention they use in relation to which "version" is which but I will tell you that I recently implemented VMware vSphere Hypervisor, which I believe is the new name for ESXi. It does not support SNMP without a purchased license. If you purchase one of the Essentials Kits you can enable SNMP, which is what I did just 2 weeks ago. Once we recieved our Essentials Kit license, I installed vCenter, added the license, added my hosts, and that was it. I then enabled and configured SNMP and I'm now able to manage the server hardware via DOMSA (Dell OpenManage Server Administrator) and recieve SNMP traps from the hosts via DITA (Dell IT Assistant).
I can't help you with RHEL but I can tell you that you can and need to license the hosts in order to enable SNMP on those hosts.
http://www.vmware.com/products/vsphere/small-business/buy.html
http://www.vmware.com/products/vsphere/buy/small_business_editions_comparison.html
Skipping your questions - these are answered more or less above.
For monitoring our (free) VMware ESXi 4.x hosts and their VM's, we use the excellent check_vmware3.pl plugin.
You will need the VMware Infrastructure (VI) Perl Toolkit for this to be installed on your Nagios-host. We use the vShpere CLI on top of this.
EDIT: And as of today (May 3rd 2011) a new version of check_esxi_hardware.py "to monitor the hardware of mainly ESXi servers" was released.
A couple things to clarify:
ESX has the RHEL environment, ESXi is a much more slimmed down environment. The free licensing is only available on ESXi, not free on ESX - but beyond that, all of the licensing for the editions is identical (licensing for, say, Enterprise edition will work on either ESXi or ESX). The "root access" you're talking about is console access to the RHEL environment, which is not present in ESXi, no matter what license level you use.
Further, ESX is gone and forgotten as of vSphere 5 (4.1 is its last major version); start moving off of it now.
The full battery of performance information (per-host and per-VM) tracked by VMware isn't exposed via SNMP. The web service APIs are the correct way to get at it; I think the native SNMP implementation just does some limited traps for alerting purposes.
To clarify the question about whether all it takes to upgrade from the free ESXi to the licensed ESXi is a licenses file: Yes. All you need to do is to add a license file to ESXi, no reinstall or anything like that is required.
What you cannot do is "upgrade" from ESX (let's say 4.0) to ESXi 4.1, a change in hypervisor requires a "rebuild" as you'd put it.
Edited
Gaining access to the RHEL based hypervisor is pretty straight forward. You can only enable it via the console (alt-f1 for virtual console 1). (I'm going by memory here) hen you enable the service "chkconfig sshd on" followed by starting it "service sshd on". Many of the Google searches showed people editing the /etc/inetd.conf file but I don't recall doing that. Also many of the guides tell you to reboot the server at this point. You may also want to enable the firewall to allow ssh to pass. To do so go to the vSphere client, Configuration -> Security Profile -> Properties (Upper right). Then click on SSH to enable a hole in the firewall.
A quick Google search makes it look like the process for enabling SMTP is similar, however it looks like you cannot use SNMP to get items, only trapper based items.
From there you can enable sudo privileges for the users you have configured through the vSphere Client. I have one script that uses SSH keys to log into the server, then runs the 3ware controller utility with sudo without a password to check the status of my RAID array.