<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>https://wiki.hkfree.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ch37</id>
	<title>HKfree wiki - Příspěvky uživatele [cs]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hkfree.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ch37"/>
	<link rel="alternate" type="text/html" href="https://wiki.hkfree.org/Speci%C3%A1ln%C3%AD:P%C5%99%C3%ADsp%C4%9Bvky/Ch37"/>
	<updated>2026-05-02T21:41:57Z</updated>
	<subtitle>Příspěvky uživatele</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.hkfree.org/index.php?title=Graf_ztr%C3%A1ty_paket%C5%AF&amp;diff=5643</id>
		<title>Graf ztráty paketů</title>
		<link rel="alternate" type="text/html" href="https://wiki.hkfree.org/index.php?title=Graf_ztr%C3%A1ty_paket%C5%AF&amp;diff=5643"/>
		<updated>2006-01-26T15:11:07Z</updated>

		<summary type="html">&lt;p&gt;Ch37: /* Sběr dat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Pomocí rrdtool a skriptu využívajícího příkaz ping lze jednoduše vytvořit graf ztráty paketů.''&lt;br /&gt;
&lt;br /&gt;
== Sběr dat ==&lt;br /&gt;
Pro vytvoření grafu potřebujeme získat data o aktuální ztrátě. To lze například pomocí tohoto skriptu:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 rrdtool=/usr/bin/rrdtool&lt;br /&gt;
 rrd=/var/www/stats/ploss.rrd&lt;br /&gt;
 ip=10.107.4.129&lt;br /&gt;
 &lt;br /&gt;
 # Vytvorit rrd soubor, pokud neexistuje&lt;br /&gt;
 if [ ! -e &amp;quot;$rrd&amp;quot; ]; then&lt;br /&gt;
   $rrdtool create &amp;quot;$rrd&amp;quot; -s 60 \&lt;br /&gt;
      DS:packetloss:GAUGE:120:0:100 \&lt;br /&gt;
      RRA:AVERAGE:0.5:1:600 \&lt;br /&gt;
      RRA:AVERAGE:0.5:15:672 \&lt;br /&gt;
      RRA:AVERAGE:0.5:60:744 \&lt;br /&gt;
      RRA:MAX:0.5:1:600 \&lt;br /&gt;
      RRA:MAX:0.5:15:672 \&lt;br /&gt;
      RRA:MAX:0.5:60:744&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Zmerit PL&lt;br /&gt;
 start=`date +%s`&lt;br /&gt;
 ping_output=`ping -i 0.2 -c 100 -q $ip | grep %`&lt;br /&gt;
 cut_after_proc=${ping_output%\%*}&lt;br /&gt;
 ploss=${cut_after_proc##* }&lt;br /&gt;
 #echo &amp;quot;$rrdtool update $rrd \&amp;quot;$start:$ploss\&amp;quot;&amp;quot;&lt;br /&gt;
 $rrdtool update $rrd &amp;quot;$start:$ploss&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Skript předpokládá, že příkaz ping (v mém systému z balíku iputils) zná příslušné parametry (pošle 100 paketů v intervalu 0.2s a použije &amp;quot;tichý&amp;quot; mód) a jeho výstup má patřičný formát (obsahuje právě jeden řádek se znakem procenta a přímo před tímto znakem je uvedena procentuální ztráta paketů). Takto může daný výstup z programu ping vypadat&lt;br /&gt;
 100 packets transmitted, 100 received, 0% packet loss, time 20199ms&lt;br /&gt;
&lt;br /&gt;
Tento skript by měl být vykonán každou minutu - například z cronu. Parametr -s, čili doba mezi dvěmi měřeními, je nastaven na 60 sekund při vytváření rrd souboru a v prvním řádku je u definice vstupních dat řečeno, že po 120 sekundách má být hodnota považována za neznámou.&lt;br /&gt;
&lt;br /&gt;
== Vytvoření grafu ==&lt;br /&gt;
Pro vytvoření grafu lze použít následující skript:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 width=600&lt;br /&gt;
 height=300&lt;br /&gt;
 rrdtool=/usr/bin/rrdtool&lt;br /&gt;
 stats_dir=/var/www/stats&lt;br /&gt;
 ploss_stats=&amp;quot;$stats_dir/ploss.rrd&amp;quot;&lt;br /&gt;
 ploss_graph0=&amp;quot;$stats_dir/ploss.png&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $rrdtool graph $ploss_graph0.tmp \&lt;br /&gt;
       --title 'Ztrata paketu na ronje - Poslednich 10 hodin' \&lt;br /&gt;
       --start 'end-10h' \&lt;br /&gt;
       --end   'now-1min' \&lt;br /&gt;
       --upper-limit   100 \&lt;br /&gt;
       --lower-limit   0 \&lt;br /&gt;
       --unit '%' \&lt;br /&gt;
       --vertical-label '%' \&lt;br /&gt;
       --imgformat     'PNG' \&lt;br /&gt;
       --width=$width \&lt;br /&gt;
       --height=$height \&lt;br /&gt;
       &amp;quot;DEF:pl=$ploss_stats:packetloss:AVERAGE&amp;quot; \&lt;br /&gt;
       &amp;quot;CDEF:mpl=pl,UN,0,pl,IF&amp;quot; \&lt;br /&gt;
       &amp;quot;AREA:mpl#ffcccc&amp;quot; \&lt;br /&gt;
       &amp;quot;LINE1:mpl#ff0000:ztrata paketu&amp;quot; \&lt;br /&gt;
       &amp;quot;GPRINT:mpl:AVERAGE:prumerna ztrata=%.1lf%%&amp;quot; \&lt;br /&gt;
       &amp;quot;GPRINT:mpl:MAX:maximalni ztrata=%.1lf%%\\n&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
   mv $ploss_graph0.tmp $ploss_graph0&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Pravidelným voláním tohoto skriptu zajistíme aktualizaci grafu. Narozdíl od sběru dat není nutné použít předem daný interval. Na slabších strojích je lepší zvolit delší prodlevu (případně nižší prioritu). Jednoduchou úpravou můžeme vytvořit skript pro týdenní a měsíční grafy.&lt;br /&gt;
&lt;br /&gt;
Jak vypadají vytvořené grafy si můžete prohlédnoutnout na [http://meliap.hkfree.org/stats/ronja.html http://meliap.hkfree.org/stats/ronja.html].&lt;/div&gt;</summary>
		<author><name>Ch37</name></author>
		
	</entry>
</feed>