Auslastung des eigenen Segments ansehen

Für alle Technik-Themen bezogen auf Internet und Telefonie, die weder AVM- noch Arris-/CommScope-/Technicolor-/Compal-/Sagemcom- bzw. Hitron-Produkte betreffen. Speedprobleme werden hier lediglich thematisiert, wenn sie auf die verwendeten Geräte zurückzuführen sind (die nicht zu den o.g. Produkten zählen).
Forumsregeln
Forenregeln


Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“), von eazy („[eazy]“) oder von O2 über Kabel („[O2]“) bist.
Zettel
Newbie
Beiträge: 37
Registriert: 05.03.2014, 15:37

Re: Auslastung des eigenen Segments ansehen

Beitrag von Zettel »

Gibt es was neues, von den Experten, was man unbedingt wissen muß?
Irgendwelche hübsche neuerungen? :wink2:
Benutzeravatar
DarkKnight93
Kabelexperte
Beiträge: 582
Registriert: 15.08.2010, 13:50
Wohnort: München

Re: Auslastung des eigenen Segments ansehen

Beitrag von DarkKnight93 »

Inwiefern?
████ This is a Hoizbrettl. I use it for hauing special deppade Leid!
Zettel
Newbie
Beiträge: 37
Registriert: 05.03.2014, 15:37

Re: Auslastung des eigenen Segments ansehen

Beitrag von Zettel »

Läuft mittlerweile bei jemandem das Projekt auf einem Pi stabil? Ich möchte wegen der Stromkosten ungern etwas anderes nutzen. Nur leider habe ich immer noch Aussetzer.
ritchie
Fortgeschrittener
Beiträge: 353
Registriert: 06.01.2011, 18:35

Re: Auslastung des eigenen Segments ansehen

Beitrag von ritchie »

Ich probiere regelmäßig die jeweils neueste Pi-Firmware (rpi-update) und die neuesten Sundtek-Treiber aus. Bis jetzt hat sich der mediasrv noch jedesmal nach mehr oder weniger langer Zeit aufgehängt.

Momentan läuft's seit Samstag Nachmittag durch, also immerhin schon fast 48 Stunden. Ich rechne eigentlich minütlich mit dem Hänger...
Benutzeravatar
koaschten
Insider
Beiträge: 3982
Registriert: 04.06.2010, 14:21
Wohnort: Itzehoe

Re: Auslastung des eigenen Segments ansehen

Beitrag von koaschten »

Ganz ehrlich? Ich mach mir da keinen Kopf drum und reboote einfach einmal am Tag via shutdown -r ... crontab 2 uhr morgends, gut is.
Zettel
Newbie
Beiträge: 37
Registriert: 05.03.2014, 15:37

Re: Auslastung des eigenen Segments ansehen

Beitrag von Zettel »

Ok, dann werde ich auch mal einen reboot um 2 Uhr machen.

PS: Koaschten ich beneide dich und dein Segment, ich wohne nur 25 km entfernt von dir und hier ist abends alles komplett dicht.
Scheinbar werden hier bei mir aber auch nur die oberen 4 Kanäle fürs Internet genutzt... :motz: :wand: :kotz:

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.
Benutzeravatar
NoGi
Fortgeschrittener
Beiträge: 307
Registriert: 29.11.2012, 13:06
Wohnort: Metropolregion Rhein-Neckar

Re: Auslastung des eigenen Segments ansehen

Beitrag von NoGi »

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.
Das wird sicher möglich sein, aber ich finde meine Lösung eleganter.
http://www.kdgforum.de/viewtopic.php?f= ... 40#p440297

-NoGi
Benutzeravatar
koaschten
Insider
Beiträge: 3982
Registriert: 04.06.2010, 14:21
Wohnort: Itzehoe

Re: Auslastung des eigenen Segments ansehen

Beitrag von koaschten »

Recht hat der Nogi und ich wollte das schon längst implementieren...

@Zettel
Bei uns ist im Juni letztes Jahr segmentiert worden ->
[ externes Bild ]
Zettel
Newbie
Beiträge: 37
Registriert: 05.03.2014, 15:37

Re: Auslastung des eigenen Segments ansehen

Beitrag von Zettel »

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. :confused:

create_rrds.sh

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
freq_collect.sh

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
gen_singles.sh

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
Ergebnis
[ externes Bild ]
Benutzeravatar
NoGi
Fortgeschrittener
Beiträge: 307
Registriert: 29.11.2012, 13:06
Wohnort: Metropolregion Rhein-Neckar

Re: Auslastung des eigenen Segments ansehen

Beitrag von NoGi »

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. :confused:
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.

sieht bei mir so aus:

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>

Wenn dort nur nans stehen ist zu vermuten, dass nicht in die Datenbank geschrieben wird.
Du kannst ja mal die echo "Freq: ${FREQUENCIES[$i]} Measured: ${bandwidth} kbit/s" Zeile so abändern, dass sie in eine Textdadei und /oder Log schreibt.
Bei mir ist das auch die >>/var/log/mediaclient.log

Frohes Weitersuchen ;-)

EDIT: Noch ein Nachsatz: Welche Kanäle sind den bei dir aktiv? Nicht dass du auf leeren Kanälen suchsts, da ist nämlich immer Null.
Bei mir hat z.B Kabelbw die oberen Kanäle stundenweise aus der Verarbeitung genommen.

-NoGi