我有一台运行OEL ( RHEL )的双Intel Xeon E5-2667 CPU(6核+ HT)的服务器6.4由于某种原因snmp查询显示只有一个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
如何在所有cpus上使snmp报告核心温度?
有些东西似乎是closures的,因为你有这样一行:
LM-SENSORS-MIB::lmTempSensorsDevice.8 = STRING: Physical id 1
但之后没有任何事情,就像传感器只有8个插槽一样。 有一个双Intel Xeon E5-2670(8核心) 的错误报告 ,其中最后一个设备行是这样的:
LM-SENSORS-MIB::lmTempSensorsDevice.10 = STRING: Physical id 1
所以那里有10个插槽,同样只有一个处理器。
有一些Ubuntu的说明成功地显示了20个插槽(没有“物理ID”行),尽pipe有一个完全不同的处理器和使用miscSensors类别。 他们说那里“根据lm-sensors安装页面,需要Net-SNMP 5.5或更高版本”,这是RedHat 6.4上的版本。
无论如何,您可以尝试升级Net-SNMP并查看是否解决了这个问题。 但是,对于MIB和特定的处理器系列来说,这可能确实是一个问题,在这种情况下需要解决这个问题。