Skip to main content
Faqja kryesoreBlogUdhëzues për besueshmërinë e Tracking API: Si të monitoroni disponueshmërinë, freskinë e të dhënave dhe përditësimet e humbura pas kalimit në prodhim

Udhëzues për besueshmërinë e Tracking API: Si të monitoroni disponueshmërinë, freskinë e të dhënave dhe përditësimet e humbura pas kalimit në prodhim

17TRACK

Pas kalimit në prodhim, monitoroni besueshmërinë e tracking API në tre shtresa të veçanta: nëse kërkesat përfundojnë me sukses, nëse informacioni i dërgesës arrin brenda një vonese të pranueshme dhe nëse përditësimet mbërrijnë në sistemet tuaja pa boshllëqe. Një përgjigje e suksesshme nga API nuk provon se të dhënat e gjurmimit janë të freskëta ose se një njoftim për klientin është dorëzuar. Jepini secilës shtresë metrikat, alarmet dhe procedurën e vet të rikuperimit.

Udhëzues për besueshmërinë e Tracking API: Si të monitoroni disponueshmërinë dhe freskinë e të dhënave

Ky udhëzues është për inxhinierët dhe ekipet e operacioneve përgjegjëse për një integrim aktiv të gjurmimit të dërgesave. Objektivi është të zbuloni humbjen e dukshmërisë përpara se ajo të kthehet në problem për mbështetjen, pastaj të përcaktoni nëse dështimi qëndron te furnizimi i transportuesit, ofruesi i gjurmimit, marrësi juaj i webhook-ut apo përpunimi pasues.

Përcaktoni se çfarë do të thotë një përditësim i besueshëm i gjurmimit

Filloni me rrugën e plotë të dorëzimit: regjistrimi i dërgesës, marrja nga ofruesi, përgjigjja e API ose dorëzimi i webhook-ut, përpunimi i brendshëm, ruajtja në bazën e të dhënave dhe shfaqja për klientin. Nëse dërgoni njoftime, trajtojeni këtë si një fazë tjetër dhe mos supozoni se një përditësim i ruajtur ka mbërritur te blerësi.

Për secilën fazë, regjistroni pronarin e saj dhe provat që dëshmojnë suksesin. Fakti që një ofrues pranon një numër gjurmimi provon se regjistrimi u pranua, jo se një transportues ka publikuar një ngjarje. Fakti që një webhook merr një përgjigje të suksesshme HTTP provon se endpoint-i juaj e pranoi atë, jo domosdoshmërisht se worker-i juaj e ruajti përditësimin.

Udhëzimet SRE të Google përshkruajnë vonesën, trafikun, gabimet dhe ngopjen si katër sinjalet e arta të monitorimit. Këto sinjale janë të dobishme për infrastrukturën e integrimit, por gjurmimi i dërgesave kërkon gjithashtu kontrolle të freskisë dhe plotësisë, sepse një endpoint që duket i shëndetshëm mund të shërbejë informacion të pandryshuar ose jo të plotë.

ShtresaPyetja që duhet përgjigjurProvat që duhen mbledhur
Disponueshmëria e APIA mund ta përfundojë integrimi një operacion të vlefshëm?Rezultati i transportit, rezultati i aplikacionit, vonesa, shkalla e skadimit të kërkesave
Freskia e të dhënaveSa prapa janë informacionet?Koha e ngjarjes, koha e vëzhgimit, koha e marrjes, koha e ruajtjes
Plotësia e përditësimeveA arriti çdo përditësim i pritur dhe i rikuperueshëm në destinacion?Dallimet e rakordimit, regjistrimet e përpunimit, boshllëqet e pazgjidhura
Dukshmëria për klientinA përputhet statusi i shfaqur me gjendjen e ruajtur të dërgesës?Kontrollet e rrugës së leximit, mosha e cache-it, rezultatet e përpunimit të njoftimeve

Instrumentoni integrimin përpara se të vendosni alarmet

Mbani një regjistër operacional që lidh një dërgesë me përpjekjen e regjistrimit, përditësimet hyrëse, përpjekjet e përpunimit dhe gjendjen që rezulton. Përdorni një identifikues të brendshëm të dërgesës për korrelacion; kur është e mundur, mbajini numrat e gjurmimit dhe të dhënat e klientëve jashtë regjistrave me akses të gjerë.

Regjistri minimal i dobishëm përfshin:

  • ID-në e brendshme të dërgesës, identifikuesin e transportuesit kur dihet, llogarinë e integrimit dhe mjedisin.
  • ID-në e kërkesës ose të korrelacionit, llojin e operacionit, kohën e përpjekjes, kategorinë e rezultatit dhe kohëzgjatjen.
  • ID-në e ngjarjes së ofruesit kur jepet, së bashku me vulën kohore origjinale të ngjarjes dhe informacionin për zonën kohore.
  • Kohën e marrjes së webhook-ut, kohën e ruajtjes së qëndrueshme, kohën e përfundimit të përpunimit dhe kohën e disponueshmërisë së shfaqjes kur mund të maten.
  • Versionin e skemës së payload-it kur është i disponueshëm, rezultatin e analizimit, rezultatin e dedublikimit dhe arsyen e dështimit.

Ruani payload-in origjinal nën kontrolle të përshtatshme aksesi dhe ruajtjeje kur nevojitet për hetim ose riluajtje. Mos regjistroni titujt e autorizimit ose sekretet. Përdorni dimensione të kufizuara, si transportuesi dhe kategoria e rezultatit, për metrikat; numrat individualë të gjurmimit u përkasin regjistrave të kërkueshëm, jo etiketave të metrikave me kardinalitet të lartë.

Mbajeni të veçuar kohën e ngjarjes nga koha e vëzhgimit. Modeli i të dhënave të regjistrave OpenTelemetry e bën këtë dallim në mënyrë të qartë përmes Timestamp dhe ObservedTimestamp. Zbatimi i të njëjtit dallim në regjistrat e gjurmimit ndihmon të parandalohet që një ngjarje e raportuar me vonesë nga transportuesi të ngatërrohet me një shkrim të ngadaltë në bazën e të dhënave.

Monitoroni kohën aktive nga këndvështrimi i aplikacionit tuaj

Përdorni si trafikun real të prodhimit, ashtu edhe një kontroll sintetik me volum të ulët. Trafiku i prodhimit tregon ndikimin real te klientët. Një kontroll sintetik mund të zbulojë dështime kur trafiku i prodhimit është i ulët, me kusht që të përdorë një operacion të dokumentuar, jo-shkatërrues dhe të respektojë kufijtë e përdorimit të ofruesit.

Një tregues i dobishëm i suksesit të kërkesave është:

Operacione të suksesshme dhe të pranueshme / Të gjitha operacionet e pranueshme të tentuara

Përcaktoni “të suksesshme” duke përdorur si statusin HTTP, ashtu edhe rezultatin e dokumentuar në nivel aplikacioni. Disa ndërfaqe mund të kthejnë një përgjigje të suksesshme HTTP ndërsa raportojnë një operacion të dështuar në trupin e përgjigjes. Për operacionet në grup, matni rezultatet në nivel artikulli krahas rezultateve në nivel kërkese.

Mbani dy këndvështrime për dështimet. Këndvështrimi i ndikimit te klienti përfshin çdo gjë që e pengon aplikacionin tuaj të përfundojë detyrën. Këndvështrimi diagnostik i ndan gabimet e ofruesit, dështimet e rrjetit, problemet e autentikimit, hyrjet e pavlefshme dhe përgjigjet për kuotat ose kufizimet e shpejtësisë. Një kredencial i skaduar mund të mos jetë ndërprerje e ofruesit, por gjithsesi është ndërprerje për integrimin tuaj.

  • Vonesa: Ndiqni p50, p95 dhe p99 kur volumi i trafikut mbështet përqindje kuptimplota. Matini veçmas skadimet, në mënyrë që dështimet e shpejta të mos e bëjnë vonesën të duket e shëndetshme.
  • Trafiku: Krahasoni volumin e kërkesave dhe callback-eve me regjistrimet e dërgesave dhe popullatën aktive të dërgesave.
  • Gabimet: Ndani dështimet e transportit, dështimet e aplikacionit, gabimet e analizimit dhe dështimet e ruajtjes pasuese.
  • Ngopja: Monitoroni grupet e lidhjeve, kapacitetin e worker-ëve, thellësinë e radhës, artikullin më të vjetër në radhë dhe buxhetin e disponueshëm të kërkesave.

Mos i paraqisni këto matje si kohë aktive kontraktuale të ofruesit, përveçse kur përdorin përkufizimet e sakta të kontratës. Disponueshmëria e vëzhguar e integrimit tuaj dhe marrëveshja e nivelit të shërbimit të furnizuesit u përgjigjen pyetjeve të ndryshme.

Matni freskinë pa ngatërruar heshtjen me dështimin

Një dërgesë që nuk ka lëvizur nuk është automatikisht e vjetëruar. Transporti ndërkombëtar, dorëzimet ndërmjet transportuesve, fundjavat dhe praktikat e skanimit të transportuesve mund të krijojnë boshllëqe legjitime. Problemi i monitorimit është të dallojë “nuk ndodhi asgjë e re” nga “ekziston informacion i ri, por sistemi ynë nuk e ka marrë”.

Përdorni orë të veçanta për vonesa të veçanta

  • Mosha e ngjarjes së fundit: Koha aktuale minus koha e ngjarjes së fundit të transportuesit. Kjo përshkruan dukshmërinë e dërgesës, jo domosdoshmërisht performancën e integrimit.
  • Vonesa e marrjes: Koha juaj e marrjes minus koha e ngjarjes. Kjo përfshin vonesat e raportimit dhe marrjes nga burimi kur vulat kohore ndërmjetëse nuk janë të disponueshme.
  • Vonesa e përpunimit të brendshëm: Koha e përfundimit të përpunimit të qëndrueshëm minus koha e marrjes. Kjo izolon punën brenda sistemit tuaj.
  • Vonesa e shfaqjes: Koha e disponueshmërisë për klientin minus koha e përfundimit të përpunimit. Kjo mund të zbulojë probleme me cache-in ose modelin e leximit.
  • Mosha e verifikimit: Koha aktuale minus kontrolli i fundit i suksesshëm për informacion më të ri. Kjo mat aktivitetin e kontrollit, jo provën se furnizimi i transportuesit është aktual.

Llogaritni vonesën e marrjes specifike për ofruesin vetëm nëse ekziston vula kohore e nevojshme e ofruesit dhe kuptimi i saj është i dokumentuar. Pa të, vonesa e marrjes nuk mund t’i atribuohet në mënyrë të drejtë një pale të vetme.

Normalizoni vulat kohore në një zonë kohore të qëndrueshme duke ruajtur paraqitjen e tyre origjinale. Flamuroni informacionin e munguar për zonën kohore, ngjarjet me data të ardhshme dhe mospërputhjet e orës. Mos e konvertoni në heshtje një vonesë negative në zero; hetojeni ose klasifikojeni si problem të cilësisë së vulës kohore.

Krahasoni dërgesa të ngjashme

Ndërtoni pamje të freskisë sipas transportuesit, shërbimit ose itinerarit kur dihen, statusit të dërgesës dhe kohës që nga regjistrimi. Ndani dërgesat e regjistruara rishtazi që presin ngjarjen e parë nga dërgesat tashmë në tranzit. Përjashtoni dërgesat e dorëzuara nga kontrollet e lëvizjes aktive sipas rregullave tuaja operative, duke ruajtur çdo monitorim pas dorëzimit që kërkon rrjedha juaj e punës.

Vendosni pragjet fillestare bazuar në kërkesat e biznesit dhe sjelljen e vëzhguar, jo në një interval universal të sajuar rifreskimi. Një prag i përshtatshëm për dorëzimin lokal mund të krijojë zhurmë për një dorëzim ndërkufitar. Në të kundërt, një mesatare e gjerë e rrjetit mund të fshehë një problem që prek një transportues të vetëm.

Etiketoni çdo panel freskie me mbulimin e tij. Nëse vulat kohore të ngjarjeve mungojnë për një pjesë të popullatës, shfaqeni atë popullatë veçmas dhe mos i bëni dërgesat e mbetura të duken përfaqësuese të të gjithë trafikut.

Gjeni përditësimet e humbura përmes rakordimit

Vetëm volumi i webhook-eve nuk mund të përcaktojë plotësinë. Trafiku i ulët mund të jetë normal dhe një përgjigje e suksesshme e webhook-ut mund të fshehë një dështim në përpunimin pasues. Rakordimi krahason atë që një burim reference ekspozon aktualisht me atë që sistemi juaj ka ruajtur ose përpunuar realisht.

  1. Përcaktoni popullatën e pranueshme. Përfshini dërgesat e regjistruara dhe të monitoruara aktivisht. Ndiqni veçmas regjistrimet e refuzuara dhe monitorimin e pezulluar, në mënyrë që të mos zhduken nga raportimi operacional.
  2. Zgjidhni një referencë. Kur API-ja e dokumentuar e lejon, merrni në mënyrë të pavarur detajet aktuale të gjurmimit nga marrja përmes webhook-ut. Faqet e gjurmimit të transportuesve mund të ndihmojnë në hetimin e rasteve individuale, por nuk duhet të bëhen varësi automatike nga scraping pa autorizim.
  3. Aplikoni një periudhë tolerance. Lejoni vonesat normale të dorëzimit dhe përpunimit përpara se ta klasifikoni një ndryshim si boshllëk të dyshuar.
  4. Krahasoni të ngjashmet. Përputhni identifikuesit e mbështetur të ngjarjeve ose përdorni një rregull të dokumentuar normalizimi për vulat kohore, statuset, vendndodhjet dhe përshkrimet.
  5. Rikuperoni në mënyrë të sigurt. Riluani mesazhet e ruajtura ose merrni përditësimet e lejuara përmes rrugës normale të përpunimit idempotent.
  6. Konfirmoni destinacionin. Verifikoni që baza e të dhënave dhe pamja për klientin janë korrigjuar, jo vetëm që një detyrë rikuperimi është ekzekutuar.

Një tregues i brendshëm mund të shprehet si:

Dërgesa të pranueshme të rakorduara me dallime të pazgjidhura / Të gjitha dërgesat e pranueshme të rakorduara

Quajeni këtë shkallë të boshllëqeve të pazgjidhura të rakordimit, jo një shkallë universale të ngjarjeve të humbura. Nëse referenca ekspozon vetëm gjendjen e fundit, ajo nuk mund të provojë se çdo ngjarje historike ka mbërritur. Edhe një status përfundimtar që përputhet mund të fshehë humbjen e një momenti të ndërmjetëm.

Filloni me një mostër të shtresëzuar sipas transportuesve, moshës së dërgesave dhe statuseve. Zgjeroni mbulimin për segmentet e prekura gjatë një incidenti, në përputhje me kufijtë e dokumentuar. Raportoni si numrin e kontrolluar, ashtu edhe numrin me dallime, në mënyrë që një mostër e vogël të mos ngatërrohet me mbulim të plotë.

Bëjeni marrjen e webhook-ut të rikuperueshme

Projektoni marrësin që të vërtetojë kërkesat hyrëse dhe të kapë në mënyrë të qëndrueshme mesazhet e pranuara përpara se t’i konfirmojë, në përputhje me kontratën e dokumentuar të dorëzimit të ofruesit. Mbajeni logjikën më të ngadaltë të biznesit në një worker të veçantë kur është praktike.

Verifikoni rregullat aktuale të integrimit dhe mos i supozoni: autentikimin ose vërtetimin e nënshkrimit, kërkesat e konfirmimit, afatin e kërkesës, kushtet e riprovimit, kohëzgjatjen e riprovimit, renditjen dhe disponueshmërinë e riluajtjes. Këto detaje përcaktojnë se çfarë rikuperimi duhet të ofrojë aplikacioni juaj.

  • Parashikoni dublikatat në dizajnin tuaj: Përdorni një ID të dokumentuar të ngjarjes kur është e disponueshme. Përndryshe, krijoni një çelës dedublikimi të kufizuar me kujdes dhe testojeni kundër ngjarjeve të ngjashme legjitime.
  • Trajtoni dorëzimin jashtë rendit: Ruani historikun e ngjarjeve dhe përdorni rregulla të qarta tranzicioni, në vend që ta zëvendësoni verbërisht gjendjen e dërgesës me mesazhin e fundit të marrë.
  • Izoloni dështimet: Ruani mesazhet e papërpunueshme me detajet e gabimit dhe ofroni një proces të kontrolluar ridërgimi.
  • Ndani rikuperimin e gjendjes nga efektet anësore: Riluajtja e një ngjarjeje nuk duhet të ridërgojë automatikisht një email të vjetër dorëzimi ose të përsërisë një veprim tjetër të drejtuar klientit.

Nëse integrimi juaj përdor 17TRACK, përdorni dokumentacionin zyrtar të Tracking API si referencë zbatimi dhe kontrolloni kërkesat që zbatohen për integrimin tuaj. Faqja e produktit Tracking API ofron kontekst për produktin, por pragjet e monitorimit dhe supozimet e rikuperimit duhet të burojnë nga sjellja e dokumentuar, marrëveshja juaj e shërbimit dhe matjet e prodhimit, jo nga përshkrimet e produktit.

Kthejini panelet në alarme të zbatueshme

Çdo alarm duhet të identifikojë popullatën e prekur, fazën e mundshme të dështimit, ndikimin në biznes dhe hapin e parë të hetimit. Një alarm global “gjurmimi është i vjetëruar” rrallë ofron informacion të mjaftueshëm për veprim.

Modeli i sinjalitHetimi i parëPronari kryesor
Kërkesat dështojnë në disa transportuesKontrolloni kredencialet, rrjetin, kufijtë dhe përgjigjet e ofruesitEkipi i integrimit ose platformës në gatishmëri
Callback-et mbërrijnë, por mosha e përpunimit rritetKontrolloni worker-at, shëndetin e bazës së të dhënave dhe mesazhet e izoluaraInxhinieria e aplikacionit
Një transportues tregon boshllëqe të pazakonta freskieKrahasoni grupet dhe mostroni regjistrat referencë të gjurmimitOperacionet e gjurmimit me inxhinierinë
Gjendja e ruajtur është aktuale, por shfaqja është e vjetërKontrolloni cache-t, modelet e leximit dhe marrjen nga frontend-iEkipi i aplikacionit për klientët

Përdorni shkelje të qëndrueshme dhe madhësi minimale mostrash për të reduktuar zhurmën. Për objektivat e disponueshmërisë dhe përpunimit, buxheti i gabimeve mund të ndihmojë të dallohet një anomali e shkurtër nga një dështim që konsumon një pjesë të papranueshme të gabimeve të lejuara. Mbajini të ndara objektivat e freskisë së të dhënave të transportuesit nga objektivat që kontrollon drejtpërdrejt ekipi juaj i inxhinierisë.

Përdorni një manual rikuperimi që provon përfundimin

Kur fillon një incident, përcaktoni pikën e fundit të njohur si të shëndetshme dhe ruani regjistrat përkatës. Përcaktoni nëse preken regjistrimet e reja, mesazhet hyrëse, përpunimi ose përditësimet e shfaqjes. Pastaj vlerësoni popullatën e dërgesave në rrezik në vend që të raportoni vetëm numrat e kërkesave.

Riktheni fazën e dështuar, riluani ose rimerrni brenda kufijve të dokumentuar dhe kryeni rakordimin me popullatën e prekur. Mbylleni incidentin vetëm pasi mosha e prapambetjes të kthehet në normale, boshllëqet e pazgjidhura të jenë llogaritur dhe gjendja për klientin të jetë kontrolluar. Regjistroni veçmas çdo përditësim historik që nuk mund të rikuperohet.

Testojeni këtë proces me dështime të kontrolluara: marrës i padisponueshëm, payload i keqformuar, ndërprerje e worker-it, ngjarje e dubluar, ngjarje jashtë rendit dhe kredencial i skaduar. Një test kalon kur ekipi zbulon problemin, identifikon pronarin e tij, rikuperon të dhënat dhe shmang efektet anësore të dyfishta, jo thjesht kur endpoint-i bëhet përsëri i arritshëm.

FAQ

A mund të kthejë një API përgjigje të suksesshme ndërsa informacioni i gjurmimit është i vjetëruar?

Po. Suksesi i kërkesës përcakton se një operacion përfundoi sipas rregullave të ndërfaqes. Ai nuk përcakton se një transportues publikoi një skanim të ri ose se çdo sistem pasues e përpunoi rezultatin. Monitoroni veçmas freskinë dhe përpunimin nga fillimi në fund.

Sa shpesh duhet t’i rakordojmë dërgesat?

Zgjidhni një ritëm bazuar në vonesën e pranueshme të zbulimit, volumin e dërgesave aktive, buxhetin e kërkesave dhe kufijtë e dokumentuar. Përdorni kontrolle më të shpeshta për segmentet e ndjeshme operacionalisht dhe një kontroll më të gjerë të planifikuar për mbulim. Nuk ekziston një interval i vetëm i përshtatshëm për çdo transportues dhe rrjedhë pune.

A do të thotë mungesa e aktivitetit të webhook-ut se integrimi është prishur?

Jo. Mund të mos ketë ngjarje të reja. Krahasoni aktivitetin e callback-eve me popullatën aktive të dërgesave, modelet e fundit, shëndetin e marrësit dhe një kontroll të pavarur të marrjes kur mbështetet. Alarmoni mbi prova konfirmuese, jo vetëm mbi heshtjen.

A duhet të bëjmë polling vazhdimisht si rezervë?

Jo si parazgjedhje. Polling-u i pakontrolluar mund të konsumojë kapacitetin e kërkesave pa përmirësuar dukshmërinë. Përdorni rakordim të kufizuar dhe marrje specifike për incidentin brenda kufijve të dokumentuar. Konfirmoni se si ndërveprojnë polling-u dhe dorëzimi i webhook-ut për ofruesin tuaj.

Çfarë duhet të dërgojmë kur përshkallëzojmë një problem të dyshuar te ofruesi?

Përfshini llojet e operacioneve të prekura, intervalet kohore UTC, ID-të e sanitizuara të kërkesave, kodet e përgjigjeve, referenca përfaqësuese të dërgesave përmes një kanali të aprovuar të sigurt dhe sjelljen e pritur kundrejt asaj të vëzhguar. Shpjegoni cilat faza të brendshme keni kontrolluar. Mos përfshini kredenciale ose të dhëna të panevojshme të klientëve.

Burimet

Loading