Automatizované měření dostupnosti sítě pingem: Porovnání verzí
m (Stránka Automatizované měřenà dostupnosti sÃtÄ› pingem přemístěna na stránku Automatizované měření dostupnosti sítě pingem) |
|||
(Není zobrazeno 8 mezilehlých verzí od jednoho dalšího uživatele.) | |||
Řádek 1: | Řádek 1: | ||
− | Bash-skript pro měření dostupnosti [http://charon.hkfree.org/~vojta/dostupnost.sh dostupnost.sh] | + | Bash-skript pro měření dostupnosti: [http://charon.hkfree.org/~vojta/dostupnost.sh dostupnost.sh] |
===Jak to funguje=== | ===Jak to funguje=== | ||
Nepřetržitě pingá na zadanou IP adresu (nebo hostname), výsledek (packetloss, roundtrip time) zapisuje do textového souboru. U pingu lze nastavit i velikost paketu; výchozí je 64 bajtů (pozor na přetěžování sítě!) | Nepřetržitě pingá na zadanou IP adresu (nebo hostname), výsledek (packetloss, roundtrip time) zapisuje do textového souboru. U pingu lze nastavit i velikost paketu; výchozí je 64 bajtů (pozor na přetěžování sítě!) | ||
− | Obsahuje jednoduchý algoritmus na vyhodnocení, který pracuje takto: Stanoví se limitní packetloss. Každá | + | Obsahuje jednoduchý algoritmus na vyhodnocení, který pracuje takto: Stanoví se limitní packetloss. Každá minuta (60 pingů) se vyhodnotí - má-li packetloss vyšší než limit, považuje se za chybovou, jinak za dobrou. Celková dostupnost za období (den měsíc) se vypočte jako poměr dobrých minut k celkovému počtu. |
===Příklad=== | ===Příklad=== | ||
− | Den má 1440 minut, máme tedy 1440 | + | Den má 1440 minut, máme tedy 1440 záznamů od pingu. V 150 případech byl packetloss větší než 50 procent. Dostupnost za ten den je 89.58%. |
===Použítí=== | ===Použítí=== | ||
− | Stáhnout | + | Stáhnout skript [http://charon.hkfree.org/~vojta/dostupnost.sh dostupnost.sh], uložit ho do /usr/local/bin. Pozor, potřebuje bash verze alespoň 3.0 (na starších systémech bývá 2.05 - nutno sehnat nový) |
Pak spustit (ip adresa je příklad) | Pak spustit (ip adresa je příklad) | ||
$ dostupnost.sh start 85.132.160.1 | $ dostupnost.sh start 85.132.160.1 | ||
Řádek 16: | Řádek 16: | ||
Program si ukládá data do textového souboru, 1 řádek za interval (minutu). Soubor se jmenuje /tmp/ping.<cíl>, např. tedy /tmp/ping.85.132.160.1. | Program si ukládá data do textového souboru, 1 řádek za interval (minutu). Soubor se jmenuje /tmp/ping.<cíl>, např. tedy /tmp/ping.85.132.160.1. | ||
Formát je následující: | Formát je následující: | ||
− | cíl datum čas PS PL TX RX rtt:min/avg/max/mdev | + | cíl datum čas PS PL TX RX rtt:min/avg/max/mdev "INFO" |
cíl - IP adresa nebo hostname cíle (stejná jako v názvu souboru) | cíl - IP adresa nebo hostname cíle (stejná jako v názvu souboru) | ||
Řádek 30: | Řádek 30: | ||
RX - počet přijatých odpovědí (ICMP echo reply) | RX - počet přijatých odpovědí (ICMP echo reply) | ||
− | rtt - | + | rtt - nejkratší,průměrná,nejdelší doba odezvy, střední odchylka - vše v ms |
+ | |||
+ | INFO - nepovinné; pokud výstup pingu obsahuje řádek "From", tento je zde zapsaný (hlášky jako From 10.107.1.181 icmp_seq=1 Destination Host Unreachable apod) | ||
85.132.160.1 20060713-17:31:00 64 0% 30 30 20.135/28.251/76.200/10.475 | 85.132.160.1 20060713-17:31:00 64 0% 30 30 20.135/28.251/76.200/10.475 | ||
Řádek 36: | Řádek 38: | ||
85.132.160.1 20060713-17:33:00 64 3% 30 29 18.712/27.488/69.749/10.031 | 85.132.160.1 20060713-17:33:00 64 3% 30 29 18.712/27.488/69.749/10.031 | ||
85.132.160.1 20060713-17:34:00 64 0% 30 30 19.474/25.727/36.060/4.352 | 85.132.160.1 20060713-17:34:00 64 0% 30 30 19.474/25.727/36.060/4.352 | ||
+ | 85.132.160.1 20060724-10:57:45 64 100% 3 0 - "From 10.107.1.181 icmp_seq=1 Destination Host Unreachable" | ||
===Výstup=== | ===Výstup=== | ||
Řádek 51: | Řádek 54: | ||
===Autor=== | ===Autor=== | ||
− | VojtaLhota | + | VojtaLhota, Jabber: VojtaP@jabber.cz |
− | Jabber: VojtaP@jabber.cz |
Aktuální verze z 17. 1. 2009, 17:57
Bash-skript pro měření dostupnosti: dostupnost.sh
Jak to funguje
Nepřetržitě pingá na zadanou IP adresu (nebo hostname), výsledek (packetloss, roundtrip time) zapisuje do textového souboru. U pingu lze nastavit i velikost paketu; výchozí je 64 bajtů (pozor na přetěžování sítě!) Obsahuje jednoduchý algoritmus na vyhodnocení, který pracuje takto: Stanoví se limitní packetloss. Každá minuta (60 pingů) se vyhodnotí - má-li packetloss vyšší než limit, považuje se za chybovou, jinak za dobrou. Celková dostupnost za období (den měsíc) se vypočte jako poměr dobrých minut k celkovému počtu.
Příklad
Den má 1440 minut, máme tedy 1440 záznamů od pingu. V 150 případech byl packetloss větší než 50 procent. Dostupnost za ten den je 89.58%.
Použítí
Stáhnout skript dostupnost.sh, uložit ho do /usr/local/bin. Pozor, potřebuje bash verze alespoň 3.0 (na starších systémech bývá 2.05 - nutno sehnat nový) Pak spustit (ip adresa je příklad)
$ dostupnost.sh start 85.132.160.1
Formát dat
Program si ukládá data do textového souboru, 1 řádek za interval (minutu). Soubor se jmenuje /tmp/ping.<cíl>, např. tedy /tmp/ping.85.132.160.1. Formát je následující:
cíl datum čas PS PL TX RX rtt:min/avg/max/mdev "INFO"
cíl - IP adresa nebo hostname cíle (stejná jako v názvu souboru)
datum, čas - začátek měřeného intervalu (minuty)
PS - packet size: velikost ICMP paketu v bajtech (výchozí hodnota 64B)
PL - packet loss: % ztracených paketů (0% super, 10% ujde, 50% nepoužitelné, 100% ani ťuk)
TX - počet odeslaných paketů (ICMP echo request)
RX - počet přijatých odpovědí (ICMP echo reply)
rtt - nejkratší,průměrná,nejdelší doba odezvy, střední odchylka - vše v ms
INFO - nepovinné; pokud výstup pingu obsahuje řádek "From", tento je zde zapsaný (hlášky jako From 10.107.1.181 icmp_seq=1 Destination Host Unreachable apod)
85.132.160.1 20060713-17:31:00 64 0% 30 30 20.135/28.251/76.200/10.475 85.132.160.1 20060713-17:32:00 64 0% 30 30 20.629/36.877/114.071/22.401 85.132.160.1 20060713-17:33:00 64 3% 30 29 18.712/27.488/69.749/10.031 85.132.160.1 20060713-17:34:00 64 0% 30 30 19.474/25.727/36.060/4.352 85.132.160.1 20060724-10:57:45 64 100% 3 0 - "From 10.107.1.181 icmp_seq=1 Destination Host Unreachable"
Výstup
Po několika dnech provozu se můžeme dobrat výsledku
$ dostupnost.sh result 10.107.7.1 Report generated on somehost at Thu Jul 13 18:44:07 CEST 2006 Availability report for 10.107.7.1, interval packetloss limit: 50% date avilibility pktsize number of measurements 20060711 100% 64 8 (0 bad) 20060712 100% 64 14 (0 bad) 20060713 68.6% 64 220 (69 bad) 20060714 0% 64 2 (2 bad) 20060713 91.17% 64 521 (46 bad) 200607 84.7% 64 765
Autor
VojtaLhota, Jabber: VojtaP@jabber.cz