Приспичило мне в графиках созерцать, как скачет и какая в данный момент температура процессора на моем сервере.
Решил сделать это.
(Стоит учесть, что у меня уже работает и net-snmp и mrtg, с помощью чего я собираю данные с сетевых интерфейсов, а так
же мониторить нагрузку процессора)
Так вот, создаю я значит для mrtg файлик cpu-temp.cfg со следующим содержанием:
LoadMIBs: /usr/local/net-snmp/share/snmp/mibs/LM-SENSORS-MIB.txt
Target[cpu-temp]: .1.3.6.1.4.1.2021.13.16.2.1.3.1&.1.3.6.1.4.1.2021.13.16.2.1.3.1:monitoring@loca
lhost
PageTop[cpu-temp]: <H1>CPU Temperature</H1>
WorkDir: /var/www/mrtg
Options[cpu-temp]: nopercent,growright,gauge,noinfo,pngdate,nobanner
Factor[cpu-temp]: 0.001
PNGTitle[cpu-temp]: CPU Temperature
Title[cpu-temp]: CPU Temperature
kMG[cpu-temp]: C
MaxBytes[cpu-temp]: 100000
YLegend[cpu-temp]: Temperature (c)
ShortLegend[cpu-temp]: C
LegendI[cpu-temp]: CPU Temperature:
LegendO[cpu-temp]:
Legend1[cpu-temp]: CPU Temperature
Legend2[cpu-temp]:
#Unscaled[localhost.cpu-temp]: ymwd
#WithPeak[localhost.cpu-temp]: ymwd
XSize[cpu-temp]: 360
YSize[cpu-temp]: 75
#YTics[localhost.cpu-temp]: 10
Colours[cpu-temp]: DKBLUE#61A0DF,DKBLUE#0000DD,DARKGREEN#006600,VIOLET#FF00FF
MIB по этому пути (/usr/local/net-snmp/share/snmp/mibs/LM-SENSORS-MIB.txt) точно существует. После чего пытаюсь
собственно выполнить:
mrtg /etc/mrtg/cpu-temp.cfg
А в ответ получаю:
SNMP Error:
Received SNMP response with error code
error status: noSuchName
index 2 (OID: 1.3.6.1.4.1.2021.13.16.2.1.3.1)
SNMPv1_Session (remote host: "localhost" [127.0.0.1].161)
community: "monitoring"
request ID: 2048990006
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for .1.3.6.1.4.1.2021.13.16.2.1.3.1 .1.3.6.1.4.1.2021.13.16.2.1.3.1 sysUptime sysName on monitoring@localhost::::::v4only
at /usr/bin/mrtg line 2149
2008-04-17 14:09:05: ERROR: Target[cpu-temp][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2008-04-17 14:09:05: ERROR: Target[cpu-temp][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
Спрашивается причем здесь v4only? Что делаю не так?
[root@idev ~]# snmpget -v1 -c monitoring localhost .1.3.6.1.4.1.2021.13.16.2.1.3.1
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: UCD-SNMP-MIB::ucdExperimental.16.2.1.3.1
Может надо с какими-то флагами пересобрать? В данный момент собран с такими флагами:
Ставил и настраивал, вот результат sensors:
w83793-i2c-0-2f
Adapter: SMBus I801 adapter at 1100
VCoreA: +1.29 V (min = +0.92 V, max = +1.49 V)
VCoreB: +1.29 V (min = +0.92 V, max = +1.49 V)
Vtt: +1.20 V (min = +1.08 V, max = +1.33 V)
[ skip ]
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +30°C (high = +85°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +34°C (high = +85°C)
coretemp-isa-0002
Adapter: ISA adapter
Core 2: +33°C (high = +85°C)
coretemp-isa-0003
Adapter: ISA adapter
Core 3: +32°C (high = +85°C)
В принципе, я мог бы написать скриптик, который из вывода sensors будет вытягивать информацию для MRTG. Но, как то хотелось бы готовыми средствами SNMP.