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

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.