Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to monitor the temp sensors on a server, and plot them using Cacti. I have lm-sensors installed and working correctly. For example, here is the output from sensors:

% sensors                                 
acpitz-virtual-0
Adapter: Virtual device
temp1:       +26.8 C  (crit = +100.0 C)                  
temp2:       +32.0 C  (crit = +60.0 C)                  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +36.0 C  (high = +105.0 C, crit = +105.0 C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +42.0 C  (high = +105.0 C, crit = +105.0 C)  

However, when I try to get this data via SNMP, I get only one sensor's temperature correctly, and another one always returns 100.000 C:

% snmpwalk -Os -c public -v 1 10.8.0.18 -m ALL lmTempSensors     
lmTempSensorsIndex.1 = INTEGER: 0
lmTempSensorsIndex.2 = INTEGER: 1
lmTempSensorsDevice.1 = STRING: temp1
lmTempSensorsDevice.2 = STRING: temp1
lmTempSensorsValue.1 = Gauge32: 26800
lmTempSensorsValue.2 = Gauge32: 100000

So, my question is two-fold:

  1. Why is the second sensor that is returned by SNMP giving a value of 100 C (when it should be 32 C)
  2. Why are my CPU core sensors not being returned by SNMP?

UPDATE: I noticed that it seems the other sensors are present as lmMiscSensors, so I can see the other data:

% snmpwalk -Os -c public -v 1 10.8.0.18 -m ALL sensor
lmTempSensorsIndex.1 = INTEGER: 0
lmTempSensorsIndex.2 = INTEGER: 1
lmTempSensorsDevice.1 = STRING: temp1
lmTempSensorsDevice.2 = STRING: temp1
lmTempSensorsValue.1 = Gauge32: 26800
lmTempSensorsValue.2 = Gauge32: 100000
lmMiscSensorsIndex.1 = INTEGER: 0
lmMiscSensorsIndex.2 = INTEGER: 1
lmMiscSensorsIndex.3 = INTEGER: 2
lmMiscSensorsIndex.4 = INTEGER: 3
lmMiscSensorsIndex.5 = INTEGER: 4
lmMiscSensorsIndex.6 = INTEGER: 5
lmMiscSensorsIndex.7 = INTEGER: 6
lmMiscSensorsIndex.8 = INTEGER: 7
lmMiscSensorsDevice.1 = STRING: Core 0
lmMiscSensorsDevice.2 = STRING: Core 0
lmMiscSensorsDevice.3 = STRING: Core 0
lmMiscSensorsDevice.4 = STRING: Core 0
lmMiscSensorsDevice.5 = STRING: Core 1
lmMiscSensorsDevice.6 = STRING: Core 1
lmMiscSensorsDevice.7 = STRING: Core 1
lmMiscSensorsDevice.8 = STRING: Core 1
lmMiscSensorsValue.1 = Gauge32: 34000
lmMiscSensorsValue.2 = Gauge32: 105000
lmMiscSensorsValue.3 = Gauge32: 105000
lmMiscSensorsValue.4 = Gauge32: 0
lmMiscSensorsValue.5 = Gauge32: 39000
lmMiscSensorsValue.6 = Gauge32: 105000
lmMiscSensorsValue.7 = Gauge32: 105000
lmMiscSensorsValue.8 = Gauge32: 0

I am still wondering how to read this. Is lmTempSensorsValue.2 just giving the critical temperature point for temp1? If so, where is the temp2 reading?

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.