Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree


63 votes
Current Version
Last Release Date
FileDescription Version 1.64 Version 1.65 Version 1.66
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Check hardware health of HP Proliant Servers by querying the iLO2/3/4/5 Management Controller.
Check hardware health of HP Proliant Servers by querying the
iLO2/3/4/5 Management Controller. No need for snmp or installation of
Checks if all sensors are ok, returns warning on high temperatures and fan failures and critical on overall health failure.
A PERL plugin using Nagios::Plugin, IO::Socket::SSL and XML::Simple.

The plugin makes use of the HP Lights-Out XML scripting interface.
HP provides some PERL scripting samples:

Please note that the plugin shows only temperature sensors by default. Faulty hardware components are only listed if iLO returns error state.

Additional options:
-e: plugin ignores "syntax error" messages in the XML output. This may help for older firmwares.
-n: output without temperature listing.
-d: add PerfParse compatible temperature output.
-v: print out the full XML output from the BMC.
-3: support for iLO3|4
-a: check fan redundancy (only some models)
-c: check drive bays (only some models)
-o: check power redundancy (only some models)
-b: temperature output with location
-l: parse iLO eventlog
-b: show temperature with location
-x: ignore battery missing
-i: ignore NIC Link Down status (iLO4).
-g: display additional infos like firmware version and servername (may need increased timeout!)
-f: read input from file instead from iLO, possible to feed -v output to it
--sslopts: Defaults to 'SSL_verify_mode => SSL_VERIFY_NONE'. Use 'SSL_verify_mode => SSL_VERIFY_NONE, SSL_version => "TLSv1"' to avoid TLS Downgrade bug.


First test if you can reach the management controller with a web
browser. The plugin only works if the https interface is reachable.

Install the PERL modules Nagios::Plugin, IO::Socket::SSL and
XML::Simple. Copy the plugin to your nagios plugin directory and make sure that the nagios user can execute it.

Put this in your nagios config:

define command {

command_name check_ilo2_health
command_line $USER1$/ -u $USER10$ -p $USER11$ -H $HOSTADDRESS$


Assuming that $USER1$ contains the path to the plugin, $USER10$ the
username and $USER11$ the password for the management controller.

Set up the appropriate services.

Hint: All management controllers have their own host definition in my nagios setup. So every Proliant Server with host_name foo has a management controller with host_name foo-ilo2.

1. Dump iLO output with -v by redirecting to a file.
2. Edit the file and change some elements with to another condition.
3. Read the file with -f.

Bug reports:
Please send an email and attach the -v output. You may want to remove addresses and serial numbers from the file.
Reviews (48)
Works great with HP's ILO version 2. Anyone know how to make it work with ILO version 3 firmware?
This plugin is great.
Anyway I have question after read the code. There is commented warning "do not override previous return value from overall health", what's the effect if I try to override the value? I want to override ambient temperature warning and critical values to lower value, since one day I found that the air conditioner in my server room didn't work and the temperature hit about 30 C (some reference said ideally it should be about 20). Is it OK to ask question here?
thanks In advance
bysteffan, December 2, 2011
Works great..

i had a little trouble getting all the packages to work that this script needs, but finally got them all and now it runs perfect :)

Tho i have some idears that would make this plugin alot better:

1. to support iLO1 (we have a couple of old servere, with iLO-1 cards.)

2. if you have a server with a lot of temperature sensors, the output list from this plugin is HUGE and confusing (i have a server with 25 temperature sensors!) and this plugin just outputs them all as "temp_" would be great with the names description/name there too.

3. we use the "service description" in nagios a lot, and the description from this plugin is confusing and shows a lot more info than needed.
a great feature would be to have the plugin monitor only 1 thing, for example the temperatures only. or the HDD's only. that way i would create a server check for each to make out nagios installation clean and easy to understand.

4. maybe an option to choose a specific temperature sensors to check? (e.g "temp_15")

5. a option to only veiw the RAID/disk status.

i think all the above is possible the way this plugin is already checking the health of the server, since all that output is in the XML, but some of it gets ignored.
But that was just my thoughts on what could make this plugin better :)

else this is an awesome plugin, and thanks alot for sharing it!!
byMarininMV, September 21, 2011
Good plugin! Had to patch it to make it work with iLO2 on HL DL360 G6 (iLO2 drive status issue)
bydermaniac, April 12, 2011
Really nice! Also works with ilo3!
For me I had to define /usr/lib/perl before the command line in the commands.cfg
byricharddekker1981, November 23, 2010
What is the reason that he return Null??
bymorten, February 15, 2010

just tested this plugin against HP BladeCenter iLO, and it works very well. Running nagios 3.0.x on Debian 5.0.x. Had to install some of the perl modules using cpan, but the rest were avaiable in Debian's apt tree.
byplagat0x, August 27, 2009
I used this plugin to check the status on a farm of HP Servers. It worked very well. Too bad the old iLO vers 1 doesnt provide the hardware info. I installed it on a Debian Lenny Nagios Server using the info provided by the author. My special Thanks to the author of this script.
Page 3 of 3