Original article by http://janssenlima.blogspot.it/ in Portuguese
Today I’ll talk about a very important type of monitoring that is rarely discussed (perhaps because not so many people are privileged to work with hardware that supports this technology: IPMI).
The Intelligent Platform Management Interface (IPMI) is a standard used to manage a computer system and monitor its operation. Its development was led by Intel and is today supported by more than 200 hardware manufacturers.
Its operation is independent of an operating system, which allows administrators to remotely manage the hardware resources even before any OS starts. For example, we can monitor through IPMI system temperatures, voltages, fans (FAN), power supplies, chassis intrusion, etc..
For the ones that wants to go deeper in IPMI specifics, I suggest reading the website of Intel . I think the most interested in this are the Data Center Managers and System Administrators of sites that must be highly available. An IPMI interface collects information using sensors that are responsible for providing this information in real-time.
A hardware that has IPMI provides a web frontend for remote management. Examples are: IMM by IBM, iLO by HP, DRAC by Dell, You can do a search on Google Images to view the web frontend of these objects.
To demonstrate the basic operation of gathering information for an IPMI interface, I used an IBM System x3550 M3, which has a monitoring web frontend called IMM (Integrated Management Module). This server has an ethernet card for remote management in which we can see the IPMI information gathered by the sensors and this information can be displayed on the panel of the server or remotely on the web interface.
In GNU/Linux, there is a package available called ipmitool. This package is available in the CentOS repositories. For other distributions, just do a search with the parameter ‘ipmi’. Use YUM to install the package as it is necessary to make query to sensors on a host that has IPMI.
# yum install ipmitool -y
Now, we will test the target, sending a query to the server via the IPMI protocol, we will ask to see which sensors are available for monitoring.
# ipmitool -H <ip_interface_ipmi> -U <username> -P <password> sdr</password></username></ip_interface_ipmi>
As a result, we have in the standard output of our terminal the following data:
These are just some of the collected data, since the list is huge and there is no need to display them here. Another command that could be run is:
# ipmitool -H <ip_interface_ipmi> -U <username> -P <password> sensor</password></username></ip_interface_ipmi>
The above command would show a little more detail, such as non-critical level, the critical level and fatal. For example, the actual temperature is 22° C. The non-critical level could be 38º C, 41° C the critical and 45° C for the fatal threshold. These levels are ideal for a monitoring/alerting system for administrators. There are other ways of running the ipmitool command to display information from sensors of the IPMI interface. Its range of options is extensive and it is possible to obtain more detailed information. This can be verified by consulting the manual with the command.
# man ipmitool
It is worth noting that the purpose of this post was to demonstrate how to query the sensors available for those wishing to monitor some of the sensors with IPMI. One way would be using scripting (shell, perl, etc.) or through systems like ZABBIX, in my next post I’ll show how to monitor with it an IPMI interface.