Ako monitorovať domáce internetové pripojenie — a dokázať to poskytovateľovi

Ako monitorovať domáce internetové pripojenie — a dokázať to poskytovateľovi

Obsah

Videohovor zamrzne, hra laguje, obchodný terminál sa znova pripája. Speedtest o päť minút neskôr ukáže 500 Mbit/s a všetko vyzerá v poriadku. Zavoláte poskytovateľovi, ten „na linke nevidí žiadny problém“ a odporučí reštartovať router.

Problém s občasnými výpadkami je v tom, že sú občasné. Kým ich začnete skúmať, zmiznú — a bez dôkazov každý obviňuje niekoho iného: Wi-Fi, počasie, server na druhej strane.

Potrebujete nepretržité meranie všetkých článkov reťaze súčasne. Presne to robí pingtrix.

Princíp: pingovať všetky body naraz

Medzi vaším notebookom a napríklad serverom na videokonferencie je niekoľko nezávislých úsekov:

  1. Vaše zariadenie → domáci router — Wi-Fi alebo ethernetový kábel.
  2. Domáci router → brána poskytovateľa — prípojka: optika, kábel, DSL, LTE.
  3. Poskytovateľ → internet — chrbticová sieť poskytovateľa a jeho prepojenie s ostatnými.
  4. Internet → cieľový server — vzdialená sieť a samotný server.

Ak pingujete všetky tieto body naraz a výsledky zoradíte vedľa seba na časovej osi, chybný úsek je zrejmý: problémy sa objavia na ňom a na všetkých bodoch za ním, zatiaľ čo všetko pred ním zostane čisté.

pingtrix pinguje ľubovoľný počet hostov súčasne a výsledky kreslí ako živý farebný graf v termináli — jeden stĺpec na hosta, jeden znak na ping.

Inštalácia

pingtrix je jediný spustiteľný súbor bez závislostí pre Linux, macOS a Windows (amd64 aj arm64). Stiahnite archív pre svoju platformu z GitHub Releases, rozbaľte ho a spustite z terminálu.

Alebo ho spustite cez Docker bez inštalácie:

docker run --rm -it ghcr.io/bsv9/pingtrix 8.8.8.8 1.1.1.1

Poznámky k platformám:

  • Windows — funguje bez administrátorských práv; používa rovnaké ICMP API ako ping.exe.

  • macOS — funguje bez sudo.

  • Linux — neprivilegovaný ICMP môže byť potrebné raz povoliť:

    sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
    

    (alebo pingtrix jednoducho spustite cez sudo).

Krok 1: zistite adresy jednotlivých bodov

Potrebujete tri až štyri adresy:

  • Router — vaša predvolená brána, zvyčajne 192.168.0.1 alebo 192.168.1.1. Zistíte ju cez ipconfig vo Windows, ip route v Linuxe alebo netstat -rn | grep default v macOS.

  • Brána poskytovateľa — prvý bod za vaším routerom. Spustite traceroute a vezmite druhý riadok:

    traceroute -n 1.1.1.1      # macOS / Linux
    tracert -d 1.1.1.1         # Windows
    

    Ak je to adresa ako 100.64.x.x alebo 10.x.x.x, poskytovateľ používa carrier-grade NAT — to je v poriadku, stále ide o jeho zariadenie.

  • Stabilný verejný host — 8.8.8.8 (Google DNS) alebo 1.1.1.1 (Cloudflare DNS). Patria medzi najspoľahlivejšie adresy na internete.

  • Služba, na ktorej vám naozaj záleží — firemná VPN, herný server, API brokera.

Krok 2: spustite meranie

pingtrix 192.168.1.1 100.64.0.1 8.8.8.8 meet.example.com

pingtrix v termináli: štyri hosty, strata paketov iba na poslednom

Každý riadok začína časom a postupne sa plní jedným znakom za každý ping:

Symbol Význam
. (zelená) Odpoveď pod 100 ms
1 … 9 Odpoveď v stovkách milisekúnd: 2 = 200–299 ms, 9 = 900 ms a viac; farba prechádza zo zelenej do červenej
X (červená) Timeout — paket sa stratil
! (žltá) Nedostupné alebo chyba DNS

Po ukončení cez Ctrl+C pingtrix vypíše súhrn pre každý host: odoslané pakety, odpovede, timeouty, chyby, minimálnu/priemernú/maximálnu latenciu a percento straty.

Užitočné voľby:

# zachytenie krátkych výpadkov: ping každých 200 ms s timeoutom 500 ms
pingtrix -i 200ms -w 500ms 192.168.1.1 8.8.8.8

# dlhodobé meranie s voľnejším intervalom
pingtrix -i 5s -w 2s 192.168.1.1 8.8.8.8 meet.example.com

Krok 3: ako čítať graf

Hľadajte prvý stĺpec, v ktorom sa objavia X alebo vysoké číslice.

Čo vidíte Kde je problém
Straty už na routeri Doma: rušenie Wi-Fi, slabý signál, zlý kábel, preťažený router. Skúste kábel namiesto Wi-Fi; ak straty zmiznú, ide o bezdrôtové pripojenie.
Router čistý, straty od brány poskytovateľa ďalej Vaša prípojka alebo zariadenie poskytovateľa. S týmto choďte za poskytovateľom.
Brána poskytovateľa čistá, straty na 8.8.8.8 a ďalej Chrbticová sieť alebo konektivita poskytovateľa — stále je to jeho zodpovednosť.
Všetko čisté okrem jedného cieľa Vzdialená služba alebo jej sieť. Vaše pripojenie je v poriadku, problém je na druhej strane.
Latencia rastie každý večer, 19:00–23:00 Preťaženie — kapacita poskytovateľa nestačí na špičku.

Snímka vyššie je dobrým príkladom predposledného prípadu: router (192.168.100.1) aj Google DNS sú čisté so stratou 0,0 % a 0,3 %, ale jeden vzdialený host má stratu 19,4 % pri stálych ~210 ms. Volať domácemu poskytovateľovi nemá zmysel — problém je ďaleko.

Note

Niektoré routery a zariadenia poskytovateľov zámerne dávajú ICMP nízku prioritu alebo ho obmedzujú. Ak medziľahlý bod občas ukáže X, ale všetky body za ním sú čisté, nejde o skutočnú stratu paketov — prevádzka cez zariadenie prechádza v poriadku, len neodpovedá na ping. Skutočné problémy sa šíria ďalej po reťazi.

Krok 4: zbierajte dôkazy

Na rozhovor s poskytovateľom stačí screenshot — ale logy sú lepšie. S voľbou -d pingtrix zapisuje všetko do súborov:

pingtrix -d ./logs 192.168.1.1 100.64.0.1 8.8.8.8

Vzniknú:

  • CSV súbor s Unix časom a dobou odozvy každého hosta pre každé meranie (X pre timeout, ! pre nedostupnosť) — ľahko ho otvoríte v tabuľkovom procesore alebo z neho urobíte graf;
  • textový log pre každý host v rovnakom formáte ./X, každý riadok s dátumom a časom, ktorý sa ľahko číta aj prikladá k reklamácii.

Nechajte meranie bežať deň-dva. Pri kontakte s podporou potom môžete povedať: „23. februára medzi 19:40 a 21:15 sa stratilo 8 % paketov na vašu bránu 100.64.0.1, zatiaľ čo môj router mal 0 % — logy v prílohe.“ To je úplne iný rozhovor ako „internet je niekedy pomalý“.

Na trvalé meranie použite ľubovoľný stále zapnutý počítač doma — Raspberry Pi, NAS alebo domáci server — s Dockerom:

docker run -d --name pingtrix --restart unless-stopped -t \
  -v /srv/pingtrix:/logs \
  ghcr.io/bsv9/pingtrix -i 2s -d /logs 192.168.1.1 100.64.0.1 8.8.8.8 1.1.1.1

Meranie z počítača pripojeného káblom zároveň vylúči Wi-Fi: ak domáci server vidí čistú linku a notebook straty, problém je v bezdrôtovej sieti.

Zhrnutie

  • Pingujte router, bránu poskytovateľa, verejný DNS server a váš cieľ súčasne.
  • Prvý bod, kde sa straty objavia — a pretrvávajú —, je miesto problému.
  • Ignorujte straty na medziľahlých bodoch, ktoré sa nešíria ďalej.
  • Zapisujte logy cez -d a dajte poskytovateľovi fakty, nie pocity.

pingtrix je open source pod licenciou MIT: github.com/bsv9/pingtrix. Inšpiráciou bol ping-xray, prepísaný ako jediný Go binárny súbor bez externých závislostí.

Potrebujete poriadny monitoring kancelárie alebo firemnej siete, nie len domáceho pripojenia? Ozvite sa nám — Zabbix, Prometheus a Grafana sú naše každodenné nástroje.

comments powered by Disqus

Súvisiace články

Stav diskov ESXi v Zabbixe: SMART pre SATA, health log pre NVMe

Stav diskov ESXi v Zabbixe: SMART pre SATA, health log pre NVMe

Štandardné Zabbix templaty pre VMware (VMware a VMware Hypervisor, cez vSphere API) sú výborné na CPU, pamäť, datastory a stav VM. Neprezradia však, ako sa majú fyzické disky v samostatnom ESXi hoste. Že disk zlyhal, sa dozviete, keď datastore prejde do offline — nie o týždeň skôr, keď disk začal presúvať sektory.

Čítať ďalej
Priebežné testovanie pravidiel firewallu v Zabbixe: čo má — a čo nemá — byť dostupné

Priebežné testovanie pravidiel firewallu v Zabbixe: čo má — a čo nemá — byť dostupné

Segmentácia siete vyzerá na diagrame skvele: DMZ sa nedostane do VLAN s databázami, kancelárske stanice sa nedostanú k management rozhraniam serverov, zálohy sú dostupné iba zo zálohovacieho servera. Potom prejde rok. Niekto pridá dočasné pravidlo „any-any“, aby odladil problém. Migrácia firewallu prevedie politiky trochu inak. Nová VLAN vznikne skopírovaním starej.

Čítať ďalej
Monitoring HPE Managed PDU v Zabbixe: napájanie, zásuvky, ističe a senzory v racku

Monitoring HPE Managed PDU v Zabbixe: napájanie, zásuvky, ističe a senzory v racku

PDU je najmenej oslnivá krabica v racku — kým nevypadne istič a polovica serverov nepríde o jeden zdroj, alebo kým nový server nepreťaží fázu a celý rack nezhasne. Managed PDU toto všetko meria. Údaje len musia skončiť niekde, kam sa ľudia naozaj pozerajú.

Čítať ďalej