influxdata / telegraf

Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
https://influxdata.com/telegraf
MIT License
14.91k stars 5.6k forks source link

ipmi_sensor support connecting locally rather than via TCP #1547

Closed daviesalex closed 7 years ago

daviesalex commented 8 years ago

Dell R730:

[root@host ~]# ipmitool sdr type Temperature
Inlet Temp       | 04h | ok  |  7.1 | 23 degrees C
Exhaust Temp     | 01h | ok  |  7.1 | 30 degrees C
Temp             | 0Eh | ok  |  3.1 | 43 degrees C
Temp             | 0Fh | ok  |  3.2 | 45 degrees C

Dell R630:

[root@host ~]# ipmitool sdr type Temperature
Inlet Temp       | 04h | ok  |  7.1 | 23 degrees C
Exhaust Temp     | 01h | ok  |  7.1 | 33 degrees C
Temp             | 0Eh | ok  |  3.1 | 50 degrees C
Temp             | 0Fh | ok  |  3.2 | 57 degrees C

Supermicro based board:

[root@host ~]# ipmitool sdr type Temperature
SSB Therm Trip   | 0Dh | ok  |  7.1 |
BB Inlet Temp    | 20h | ok  |  7.1 | 29 degrees C
SSB Temp         | 22h | ok  |  7.1 | 60 degrees C
BB BMC Temp      | 23h | ok  |  7.1 | 50 degrees C
P1 VR Temp       | 24h | ok  |  7.1 | 41 degrees C
IB Temp          | 25h | ok  |  7.1 | 44 degrees C
LAN NIC Temp     | 2Fh | ok  | 12.2 | 64 degrees C
P1 Therm Margin  | 74h | ok  |  3.1 | -21 degrees C
P2 Therm Margin  | 75h | ok  |  3.2 | -36 degrees C
P1 Therm Ctrl %  | 78h | ok  |  3.1 | 0 percent
P2 Therm Ctrl %  | 79h | ok  |  3.2 | 0 percent
P1 DTS Therm Mgn | 83h | ok  |  3.1 | -21 degrees C
P2 DTS Therm Mgn | 84h | ok  |  3.2 | -36 degrees C
P1 VRD Hot       | 90h | ok  |  3.1 |
P2 VRD Hot       | 91h | ok  |  3.2 |
DIMM Thrm Mrgn 1 | B0h | ok  |  7.1 | -45 degrees C
DIMM Thrm Mrgn 2 | B1h | ok  |  7.1 | -46 degrees C
DIMM Thrm Mrgn 3 | B2h | ok  |  7.1 | -56 degrees C
DIMM Thrm Mrgn 4 | B3h | ok  |  7.1 | -54 degrees C

HP ProLiant DL360p Gen8 SE:

[root@host ~]# ipmitool sdr type Temperature
01-Inlet Ambient | 03h | ok  | 64.1 | 21 degrees C
02-CPU 1         | 04h | ok  | 65.1 | 40 degrees C
03-CPU 2         | 05h | ok  | 65.2 | 40 degrees C
04-P1 DIMM 1-6   | 06h | ok  | 32.1 | 31 degrees C
05-P1 DIMM 7-12  | 07h | ok  | 32.2 | 31 degrees C
06-P2 DIMM 1-6   | 08h | ok  | 32.3 | 31 degrees C
07-P2 DIMM 7-12  | 09h | ok  | 32.4 | 31 degrees C
08-P1 Mem Zone   | 0Ah | ok  | 32.5 | 27 degrees C
09-P1 Mem Zone   | 0Bh | ok  | 32.6 | 30 degrees C
10-P2 Mem Zone   | 0Ch | ok  | 32.7 | 30 degrees C
11-P2 Mem Zone   | 0Dh | ok  | 32.8 | 27 degrees C
12-HD Max        | 0Eh | ok  |  4.1 | 35 degrees C
13-Chipset 1     | 0Fh | ok  | 66.1 | 44 degrees C
14-Chipset1 Zone | 10h | ok  | 66.2 | 31 degrees C
15-P/S 1 Inlet   | 11h | ok  | 10.4 | 27 degrees C
16-P/S 1 Zone    | 12h | ok  | 10.5 | 30 degrees C
17-P/S 2 Inlet   | 13h | ok  | 10.6 | 30 degrees C
18-P/S 2 Zone    | 14h | ok  | 10.7 | 31 degrees C
19-PCI #1        | 15h | ns  | 11.1 | Disabled
20-PCI #2        | 16h | ns  | 11.2 | Disabled
21-VR P1         | 17h | ok  | 19.1 | 34 degrees C
22-VR P2         | 18h | ok  | 19.2 | 35 degrees C
23-VR P1 Mem     | 19h | ok  | 19.3 | 26 degrees C
24-VR P1 Mem     | 1Ah | ok  | 19.4 | 25 degrees C
25-VR P2 Mem     | 1Bh | ok  | 19.5 | 27 degrees C
26-VR P2 Mem     | 1Ch | ok  | 19.6 | 26 degrees C
27-VR P1Mem Zone | 1Dh | ok  | 19.7 | 25 degrees C
28-VR P1Mem Zone | 1Eh | ok  | 19.8 | 26 degrees C
29-VR P2Mem Zone | 1Fh | ok  | 19.9 | 27 degrees C
30-VR P2Mem Zone | 20h | ok  | 19.10 | 25 degrees C
31-HD Controller | 21h | ok  | 66.3 | 52 degrees C
32-HD Cntlr Zone | 22h | ok  | 66.4 | 35 degrees C
33-PCI 1 Zone    | 23h | ok  | 66.5 | 30 degrees C
34-PCI 1 Zone    | 24h | ok  | 66.6 | 31 degrees C
35-LOM Card      | 25h | ns  | 11.3 | Disabled
36-PCI 2 Zone    | 26h | ok  | 66.7 | 33 degrees C
37-System Board  | 27h | ok  | 66.8 | 32 degrees C
38-System Board  | 28h | ok  | 66.9 | 31 degrees C
39-Sys Exhaust   | 29h | ok  | 66.10 | 30 degrees C
40-Sys Exhaust   | 2Ah | ok  | 66.11 | 31 degrees C
41-Sys Exhaust   | 2Bh | ok  | 66.12 | 31 degrees C
42-SuperCAP Max  | 2Ch | ok  | 40.1 | 24 degrees C

SGI C2110G-RP5 (also supermicro based):

[root@host ~]# ipmitool sdr type Temperature
CPU1 Temp        | 01h | ok  |  3.1 | 36 degrees C
CPU2 Temp        | 02h | ok  |  3.2 | 33 degrees C
System Temp      | 11h | ok  |  7.1 | 23 degrees C
Peripheral Temp  | 12h | ok  |  7.2 | 30 degrees C
PCH Temp         | 0Ah | ok  |  7.3 | 45 degrees C
P1-DIMMA TEMP    | B0h | ok  | 32.64 | 33 degrees C
P1-DIMMB TEMP    | B4h | ok  | 32.68 | 33 degrees C
P1-DIMMC TEMP    | B8h | ok  | 32.72 | 35 degrees C
P1-DIMMD TEMP    | BCh | ok  | 32.76 | 37 degrees C
P2-DIMME TEMP    | D0h | ok  | 32.80 | 29 degrees C
P2-DIMMF TEMP    | D4h | ok  | 32.84 | 31 degrees C
P2-DIMMG TEMP    | D8h | ok  | 32.88 | 28 degrees C
P2-DIMMH TEMP    | DCh | ok  | 32.92 | 31 degrees C
GPU1 Temp        | 71h | ok  | 11.1 | 24 degrees C
GPU2 Temp        | 72h | ok  | 11.2 | 21 degrees C
GPU3 Temp        | 73h | ok  | 11.3 | 21 degrees C
GPU4 Temp        | 74h | ok  | 11.4 | 21 degrees C
GPU5 Temp        | 75h | ns  | 11.5 | No Reading
GPU6 Temp        | 76h | ns  | 11.6 | No Reading
Xeon Phi1 Temp   | 79h | ns  | 11.9 | No Reading
Xeon Phi2 Temp   | 7Ah | ns  | 11.10 | No Reading
Xeon Phi3 Temp   | 7Bh | ns  | 11.11 | No Reading
Xeon Phi4 Temp   | 7Ch | ns  | 11.12 | No Reading
Xeon Phi5 Temp   | 7Dh | ns  | 11.13 | No Reading
Xeon Phi6 Temp   | 7Eh | ns  | 11.14 | No Reading

I think you get the idea. Pretty much every vendor provide some set of sensor data in degrees C.

There are other types of sensor data other than "sdr type Temperature", although we have no interest in capturing them.

We propose creating a ipmi plugin that

RFC. We are happy to work on this and submit a PR.

sparrc commented 8 years ago

we already have it! https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ipmi_sensor

daviesalex commented 8 years ago

@sparrc thanks! We need to upgrade to HEAD ;-)

Does it support running ipmitool locally (the docs/examples all have "-I lan -H 192.168.1.1 -U USERID -P PASSW0RD")

sparrc commented 8 years ago

Looking at the code it looks like it might not work, as far as I can tell it assumes that you will provide it a username and password, so the documentation around those parameters being optional is not correct sigh

Shouldn't be a difficult fix though

daviesalex commented 8 years ago

Cool. Can we make this issue to make it support ipmitool locally? If nobody else has time to do this, we can patch it and propose it.

lunetics commented 8 years ago

I've done it via the plugin section and a small shell script: https://github.com/lunetics/influxdb-plugins/blob/master/ipmi/ipmi.sh