Irgendwelche hübsche neuerungen?

Das wird sicher möglich sein, aber ich finde meine Lösung eleganter.Zettel hat geschrieben: PPS: Kann man nicht irgendwie die rrd Daten auswerten? Man könnte dann ja zB immer einen reboot machen wenn da 0 Werte geschrieben werden.
Code: Alles auswählen
#!/bin/bash
# Load configuration
source /home/pi/kdg/config.sh
# Constants
source /home/pi/kdg/constants.sh
for i in "${!FREQUENCIES[@]}"; do
rrdtool create ${FREQUENCIES[$i]}.rrd --step 300 \
DS:bandwidth:GAUGE:105:0:U \
RRA:MIN:0.5:1:105120 \
RRA:MAX:0.5:1:105120 \
RRA:AVERAGE:0.5:1:105120 \
RRA:LAST:0.5:1:105120
done
Code: Alles auswählen
#!/bin/bash
# Load configuration
source /home/pi/kdg/config.sh
# Constants
source /home/pi/kdg/constants.sh
if `tail -1 /var/log/mediaclient.log | grep -q timed`;
then
echo `date +"%F %R:%S"`" Neustart" >>/var/log/mediaclient.log;
shutdown -r now;
fi
for i in "${!FREQUENCIES[@]}";
do
lock=$(/opt/bin/mediaclient -m DVBC -f ${FREQUENCIES[$i]} -S 6952000 -M Q256 | grep 'LOCKED')
if [ -z "$lock" ]; then
export BW=0
else
bwraw=$(timeout 3s /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | timeout 2s /opt/bin/mediaclient --pipecount=1000 2>&1 | awk '{ print $3}')
bwraw=$(echo $bwraw | awk '{ print $1}')
let bwraw=bwraw*8
export bandwidth=$bwraw
fi
echo "Freq: ${FREQUENCIES[$i]} Measured: ${bandwidth} kbit/s"
rrdtool update /home/pi/kdg/${FREQUENCIES[$i]}.rrd N:$bandwidth
done
Code: Alles auswählen
#!/bin/bash
# Load configuration
source /home/pi/kdg/config.sh
# Constants
source /home/pi/kdg/constants.sh
for i in "${!FREQUENCIES[@]}"; do
for j in "${!TIMES[@]}"; do
rrdtool graph ${BASE_DIR}/images/${FREQUENCIES[$i]}-${FILE_NAMES[$j]}.png \
--title="${LOCATION} | ${FREQUENCIES[$i]} Hz - QAM256 - 6952kHz | ${TIMES_NAMES[$j]}" \
--vertical-label='kBit per Second' \
-W "$HOST @ $(date '+%F %T %Z')" \
--slope-mode \
-w 600 -h 150 \
-l 0 -u 55620 \
DEF:bmin=${BASE_DIR}/${FREQUENCIES[$i]}.rrd:bandwidth:MIN \
DEF:bmax=${BASE_DIR}/${FREQUENCIES[$i]}.rrd:bandwidth:MAX \
DEF:blast=${BASE_DIR}/${FREQUENCIES[$i]}.rrd:bandwidth:LAST \
DEF:bavg=${BASE_DIR}/${FREQUENCIES[$i]}.rrd:bandwidth:AVERAGE \
AREA:55620#c9feb8 \
STACK:4380#feb8b8 \
VDEF:allmax=bavg,MAXIMUM \
VDEF:allavg=bavg,AVERAGE \
VDEF:allmin=bavg,MINIMUM \
VDEF:allstdev=bavg,STDEV \
CDEF:lowtraf=bavg,13905,LE,bavg,UNKN,IF \
CDEF:mediumtraf=bavg,41715,LE,bavg,UNKN,IF \
CDEF:lowpct=bmin,55620,/,100,* \
CDEF:avgpct=bavg,55620,/,100,* \
CDEF:maxpct=bmax,55620,/,100,* \
CDEF:lastpct=blast,55620,/,100,* \
AREA:bavg#ff572a:"High Traffic (>80%)" \
GPRINT:bmax:MAX:" Max\:%8.2lf %s" \
GPRINT:maxpct:MAX:"%8.2lf (%%) \n" \
AREA:mediumtraf#ffb62a:"Medium Traffic (>20%)" \
GPRINT:bavg:AVERAGE:" Avg\:%8.2lf %s" \
GPRINT:avgpct:AVERAGE:"%8.2lf (%%) \n" \
AREA:lowtraf#ffed2a:"Low Traffic (>0%)" \
GPRINT:bmin:MIN:" Min\:%8.2lf %s" \
GPRINT:lowpct:MIN:"%8.2lf (%%) \n" \
GPRINT:blast:LAST:" Last\:%8.2lf %s" \
GPRINT:lastpct:LAST:"%8.2lf (%%) \n" \
HRULE:55620#000000:"CAP (55.62 Mbit/s)":dashes=5 \
LINE1:bmax#5f5f5f:"Peak-Bandwidth"
echo ""
done
done
wenn du mit rrdtool dump 54600000.rrd >546.txt die rrd in eine Textdatei exportierst solltest du (mindestens) in den "300 seconds" Bereichen Werte finden, die NICHT "nan" (Not A Number) sind.Zettel hat geschrieben:Ich brauch noch mal eure Hilfe. Meine Versuche, das nur mit den Bordmitteln von Sundtek zu realisieren klappen noch nicht so richtig. freq_collect.sh läuft durch und gibt auch Werte raus, nur leider erscheinen die Werte nicht in den generierten Diagrammen. Vielleicht findet ja einer meinen Fehler.![]()
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump -->
<rrd>
<version>0003</version>
<step>60</step> <!-- Seconds -->
<lastupdate>1399555579</lastupdate> <!-- 2014-05-08 13:26:19 UTC -->
<ds>
<name> bandwidth </name>
<type> GAUGE </type>
<minimal_heartbeat>105</minimal_heartbeat>
<min>0.0000000000e+00</min>
<max>5.5620000000e+07</max>
<!-- PDP Status -->
<last_ds>14997394</last_ds>
<value>2.9473123146e+08</value>
<unknown_sec> 0 </unknown_sec>
</ds>
<!-- Round Robin Archives -->
<rra>
<cf>MIN</cf>
<pdp_per_row>5</pdp_per_row> <!-- 300 seconds -->
<params>
<xff>0.0000000000e+00</xff>
</params>
<cdp_prep>
<ds>
<primary_value>1.0807241153e+07</primary_value>
<secondary_value>1.1251474406e+07</secondary_value>
<value>1.3148224787e+07</value>
<unknown_datapoints>0</unknown_datapoints>
</ds>
</cdp_prep>
<database>
<!-- 2014-05-07 13:30:00 UTC / 1399469400 --> <row><v>NaN</v></row>
<!-- 2014-05-07 13:35:00 UTC / 1399469700 --> <row><v>NaN</v></row>
<!-- 2014-05-07 13:40:00 UTC / 1399470000 --> <row><v>NaN</v></row>
[schnippel-schnppel]
<!-- 2014-05-08 12:50:00 UTC / 1399553400 --> <row><v>6.3698859266e+06</v></row>
<!-- 2014-05-08 12:55:00 UTC / 1399553700 --> <row><v>7.6083509269e+06</v></row>
<!-- 2014-05-08 13:00:00 UTC / 1399554000 --> <row><v>9.0829472058e+06</v></row>
<!-- 2014-05-08 13:05:00 UTC / 1399554300 --> <row><v>7.5561481071e+06</v></row>
<!-- 2014-05-08 13:10:00 UTC / 1399554600 --> <row><v>5.4128127860e+06</v></row>
<!-- 2014-05-08 13:15:00 UTC / 1399554900 --> <row><v>5.9386185011e+06</v></row>
<!-- 2014-05-08 13:20:00 UTC / 1399555200 --> <row><v>9.1050562341e+06</v></row>
<!-- 2014-05-08 13:25:00 UTC / 1399555500 --> <row><v>1.0807241153e+07</v></row>
</database>
</rra>