У меня есть сервер с двойным процессором Intel Xeon E5-2667 (6 ядер + HT). OEL
(RHEL
) 6.4 По какой-то причине snmp-запрос к нему показывает ядра только от 1 CPU.
Вот результат sensors
команда.
[root@host log]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +56.0°C (high = +96.0°C, crit = +102.0°C)
Core 0: +55.0°C (high = +96.0°C, crit = +102.0°C)
Core 1: +50.0°C (high = +96.0°C, crit = +102.0°C)
Core 2: +52.0°C (high = +96.0°C, crit = +102.0°C)
Core 3: +55.0°C (high = +96.0°C, crit = +102.0°C)
Core 4: +52.0°C (high = +96.0°C, crit = +102.0°C)
Core 5: +56.0°C (high = +96.0°C, crit = +102.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Physical id 1: +43.0°C (high = +96.0°C, crit = +102.0°C)
Core 0: +43.0°C (high = +96.0°C, crit = +102.0°C)
Core 1: +41.0°C (high = +96.0°C, crit = +102.0°C)
Core 2: +42.0°C (high = +96.0°C, crit = +102.0°C)
Core 3: +41.0°C (high = +96.0°C, crit = +102.0°C)
Core 4: +40.0°C (high = +96.0°C, crit = +102.0°C)
Core 5: +41.0°C (high = +96.0°C, crit = +102.0°C)
мой /etc/snmp/snmpd.conf
имеет следующую строку, чтобы разрешить полный доступ:
view all included .1 80
Но вот что происходит, когда я прохожу по этому серверу snmpwalk:
[root@host log]# snmpwalk -c public -v 2c localhost sensor
LM-SENSORS-MIB::lmTempSensorsIndex.1 = INTEGER: 1
LM-SENSORS-MIB::lmTempSensorsIndex.2 = INTEGER: 2
LM-SENSORS-MIB::lmTempSensorsIndex.3 = INTEGER: 3
LM-SENSORS-MIB::lmTempSensorsIndex.4 = INTEGER: 4
LM-SENSORS-MIB::lmTempSensorsIndex.5 = INTEGER: 5
LM-SENSORS-MIB::lmTempSensorsIndex.6 = INTEGER: 6
LM-SENSORS-MIB::lmTempSensorsIndex.7 = INTEGER: 7
LM-SENSORS-MIB::lmTempSensorsIndex.8 = INTEGER: 8
LM-SENSORS-MIB::lmTempSensorsDevice.1 = STRING: Physical id 0
LM-SENSORS-MIB::lmTempSensorsDevice.2 = STRING: Core 0
LM-SENSORS-MIB::lmTempSensorsDevice.3 = STRING: Core 1
LM-SENSORS-MIB::lmTempSensorsDevice.4 = STRING: Core 2
LM-SENSORS-MIB::lmTempSensorsDevice.5 = STRING: Core 3
LM-SENSORS-MIB::lmTempSensorsDevice.6 = STRING: Core 4
LM-SENSORS-MIB::lmTempSensorsDevice.7 = STRING: Core 5
LM-SENSORS-MIB::lmTempSensorsDevice.8 = STRING: Physical id 1
LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 60000
LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 44000
LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 42000
LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 42000
LM-SENSORS-MIB::lmTempSensorsValue.5 = Gauge32: 42000
LM-SENSORS-MIB::lmTempSensorsValue.6 = Gauge32: 41000
LM-SENSORS-MIB::lmTempSensorsValue.7 = Gauge32: 41000
LM-SENSORS-MIB::lmTempSensorsValue.8 = Gauge32: 44000
Как я могу сделать отчет о температуре по протоколу snmp для ядер на всех процессорах?
Кажется, что-то не так, потому что у вас есть такая строка:
LM-SENSORS-MIB::lmTempSensorsDevice.8 = STRING: Physical id 1
а потом ничего, как будто слотов для датчиков всего 8. Там есть отчет об ошибке с двойным Intel Xeon E5-2670 (8 ядер), где последняя строчка Device выглядит так:
LM-SENSORS-MIB::lmTempSensorsDevice.10 = STRING: Physical id 1
Так что там 10 слотов, опять же только один процессор.
Есть некоторые инструкции Ubuntu успешно показывает 20 слотов (там нет строчки "Physical id"), хотя с совершенно другим процессором и с использованием категории miscSensors. Там говорится, что «согласно странице установки lm-sensor требуется Net-SNMP 5.5 или выше», что является версией на RedHat 6.4.
В любом случае вы можете попробовать обновить Net-SNMP и посмотреть, решит ли это проблему. Но, возможно, это действительно проблема с MIB и этим конкретным семейством процессоров, и в этом случае эту ошибку необходимо устранить.
Это вызывало у меня горе, и я нашел ответ здесь - https://bbs.archlinux.org/viewtopic.php?id=127017 Это как-то связано с дублированием вывода имен датчиков для второго процессора после добавления псевдонимов, как описано в статье, которая появляется на snmpwalk.