Skip to main content

Zenoss: monitor free VMWare ESXi version

We confirmed that the free ESXi version does not allow SNMP gets, only traps.

The original script was taken from here:
http://communities.vmware.com/docs/DOC-7170

Modified script:
http://mirakulo.com/pub/esxi/check_esx_wbmem.py

We added Fan and power supply, hinted from this page:
http://www.stephenjc.com/2009/01/whatsup-vmware-esxi-monitor-these.html

Use this guide to add the Data source:
http://www.zenoss.com/community/docs/howtos/create-modify-nagios-templates

Added as template under:
/Devices /Server /VMWare /ESXi /Templates /esxi-monitor /check_esx_wbmem

Name: check_esx_wbmem
Source Type: Command
Enable true
Use SSH false
Component: blank
Event class: /VMWare/ESXi
Severity: Error
Cycle time: 60
Parser: auto
Command template:
/usr/local/zenoss/python/bin/python /opt/zenoss/libexec/check_esx_wbmem.py https://${dev/manageIp}:5989 root passwd

To bind this template to ESXi nodes, go to the device:
Example: /Devices /Server /VMWare /ESXi /esxi-01.prod.corp.org

then to its templates:
http://site/zport/dmd/Devices/Server/VMWare/ESXi/devices/esxi-01.prod.corp.org/objTemplates

Menu > Bind templates > Select both the default plus newly created esxi-monitor perf template.

Go back to ESXi suborg, ie:
/Devices /Server /VMWare /ESXi

Access zProperties:
http://site/zport/dmd/Devices/Server/VMWare/ESXi/zPropertyEdit

Change zCommandCommandTimeout from 15 to 30.

zencommand restart.

Comments

RickertB said…
Sounds great!

I'm just new on the subject of ESX(i) and snmp..

Is there MIB also for zenoss, to show the entries for esxi in a nice way?

The most important thing is can see if a hd crashed or any other hardware component fails...
Jeeva said…
Will this work for ESX ?
Anonymous said…
Most probably yes for ESX.
Nicolas Solop said…
Hi, just followed your post and it seems to be running fine but I have the following question:
When I test the check I only get a message with an "OK" as a result. is this correct? is there any way to show details on the zenoss's dashboard?
Thanks!
Nicolas Solop
Unknown said…
RickertB,

ESXi only supports snmp traps and not snmp get requests like ESX. So you might be able to trap info regarding major things.

Jeeva,

Yea this should work under ESX but it is a lot easier under ESX since you can install net-snmp and do it using snmp and making setup much easier.

Thanks
Robert
Anonymous said…
Hi,

great! But how can i mount the file in my runnin zenoss? Sorry but i am a noob in zenoss. :)

Popular posts from this blog

Resetting admin password in IBM System p5 510 Express ASMI

These are the steps in resetting the admin password: 0. Re-route stored static in your body via an ESD wrist strap to a metallic element. 1. Look for the 2 toggle switches and service processor batt. The batt should be in front of the Power Supply 1 and Power Supply 2 (codes: E1 and E2, see Rear Location Codes on the cover plate). The "very tiny" toggle switches should be in the area of P1-C14 slot. I forgot the exact sequence but it should be a combination of the ff. step (2): 2. Remove the battery, toggle the switches to the opposite direction. Allows some time for the caps to discharge. 3. Move back the toggle switches and put back the batt in its place. 4. Assign your PC to Class C subnet (i.e. masked 255.255.255.0 ): IPaddr: 192.168.2.x for HMC1 or IPaddr: 192.168.3.x for HMC2 5. Ping HMC1 or HMC2. Access the web interface using the default address: http://192.168.2.147 (for HMC1) or http://192.168.3.147 (for HMC2) Note: Sometimes you have to force the https protocol:

ld: unrecognized option '--hash-style=both'

gcc -Wl,-Map=contiki.map,-export-dynamic testv6.co obj_linux-native/socketdev_listener.o \ contiki-linux-native.a -o testv6.linux-native /usr/local/bin/ld: unrecognized option '--hash-style=both' /usr/local/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status If you look closely, the error is something related to the local gcc not using the host's linker (ld). $ which gcc /usr/bin/gcc $ which ld /usr/local/bin/ld For some reason, I messed my compiler path. To synchronized gcc to use the host's dynamic linker (i.e. /usr/bin/ld ), set the environment variable COMPILER_PATH to /usr/bin . $ export COMPILER_PATH=/usr/bin $ echo $COMPILER_PATH /usr/bin $ gcc -print-prog-name=ld /usr/bin/ld