FreeIPMI ipmimonitoring

From Thomas-Krenn-Wiki
Jump to: navigation, search

With ipmimonitoring, FreeIPMI provides a command that is very good for monitoring IPMI sensors. The format of the output depends on the version of FreeIPMI. As of FreeIPMI Version 1.0.1, ipmimonitoring is more of a shell script, which calls the command, ipmi-sensors, with certain parameters in background. For scripts that should work with many different versions of FreeIPMI, ipmimonitoring is the most appropriate option for that reason. The IPMI Sensor Monitoring Plugin also uses ipmimonitoring for the same reason.

This article will show several results from ipmimonitoring, depending on the respective FreeIPMI version.

ipmimonitoring Example 0.5.1

The following example comes from CentOS 5.5:

[root@centos-5-5 ~]# ipmimonitoring -V
ipmimonitoring 0.5.1

[root@centos-5-5 ~]# ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation
Record_ID | Sensor Name | Sensor Group | Monitoring Status| Sensor Units | Sensor Reading
4 | System Temp | Temperature | Nominal | C | 35.000000 
5 | CPU1 Vcore | Voltage | Nominal | V | 1.072000 
6 | CPU2 Vcore | Voltage | Nominal | V | 0.000000 
7 | CPU1 DIMM | Voltage | Nominal | V | 1.592000 
8 | CPU2 DIMM | Voltage | Nominal | V | 0.000000 
9 | +1.5V | Voltage | Nominal | V | 1.520000 
10 | +3.3V | Voltage | Nominal | V | 3.288000 
11 | +3.3VSB | Voltage | Nominal | V | 3.264000 
12 | +5V | Voltage | Nominal | V | 5.024000 
13 | +12V | Voltage | Nominal | V | 12.084000 
14 | VBAT | Voltage | Nominal | V | 3.240000 
15 | Fan1 | Fan | Nominal | RPM | 1080.000000 
16 | Fan2 | Fan | Nominal | RPM | 1080.000000 
19 | Fan5 | Fan | Nominal | RPM | 945.000000 
21 | Fan7 | Fan | Nominal | RPM | 1890.000000 
22 | Fan8 | Fan | Nominal | RPM | 1890.000000 
23 | Intrusion | Physical Security | Nominal | N/A | '' 
24 | PS Status | Power Supply | Nominal | N/A | '' 
25 | P1-DIMM1A Temp | Temperature | Nominal | C | 0.000000 
26 | P1-DIMM1B Temp | Temperature | Nominal | C | 0.000000 
27 | P1-DIMM2A Temp | Temperature | Nominal | C | 0.000000 
28 | P1-DIMM2B Temp | Temperature | Nominal | C | 0.000000 
29 | P1-DIMM3A Temp | Temperature | Nominal | C | 0.000000 
30 | P1-DIMM3B Temp | Temperature | Nominal | C | 0.000000 
31 | P2-DIMM1A Temp | Temperature | Nominal | C | 38.000000 
32 | P2-DIMM1B Temp | Temperature | Nominal | C | 38.000000 
33 | P2-DIMM2A Temp | Temperature | Nominal | C | 40.000000 
34 | P2-DIMM2B Temp | Temperature | Nominal | C | 39.000000 
35 | P2-DIMM3A Temp | Temperature | Nominal | C | 44.000000 
36 | P2-DIMM3B Temp | Temperature | Nominal | C | 41.000000 
[root@centos-5-5 ~]#

ipmimonitoring Example 0.7.16.beta1

user@ubuntu:~$ ipmimonitoring -V
ipmimonitoring - 0.7.16.beta1
Copyright (C) 2007-2008 Lawrence Livermore National Security, LLC.
Copyright (C) 2006-2007 The Regents of the University of California.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
user@ubuntu:~$ ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation 
Record_ID | Sensor Name | Sensor Group | Monitoring Status| Sensor Units | Sensor Reading
4 | System Temp | Temperature | Nominal | C | 32.000000 
5 | CPU1 Vcore | Voltage | Nominal | V | 1.048000 
7 | CPU1 DIMM | Voltage | Nominal | V | 1.592000 
9 | +1.5V | Voltage | Nominal | V | 1.520000 
10 | +3.3V | Voltage | Nominal | V | 3.288000 
11 | +3.3VSB | Voltage | Nominal | V | 3.264000 
12 | +5V | Voltage | Nominal | V | 5.024000 
13 | +12V | Voltage | Nominal | V | 12.084000 
14 | VBAT | Voltage | Nominal | V | 3.240000 
15 | Fan1 | Fan | Nominal | RPM | 1080.000000 
16 | Fan2 | Fan | Nominal | RPM | 1080.000000 
19 | Fan5 | Fan | Nominal | RPM | 945.000000 
21 | Fan7 | Fan | Nominal | RPM | 1890.000000 
22 | Fan8 | Fan | Nominal | RPM | 1890.000000 
23 | Intrusion | Physical Security | Nominal | N/A | 'OK'
24 | PS Status | Power Supply | Nominal | N/A | 'OK'
31 | P2-DIMM1A Temp | Temperature | Nominal | C | 36.000000 
32 | P2-DIMM1B Temp | Temperature | Nominal | C | 36.000000 
33 | P2-DIMM2A Temp | Temperature | Nominal | C | 37.000000 
34 | P2-DIMM2B Temp | Temperature | Nominal | C | 36.000000 
35 | P2-DIMM3A Temp | Temperature | Nominal | C | 42.000000 
36 | P2-DIMM3B Temp | Temperature | Nominal | C | 39.000000 
user@ubuntu:~$

ipmimonitoring Example 0.8.11

user@ubuntu:~/freeipmi-0.8.11/ipmimonitoring/src/ipmimonitoring$ ./ipmimonitoring -V
ipmimonitoring - 0.8.11
Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
Copyright (C) 2006-2007 The Regents of the University of California.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
user@ubuntu:~/freeipmi-0.8.11/ipmimonitoring/src/ipmimonitoring$ ./ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation
ID | Name           | Type              | State    | Reading    | Units | Event
2  | CPU1 Temp      | N/A               | N/A      | N/A        | N/A   | N/A
3  | CPU2 Temp      | N/A               | N/A      | N/A        | N/A   | N/A
4  | System Temp    | Temperature       | Nominal  | 32.00      | C     | 'OK'
5  | CPU1 Vcore     | Voltage           | Nominal  | 1.04       | V     | 'OK'
6  | CPU2 Vcore     | Voltage           | N/A      | N/A        | N/A   | N/A
7  | CPU1 DIMM      | Voltage           | Nominal  | 1.59       | V     | 'OK'
8  | CPU2 DIMM      | Voltage           | N/A      | N/A        | N/A   | N/A
9  | +1.5V          | Voltage           | Nominal  | 1.52       | V     | 'OK'
10 | +3.3V          | Voltage           | Nominal  | 3.29       | V     | 'OK'
11 | +3.3VSB        | Voltage           | Nominal  | 3.26       | V     | 'OK'
12 | +5V            | Voltage           | Nominal  | 5.02       | V     | 'OK'
13 | +12V           | Voltage           | Nominal  | 12.08      | V     | 'OK'
14 | VBAT           | Voltage           | Nominal  | 3.24       | V     | 'OK'
15 | Fan1           | Fan               | Nominal  | 1080.00    | RPM   | 'OK'
16 | Fan2           | Fan               | Nominal  | 1080.00    | RPM   | 'OK'
19 | Fan5           | Fan               | Nominal  | 945.00     | RPM   | 'OK'
21 | Fan7           | Fan               | Nominal  | 1890.00    | RPM   | 'OK'
22 | Fan8           | Fan               | Nominal  | 1890.00    | RPM   | 'OK'
23 | Intrusion      | Physical Security | Nominal  | N/A        | N/A   | 'OK'
24 | PS Status      | Power Supply      | Nominal  | N/A        | N/A   | 'OK'
25 | P1-DIMM1A Temp | Temperature       | N/A      | N/A        | N/A   | N/A
26 | P1-DIMM1B Temp | Temperature       | N/A      | N/A        | N/A   | N/A
27 | P1-DIMM2A Temp | Temperature       | N/A      | N/A        | N/A   | N/A
28 | P1-DIMM2B Temp | Temperature       | N/A      | N/A        | N/A   | N/A
29 | P1-DIMM3A Temp | Temperature       | N/A      | N/A        | N/A   | N/A
30 | P1-DIMM3B Temp | Temperature       | N/A      | N/A        | N/A   | N/A
31 | P2-DIMM1A Temp | Temperature       | Nominal  | 35.00      | C     | 'OK'
32 | P2-DIMM1B Temp | Temperature       | Nominal  | 35.00      | C     | 'OK'
33 | P2-DIMM2A Temp | Temperature       | Nominal  | 37.00      | C     | 'OK'
34 | P2-DIMM2B Temp | Temperature       | Nominal  | 35.00      | C     | 'OK'
35 | P2-DIMM3A Temp | Temperature       | Nominal  | 42.00      | C     | 'OK'
36 | P2-DIMM3B Temp | Temperature       | Nominal  | 38.00      | C     | 'OK'
user@ubuntu:~/freeipmi-0.8.11/ipmimonitoring/src/ipmimonitoring$ 

Using the legacy-output Option

user@ubuntu:~/freeipmi-0.8.11/ipmimonitoring/src/ipmimonitoring$ ./ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation --legacy-output
Record ID | Sensor Name | Sensor Group | Monitoring Status | Sensor Units | Sensor Reading
4 | System Temp | Temperature | Nominal | C | 34.000000
5 | CPU1 Vcore | Voltage | Nominal | V | 1.040000
7 | CPU1 DIMM | Voltage | Nominal | V | 1.592000
9 | +1.5V | Voltage | Nominal | V | 1.520000
10 | +3.3V | Voltage | Nominal | V | 3.288000
11 | +3.3VSB | Voltage | Nominal | V | 3.264000
12 | +5V | Voltage | Nominal | V | 5.024000
13 | +12V | Voltage | Nominal | V | 12.084000
14 | VBAT | Voltage | Nominal | V | 3.240000
15 | Fan1 | Fan | Nominal | RPM | 1080.000000
16 | Fan2 | Fan | Nominal | RPM | 1080.000000
19 | Fan5 | Fan | Nominal | RPM | 945.000000
21 | Fan7 | Fan | Nominal | RPM | 1890.000000
22 | Fan8 | Fan | Nominal | RPM | 1890.000000
23 | Intrusion | Physical Security | Nominal | N/A | 'OK'
24 | PS Status | Power Supply | Nominal | N/A | 'OK'
31 | P2-DIMM1A Temp | Temperature | Nominal | C | 38.000000
32 | P2-DIMM1B Temp | Temperature | Nominal | C | 38.000000
33 | P2-DIMM2A Temp | Temperature | Nominal | C | 39.000000
34 | P2-DIMM2B Temp | Temperature | Nominal | C | 38.000000
35 | P2-DIMM3A Temp | Temperature | Nominal | C | 44.000000
36 | P2-DIMM3B Temp | Temperature | Nominal | C | 41.000000
user@ubuntu:~/freeipmi-0.8.11/ipmimonitoring/src/ipmimonitoring$ 

ipmimonitoring Example 1.0.1

As of FreeIPMI Version 1.0.1, ipmimonitoring has become a script that calls ipmi-sensors with certain parameters (with --output-sensor-state or also with --ipmimonitoring-legacy-output, in case the ipmimonitoring script is executed with --legacy-output)

#!/bin/sh

options="--output-sensor-state"
verboseset=0

while test $# != 0
  do
  case "$1" in
      --legacy-output)
	  options="$options --ipmimonitoring-legacy-output"
	  ;;
      -v)
	  verboseset=1
	  ;;
      *)
          options="$options $1"
	  ;;
  esac
  shift
done

if [ "$verboseset" = "0" ]; then
    options="$options --ignore-not-available-sensors"
fi

exec /usr/local/sbin/ipmi-sensors $options

The output from Version 1.0.1 appears as follows with the indicated options:

user@ubuntu-10-10:~$ ipmimonitoring -V
ipmi-sensors - 1.0.1
Copyright (C) 2003-2010 FreeIPMI Core Team
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
user@ubuntu-10-10:~$ ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation --ignore-not-available-sensors --output-sensor-state --interpret-oem-data
ID | Name           | Type              | State    | Reading    | Units | Event
2  | CPU1 Temp      | OEM Reserved      | Nominal  | N/A        | N/A   | 'Low'
4  | System Temp    | Temperature       | Nominal  | 33.00      | C     | 'OK'
5  | CPU1 Vcore     | Voltage           | Nominal  | 1.04       | V     | 'OK'
7  | CPU1 DIMM      | Voltage           | Nominal  | 1.59       | V     | 'OK'
9  | +1.5V          | Voltage           | Nominal  | 1.52       | V     | 'OK'
10 | +3.3V          | Voltage           | Nominal  | 3.29       | V     | 'OK'
11 | +3.3VSB        | Voltage           | Nominal  | 3.26       | V     | 'OK'
12 | +5V            | Voltage           | Nominal  | 5.02       | V     | 'OK'
13 | +12V           | Voltage           | Nominal  | 12.08      | V     | 'OK'
14 | VBAT           | Voltage           | Nominal  | 3.24       | V     | 'OK'
15 | Fan1           | Fan               | Nominal  | 1080.00    | RPM   | 'OK'
16 | Fan2           | Fan               | Nominal  | 1080.00    | RPM   | 'OK'
19 | Fan5           | Fan               | Nominal  | 945.00     | RPM   | 'OK'
21 | Fan7           | Fan               | Nominal  | 1890.00    | RPM   | 'OK'
22 | Fan8           | Fan               | Nominal  | 1890.00    | RPM   | 'OK'
23 | Intrusion      | Physical Security | Nominal  | N/A        | N/A   | 'OK'
24 | PS Status      | Power Supply      | Nominal  | N/A        | N/A   | 'OK'
31 | P2-DIMM1A Temp | Temperature       | Nominal  | 38.00      | C     | 'OK'
32 | P2-DIMM1B Temp | Temperature       | Nominal  | 38.00      | C     | 'OK'
33 | P2-DIMM2A Temp | Temperature       | Nominal  | 40.00      | C     | 'OK'
34 | P2-DIMM2B Temp | Temperature       | Nominal  | 38.00      | C     | 'OK'
35 | P2-DIMM3A Temp | Temperature       | Nominal  | 44.00      | C     | 'OK'
36 | P2-DIMM3B Temp | Temperature       | Nominal  | 41.00      | C     | 'OK'
user@ubuntu-10-10:~$ 

Using the legacy-output Option

user@ubuntu-10-10:~$ ipmimonitoring -h 10.1.102.10 -l user -u monitoring -p relation --ignore-not-available-sensors --output-sensor-state --interpret-oem-data --legacy-output
Record ID | Sensor Name | Sensor Group | Monitoring Status | Sensor Units | Sensor Reading
2 | CPU1 Temp | OEM Reserved | Nominal | N/A | 'Low'
4 | System Temp | Temperature | Nominal | C | 33.000000
5 | CPU1 Vcore | Voltage | Nominal | V | 1.048000
7 | CPU1 DIMM | Voltage | Nominal | V | 1.592000
9 | +1.5V | Voltage | Nominal | V | 1.520000
10 | +3.3V | Voltage | Nominal | V | 3.288000
11 | +3.3VSB | Voltage | Nominal | V | 3.264000
12 | +5V | Voltage | Nominal | V | 5.024000
13 | +12V | Voltage | Nominal | V | 12.084000
14 | VBAT | Voltage | Nominal | V | 3.240000
15 | Fan1 | Fan | Nominal | RPM | 1080.000000
16 | Fan2 | Fan | Nominal | RPM | 1080.000000
19 | Fan5 | Fan | Nominal | RPM | 945.000000
21 | Fan7 | Fan | Nominal | RPM | 1890.000000
22 | Fan8 | Fan | Nominal | RPM | 1890.000000
23 | Intrusion | Physical Security | Nominal | N/A | 'OK'
24 | PS Status | Power Supply | Nominal | N/A | 'OK'
31 | P2-DIMM1A Temp | Temperature | Nominal | C | 38.000000
32 | P2-DIMM1B Temp | Temperature | Nominal | C | 38.000000
33 | P2-DIMM2A Temp | Temperature | Nominal | C | 40.000000
34 | P2-DIMM2B Temp | Temperature | Nominal | C | 38.000000
35 | P2-DIMM3A Temp | Temperature | Nominal | C | 44.000000
36 | P2-DIMM3B Temp | Temperature | Nominal | C | 41.000000
user@ubuntu-10-10:~$

Related articles

Configuring IPMI under Linux using ipmitool
GPL Notes for IPMI Firmware Images
Intel Node Manager power measurement using FreeIPMI