ipmitool
is a utility to fetch information from devices that support the Intelligent Platform Management Interface (IPMI). This includes servers such as the HP Proliant DL380 G6 which I have at home or practically all Dell servers.
The project can be found at:
Installation[edit | edit source]
Clone the repository from https://github.com/ipmitool/ipmitool, then run autoconf
, ./configure
, make
.
A docker image containing this binary can be found at:
Usage[edit | edit source]
View System Event Logs[edit | edit source]
Use ipmitool sel elist
to show logs.
# ipmitool sel elist
1 | 08/24/2006 | 14:05:17 | Event Logging Disabled SEL | Log area reset/cleared | Asserted
2 | 12/11/2008 | 03:21:50 | Memory ECC Corr Err | Correctable ECC (Correctable ECC | Bank 1DIMM B) | Asserted
3 | Pre-Init |0000000011| Physical Security Intrusion | General Chassis intrusion | Asserted
4 | Pre-Init |0000000017| Physical Security Intrusion | General Chassis intrusion | Deasserted
5 | Pre-Init |0000000011| Physical Security Intrusion | General Chassis intrusion | Asserted
6 | Pre-Init |0000000016| Physical Security Intrusion | General Chassis intrusion | Deasserted
7 | Pre-Init |0000000011| Physical Security Intrusion | General Chassis intrusion | Asserted
8 | Pre-Init |0000000016| Physical Security Intrusion | General Chassis intrusion | Deasserted
9 | 06/11/2020 | 08:40:21 | Voltage CMOS Battery | Lower Critical going low | Asserted | Reading 2.57 < Threshold 2.64 Volts
a | 06/11/2020 | 08:41:41 | Voltage CMOS Battery | Lower Critical going low | Deasserted | Reading 2.73 < Threshold 2.64 Volts
b | 06/13/2020 | 19:01:06 | Voltage CMOS Battery | Lower Critical going low | Asserted | Reading 2.63 < Threshold 2.64 Volts
c | 06/13/2020 | 19:01:11 | Voltage CMOS Battery | Lower Critical going low | Deasserted | Reading 2.68 < Threshold 2.64 Volts
Clearing System Event Log[edit | edit source]
Run ipmitool sel clear
to clear all SEL logs. This is useful if your machine has an amber light due to a machine check which you wish to clear.
Power Cycle Machine[edit | edit source]
To power cycle a machine: ipmitool -U username -f passwd.txt -I lanplus -H hostname chassis power cycle
Polling Data[edit | edit source]
Poll the data from iLO by running ipmitool
. An example output is given below.
/tmp # ./ipmitool -I lanplus -H X.X.X.X -U Administrator -P XXXXXXXXXX sensor
Unable to Get Channel Cipher Suites
UID Light | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Sys. Health LED | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Power Supply 1 | 85 | Watts | ok | na | na | na | na | na | na
Power Supply 2 | 95 | Watts | ok | na | na | na | na | na | na
Power Supplies | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Fan 1 | 13.720 | percent | ok | na | na | na | na | na | na
Fan 2 | 13.720 | percent | ok | na | na | na | na | na | na
Fan 3 | 22.736 | percent | ok | na | na | na | na | na | na
Fan 4 | 27.048 | percent | ok | na | na | na | na | na | na
Fan 5 | 22.736 | percent | ok | na | na | na | na | na | na
Fan 6 | 13.720 | percent | ok | na | na | na | na | na | na
Fans | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Temp 1 | 19.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 39.000 | 41.000 | 45.000
Temp 2 | 40.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 82.000 | 83.000
Temp 3 | 40.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 82.000 | 83.000
Temp 4 | 37.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 87.000 | 92.000
Temp 5 | 39.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 87.000 | 92.000
Temp 6 | 44.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 87.000 | 92.000
Temp 7 | 42.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 87.000 | 92.000
Temp 8 | 48.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 90.000 | 95.000
Temp 9 | 42.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 65.000 | 70.000
Temp 10 | 48.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 90.000 | 95.000
Temp 11 | 40.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 12 | 49.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 90.000 | 95.000
Temp 13 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 14 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 15 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 16 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 17 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 18 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 19 | 24.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 20 | 36.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 21 | 34.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 80.000 | 85.000
Temp 22 | 32.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 80.000 | 85.000
Temp 23 | 43.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 77.000 | 82.000
Temp 24 | 38.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 25 | 39.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 26 | 38.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 27 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 28 | na | | na | 0.000 | 0.000 | 0.000 | 0.000 | 70.000 | 75.000
Temp 29 | 35.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 60.000 | 65.000
Temp 30 | 77.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 0.000 | 110.000 | 115.000
Memory | 0x0 | discrete | 0x4080| na | na | na | na | na | na
Power Meter | 188 | Watts | ok | na | na | na | na | na | na
The data can be parsed then pushed into a logging server.
Troubleshooting[edit | edit source]
$ autoconf
configure.ac:8: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:9: error: possibly undefined macro: AM_CONFIG_HEADER
configure.ac:38: error: possibly undefined macro: AM_PROG_LIBTOOL
Fix this by running:
$ autoreconf -i