mrtg: Graph zeigt keine Werte

wstuermer

Active Member
Hallo,

inspiriert durch diesen Thread wollte ich mir meine Lüfter auch ins mrtg packen. Folgendes Script liest die Werte aus:

Code:
#!/bin/bash
core0=`sensors | grep Core0 | awk '{ print $3 }' | cut -d'+' -f2 | cut -d'.' -f1`
core1=`sensors | grep Core1 | awk '{ print $3 }' | cut -d'+' -f2 | cut -d'.' -f1`
echo $core0
echo $core1
echo $core0
echo $core1

Ausgeführt ergibt sich folgender Output, was soweit richtig ist:

Code:
kerneloops:~# /etc/mrtg/scripts/cputemp.sh
47
43
47
43

Problem ist nun, dass ich in den Graphen die Legende für Core1 vermisse und auch die Werte dort nicht angezeigt werden.

Ausschnitt aus system_cputemp.log:
Code:
1242928652 46 41
1242928652 0 0 0 0
1242928352 0 0 0 0
1242928200 0 0 0 0
1242927900 0 0 0 0
1242927600 0 0 0 0
1242927300 0 0 0 0
1242927000 0 0 0 0
1242926700 0 0 0 0
1242926400 0 0 0 0

Teil der mrtg.cfg:
Code:
##################################################################################################### System: CPU Temperature
Target[system_cputemp]:`/etc/mrtg/scripts/cputemp.sh`
Options[system_cputemp]: growright,nobanner,noinfo,nopercent,noo
MaxBytes[system_cputemp]: 1000000
WithPeak[system_cputemp]: ymwd
Title[system_cputemp]: System: CPU Temperature
PageTop[system_cputemp]: <H1>System: CPU Temperature</H1>
Unscaled[system_cputemp]: ymwd
YLegend[system_cputemp]: C
ShortLegend[system_cputemp]: C
LegendI[system_cputemp]: Temperature Core0:&nbsp;
LegendO[system_cputemp]: Temperature Core1:&nbsp;
Legend1[system_cputemp]: Core0
Legend3[system_cputemp]: Core1

URL zu den Graphen: hier


Irgendwer eine Idee?

Danke im voraus.


-W
 
Ich vemisse bei den Optionen ein "gauge".
So wird immer nur die Differenz zum letzten Wert aufgezeichnet, was bei Netzwerkdurchsatz ja auch Sinn macht, bei Temperaturen aber nicht wirklich. :)
 
gauge nachgetragen, mrtg neugestartet, anderes Log, anderes Problem ;)
Danke dafür schonmal :)

Code:
Options[system_cputemp]: growright,nobanner,noinfo,nopercent,noo,gauge

Code:
1242931175 45 40
1242931175 45 40 45 40
1242930876 20 18 46 41

Warum zeigt der mir nur Core0 an?


-W
 
Nach einem Blick auf zwei unterschiedlichen Systemen habe ich den Eindruck, dass sensors unterschiedliche Outputs haben kann.

Daher hier einfach mal meine mrtg-sensors:
Code:
#!/bin/sh

PATH=/bin:/usr/bin

MYSENSORS=`/usr/bin/sensors`

echo $MYSENSORS | awk '{print $7}' | sed -e 's/+//' -e 's/Ã.ÂC//' #waerme Bereich Core0
echo $MYSENSORS | awk '{print $13}' | sed -e 's/+//' -e 's/Ã.ÂC//' #waerme Bereich Core1

echo `uptime` | cut -d, -f 1 | awk '{print $3, $4}'
echo `/bin/hostname`
Hierbei sei beachtet, dass sensors nur einmal ausgelesen wird. Die Eleminierung der Sonderzeichen brauche ich bei meinem Debian etch.

Zu Deiner letzten Frage:
MRTG kann immer nur zwei Werte pro Target auslesen. Der dritte und vierte Wert sind Uptime und Host/Version-String.
Erst in einem späteren Schritt kann man die Werte zu einem Graphen kumulieren.

huschi.
 
Hallo Huschi,

ich will auch nur 2 Werte in dem Target. Eben die aktuelle Temperatur vom Core0 und Core1, welche ich mit meinem Script erfolgreich auslese. Was ich noch nicht verstehe, warum er mir nur Core0 anzeigt bei den Graphen, obwohl er ja beide Werte bekommt.
Ich habe nun in meinem cputemp.sh die echo-Ausgaben auf 1pro Core mal abgeändert, sehe im Graph aber weiterhin nur Core0.


-W

[edit]man entferne die Option 'noo' und der Graph macht das, was er soll. Thx euch beiden.[/edit]
 
Last edited by a moderator:
Hier mal meine Diff zu Deiner oben aufgeführten cfg:
Code:
#WithPeak[server.cputemp]: wmyd
MaxBytes[server.cputemp]: 75
Options[server.cputemp]: growright,nopercent,gauge
Versuch es mal damit. :confused:

huschi.
 
Danke Huschi,

Dein Post und mein edit haben sich scheinbar überschnitten ;)
Problem ist gelöst, wie bereits editiert ;)

Danke trotzdem.


-W
 
Back
Top