Назад | Перейти на главную страницу

Датчики LM всегда возвращают одно и то же (недействительное) значение для одного датчика температуры

Я пытаюсь контролировать датчики температуры на сервере и строить их с помощью Cacti. У меня lm-сенсоры установлены и работают исправно. Например, вот вывод из 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)  

Однако, когда я пытаюсь получить эти данные через SNMP, я получаю правильно только температуру одного датчика, а другой всегда возвращает 100000 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

Итак, у меня двоякий вопрос:

  1. Почему второй датчик, возвращаемый SNMP, дает значение 100 ° C (тогда как оно должно быть 32 ° C)
  2. Почему датчики ядра моего процессора не возвращаются по протоколу SNMP?

ОБНОВИТЬ: Я заметил, что кажется, что другие датчики присутствуют как lmMiscSensors, поэтому я могу видеть другие данные:

% 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

Я все еще не понимаю, как это читать. Является lmTempSensorsValue.2 просто давая критическую температуру для temp1? Если да, то где показания temp2?