Endurtenging sem klárast á sekúndu segir þér að biðlarinn sé fljótur. Hún segir þér ekki hvort eitthvað slapp út á meðan göngin voru niðri. Endurtenging sem tekur mínútu segir þér að biðlarinn sé hægur, og enn ekki hvort bein umferð var leyfð í bilinu. Þetta eru tvær mælingar, og kill switch-próf sem greinir aðeins frá þeirri fyrri hefur ekki prófað rofann.

Tvær athuganir, tveir aðskildir dómar

Framboðsspurningin er einföld: hvenær varð göngin nothæf aftur, og þurfti verndaða forritið nýja tengingu til að komast þangað. Framfylgdarsa spurningin er önnur: hvaða pakkar fóru út af vélinni frá því að verndin féll og þar til hún kom aftur.

Svaraðu þeim með aðskildum skrám. Ein lína segir að bilið hafi varað ákveðinn fjölda sekúndna. Önnur lína segir hvort óvarið beiðni tókst í bilinu. Að sameina þær í eitt staðist eða féll felur það tilvik sem skiptir mestu: hröð endurtenging með leka.

Byggðu mæli sem þú getur tímasett

Notaðu beiðni sem er meinlaus, ódýr og óháð eigin stjórnrás göngunnar. Lykkjan hér að neðan prentar tímastimpil, HTTP-stöðu og liðinn tíma einu sinni á sekúndu, og hún mistekst hávært í stað þess að hanga:

while true; do
  printf '%s ' "$(date +%H:%M:%S)"
  curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 2 https://example.com || echo "curl-exit-$?"
  sleep 1
done

Lestu útgöngukóða curl, ekki bara stöðuna. 28 þýðir að beiðnin rann út á tíma, svona lítur lokuð leið út. 6 þýðir að nafnupplausn mistókst, sem er önnur niðurstaða og oft sú áhugaverðari. 200 með stuttum liðnum tíma í bilinu þýðir að umferðinni var hleypt út.

Skrifaðu úttakið í skrá og geymdu hana. Skrunferill flugstöðvarinnar er ekki sönnun, og áhugaverði hlutinn er venjulega þrjár línur í miðjunni.

Vaktu raunverulegt bilun, ekki snyrtilegt

Að aftengja úr valmynd biðlarans sjálfs prófar samstarfsleiðina, þar sem biðlarinn hefur tíma til að setja upp blokkkunarreglur sínar. Drepdu ferlið í staðinn, eða rofddu undirliggjandi tenginguna, og þú prófar leiðina sem raunveruleg bilun fer.

Hver kveikja þjálfar aðra kóðaleið. Bilun á þjónshlið, tap á staðbundinni tengingu og hrun biðlarans geta hvert um sig skilið eftir sig mismunandi ástand, og eitt þeirra er líklega tilvikið sem þú lendir að lokum í. Keyrðu mælinn á að minnsta kosti tveimur kveikjum og merktu niðurstöðurnar eftir kveikju.

Lestu annálinn til að sjá hvernig leyfð umferð lítur út

200 eða hröð tengingarbilun í bilinu er leki, í hvaða átt sem hann vísar. Tímamörk allt bilið eru væntanleg mynd af blokkkunarstefnu. Nafnupplausn sem tekst á meðan tengingar mistakast bendir til að leysirinn sé enn aðgengilegur, sem er leki af annarri gerð.

Núverandi sambönd krefjast varúðar. Forrit getur haldið áfram að nota tengingu sem það opnaði fyrir aftenginguna, svo sýnilega lifandi umferð sannar kannski ekki að ný leið hafi verið leyfð. Sambandalistinn sýnir hvort tenging er eldri en atburðurinn:

ss -tunp | grep -E 'ESTAB|SYN-SENT'
ip route get 198.51.100.7
resolvectl status | sed -n '1,20p'

Berðu saman upphafstíma sambandsins við tímastimpil aftengingarinnar. Tenging sem er eldri en bilunin er sönnun um endurnotkun sambands, ekki leka, og að tilkynna hana sem bilun sendir næstu manneskju í eltingaleik við villu sem er ekki til.

Skráðu niðurstöðuna í formi sem lifir uppfærslu

Skrifaðu niður kveikjuna, bilið í sekúndum, hvort einhver óblokkuð beiðni tókst, hvort nafnupplausn tókst, og útgáfur biðlarans og stýrikerfisins. Þetta sett af fimm staðreyndum er hægt að bera saman milli útgáfa, sem málsgrein af prósa getur ekki.

Keyrðu sama próf aftur eftir uppfærslu biðlarans eða breytingu á sniði, því blokkkunarhegðun er útfærsluatriði og hún hreyfist. Tilgangur skrárinnar er að taka eftir hreyfingunni áður en hún verður atvik, ekki að votta biðlarann einu sinni.

Tengdir greinar