Želite pametnije uvide u vašu pristiglu poštu? Prijavite se za naše tjedne biltene kako biste dobili samo ono što je važno za vođe AI, podataka i sigurnosti. Pretplatite se sada
Razmislite o održavanju i razvoju platforme za e-trgovinu koja svake minute obrađuje milijune transakcija, generirajući velike količine podataka telemetrije, uključujući metrike, zapisnike i tragove u više mikroservisa. Kada se pojave kritični incidenti, inženjeri na dežurstvu suočavaju se s zastrašujućim zadatkom prosijavanja kroz ocean podataka kako bi otkrili relevantne signale i uvide. To je ekvivalent potrazi za iglom u sijenu.
To čini promatranost izvor frustracije, a ne uvida. Kako bih ublažio ovu glavnu točku boli, počeo sam istraživati rješenje za korištenje protokola konteksta modela (MCP) za dodavanje konteksta i izvlačenje zaključaka iz zapisnika i distribuiranih tragova. U ovom ću članku iznijeti svoje iskustvo izgradnje platforme promatranja na AI, objasniti arhitekturu sustava i dijeliti djelotvorne uvide naučene na putu.
Sadržaj objave
Zašto je promatranost izazov?
U modernim softverskim sustavima promatranost nije luksuz; To je osnovna potreba. Sposobnost mjerenja i razumijevanja ponašanja sustava temeljna je za pouzdanost, performanse i povjerenje korisnika. Kao što kaže, “Ono što ne možete izmjeriti, ne možete se poboljšati.”
Ipak, postizanje promatranja u današnjim arhitekturama temeljenim na mikroservisima je teže nego ikad. Jedan korisnički zahtjev može preći na desetke mikroservisa, a svaki emitira zapisnike, metrike i tragove. Rezultat je obilje telemetrijskih podataka:
AI skaliranje pogađa svoje granice
Power ograničenja, rastući troškovi tokena i kašnjenja zaključivanja preoblikovaju Enterprise AI. Pridružite se našem ekskluzivnom salonu kako biste otkrili kako su vrhunski timovi:
- Pretvaranje energije u stratešku prednost
- Arhitekturiste učinkovite zaključke za stvarne propusne dobitke
- Otključavanje natjecateljskog ROI -a s održivim AI sustavima
Osigurajte svoje mjesto da ostanete naprijed:: https://bit.ly/4mwgngo
- Deseci terabajta dnevnika dnevno
- Deseci milijuna metričkih podataka i pre-agregata
- Milijuni raspoređenih tragova
- Tisuće ID -a korelacije generiraju se svake minute
Izazov nije samo volumen podataka, već i fragmentacija podataka. Prema Izvještaj o prognozi prognoze New Relics -a50% organizacija prijavi podatke o telemetrijskim podacima, pri čemu je samo 33% postiglo objedinjeni pogled na mjernim podacima, zapisnicima i tragovima.
Zapisnici govore jedan dio priče, Metrike druge, prati još jedan. Bez dosljedne nit konteksta, inženjeri su prisiljeni na ručnu korelaciju, oslanjajući se na intuiciju, plemensko znanje i zamorne detektivske radove tijekom incidenata.
Zbog ove složenosti počeo sam se pitati: Kako nam AI može pomoći da preuzmemo fragmentirane podatke i ponudi sveobuhvatne, korisne uvide? Konkretno, možemo li učiniti telemetrijske podatke intrinzično smislenije i dostupnije i za ljude i strojeve pomoću strukturiranog protokola poput MCP -a? Zaklada ovog projekta oblikovala je to središnje pitanje.
Razumijevanje MCP -a: Perspektiva cjevovoda podataka
Antropski MCP definira kao otvoreni standard koji programerima omogućuje stvaranje sigurne dvosmjerne veze između izvora podataka i AI alata. Ovaj strukturirani cjevovod podataka uključuje:
- Kontekstualni ETL za AI: Standardizacija ekstrakcije konteksta iz više izvora podataka.
- Strukturirano sučelje upita: Omogućuje AI upite pristup slojevima podataka koji su transparentni i lako razumljivi.
- Obogaćivanje semantičkih podataka: Ugrađuje smisleni kontekst izravno u telemetrijske signale.
To ima potencijal odbacivanja promatranja platforme od reaktivnog rješavanja problema i prema proaktivnim uvidima.
Arhitektura sustava i protok podataka
Prije nego što zaronite u detalje o implementaciji, prošetajmo kroz arhitekturu sustava.
U prvom sloju razvijamo kontekstualne podatke telemetrije ugrađujući standardizirane metapodatke u telemetrijske signale, kao što su distribuirani tragovi, zapisnici i metrike. Zatim se u drugom sloju obogaćeni podaci unose u MCP poslužitelj za indeksiranje, dodavanje strukture i pružaju pristup klijentu podacima obogaćenim kontekstom pomoću API-ja. Konačno, motor za analizu AI-vođen koristi strukturirane i obogaćene telemetrijske podatke za otkrivanje, korelaciju i analizu korijena za rješavanje problema s anomalijom.
Ovaj slojeviti dizajn osigurava da AI i inženjerski timovi dobivaju kontekstualno djelovanje, djelotvorne uvide iz podataka telemetrije.
Implementacijski duboki zaron: troslojni sustav
Istražimo stvarnu implementaciju naše platforme promatranja na MCP-u, usredotočujući se na tokove podataka i transformacije na svakom koraku.
Sloj 1: Generiranje podataka obogaćenog kontekstom
Prvo, moramo osigurati da naši podaci o telemetriji sadrže dovoljno konteksta za smislenu analizu. Osnovni uvid je da se korelacija podataka mora dogoditi u vrijeme stvaranja, a ne vrijeme analize.
| def Process_Checkout (user_id, cart_items, payThod_method): “” “Simulirajte postupak odjave s telemetrijom obogaćenom kontekstom.” “” # Generirajte ID korelacije Order_id = f ”Order-uuid.uuid4 (). Hex[:8]” zahtjev_id = f ”req-uuid.uuid4 (). šesterokut[:8]” # Inicijalizirajte kontekstni rječnik koji će se primijeniti kontekst = “User_id”: user_id, “Order_id”: order_id, “Request_id”: request_id, “Cart_item_count”: len (cart_items), “PayThod_Method”: PayThythod, “Service_name”: “odjava”, “Service_version”: “V1.0.0” # Pokrenite trag OTEL -a s istim kontekstom s tracer.start_as_current_span ( “Process_Checkout”, Atributi = K: str (v) za k, v u kontekstu.items () ) kao checkout_span: # Zapisivanje pomoću istog konteksta logger.info (F “Početni postupak odjave”, Extra = “Context”: json.dumps (kontekst)) # Kontekst širenje s tracer.start_as_current_span (“proces_payment”): # Logika plaćanja procesa… logger.info (“obrađeno plaćanje”, extra = “kontekst”: json.dumps (kontekst)) |
KOD 1. Obogaćivanje konteksta za zapisnike i tragove
Ovaj pristup osigurava da svaki telemetrijski signal (zapisnici, mjerni podaci, tragovi) sadrži iste temeljne kontekstualne podatke, rješavajući problem korelacije u izvoru.
Sloj 2: Pristup podataka putem MCP poslužitelja
Zatim sam izgradio MCP poslužitelj koji RAW telemetriju pretvara u API koji se upituje. Ovdje temeljne podatke uključuju sljedeće:
- Indeksiranje: Stvaranje učinkovitih pretraživanja u kontekstualnim poljima
- Filtriranje: Odabir relevantnih podskupina podataka telemetrije
- Združivanje: Izračunavanje statističkih mjera u vremenskim prozorima
| @app.post (“/mcp/logs”, odgovor_model = popis[Log]) def query_logs (upit: logquery): “” “Zapisi upita s određenim filtrima” “” Rezultati = log_db.copy () # Primijenite kontekstualne filtre ako upit.request_id: Rezultati = [log for log in results if log[“context”].get (“request_id”) == query.request_id] ako upit.user_id: Rezultati = [log for log in results if log[“context”].get (“user_id”) == query.user_id] # Primijenite filtri na temelju vremena ako upit.time_range: start_time = dateTime.FromisoformAt (upit.time_range[“start”]) end_time = dateTime.FromisoformAt (upit.time_range[“end”]) Rezultati = [log for log in results if start_time <= datetime.fromisoformat(log[“timestamp”]) <= end_time] # Vrsta po vremenska oznaka Rezultati = sortirani (rezultati, ključ = lambda x: x[“timestamp”]obrnuto = istina) Rezultati povratka[:query.limit] Ako upit.limit ostalo rezultate |
KOD 2. Transformacija podataka pomoću MCP poslužitelja
Ovaj sloj pretvara našu telemetriju iz nestrukturiranog jezera podataka u strukturirano sučelje optimizirano u pitanju u koji AI sustav može učinkovito kretati.
Sloj 3: Analizijski motor vođen AI-om
Konačni sloj je AI komponenta koja troši podatke putem MCP sučelja, izvodeći:
- Višedimenzionalna analiza: Korelacijske signale u zapisnicima, mjernim podacima i tragovima.
- Otkrivanje anomalije: Identificiranje statističkih odstupanja od normalnih obrazaca.
- Korijenski uzrok određivanje: Korištenje kontekstualnih tragova za izoliranje vjerojatnih izvora pitanja.
| Def AnalyIze_incident (self, queent_id = none, user_id = nijedan, vremenski okvir_minutes = 30): “” “Analizirajte podatke telemetrije kako biste odredili uzrok i preporuke.” “” # Definirajte vremenski prozor analize end_time = dateTime.now () start_time = end_time – timedelta (minute = vremenski okvir_minutes) Time_range = “Start”: start_time.isoformat (), “kraj”: end_time.isoformat () # Dohvati relevantnu telemetriju na temelju konteksta dnevnici = self.fetch_logs (request_id = request_id, user_id = user_id, time_range = time_range) # Spomene usluge ekstrakta u zapisnici za ciljana metrička analiza Services = set (log.get (“usluga”, “nepoznato”) za zapisnik u zapisnicima) # Nabavite metrike za one usluge metrics_by_service = za usluge u uslugama: za metric_name u [“latency”, “error_rate”, “throughput”]:: metric_data = self.fetch_metrics (servis, metric_name, time_range) # Izračunajte statistička svojstva Vrijednosti = [point[“value”] za točku u metric_data[“data_points”]] metrics_by_service[f”service.metric_name”] = = “Srednja vrijednost”: statistika.mean (vrijednosti) Ako su vrijednosti drugo 0, “Medijan”: Statistics.Median (vrijednosti) Ako su vrijednosti drugo 0, “STDEV”: Statistics.stDev (vrijednosti) Ako len (vrijednosti)> 1 drugo 0, “Min”: min (vrijednosti) Ako su vrijednosti drugo 0, “Max”: max (vrijednosti) Ako su vrijednosti drugo 0 # Identificirajte anomalije pomoću Z-Score anomalije = [] za metric_name, statistike u metrici_by_service.items (): Ako statistika[“stdev”] > 0: # Izbjegavajte podjelu prema nuli z_Score = (statistika[“max”] – statistike[“mean”]) / statistike[“stdev”] Ako je z_Score> 2: # više od 2 standardna odstupanja anomalije.append ( “Metrika”: metric_name, “Z_Score”: Z_Score, “Ozbiljnost”: “Visoko” ako je z_Score> 3 ostalo “Srednji” ) povratak “Sažetak”: ai_summary, “Anomalije”: anomalije, “Utjecaj_services”: Popis (usluge), “Preporuka”: AI_RECOMLENCIJA |
Kodeks 3. Analiza incidenta, metoda otkrivanja anomalije i unutarnje
Utjecaj promatranja pojačane MCP-om
Integriranje MCP -a s platformama promatranja moglo bi poboljšati upravljanje i razumijevanje složenih telemetrijskih podataka. Potencijalne koristi uključuju:
- Brže otkrivanje anomalije, što rezultira smanjenim minimalnim vremenom za otkrivanje (MTTD) i minimalno vrijeme za rješavanje (MTTR).
- Lakša identifikacija uzroka za probleme.
- Manje buke i manje upozorenja, smanjujući na taj način upozoriti umor i poboljšanje produktivnosti programera.
- Manje prekida i kontekstnih prekidača tijekom rješavanja incidenta, što je rezultiralo poboljšanom operativnom učinkovitošću inženjerskog tima.
Djelotvorni uvidi
Evo nekoliko ključnih uvida iz ovog projekta koji će pomoći timovima u njihovoj strategiji promatranja.
- Kontekstualni metapodaci trebali bi biti ugrađeni rano u procesu stvaranja telemetrije kako bi se olakšala korelacija nizvodno.
- Strukturirana sučelja podataka Stvorite API-strukturirane slojeve upita kako biste telemetriju učinili pristupačnijom.
- Kontekst-svjestan AI Usredotočuje se na analizu na podatke bogate kontekstu radi poboljšanja točnosti i relevantnosti.
- Metode obogaćivanja konteksta i AI trebaju se redovito pročistiti koristeći praktične operativne povratne informacije.
Zaključak
Amalgamacija strukturiranih cjevovoda podataka i AI održava ogromno obećanje za promatranost. Ogromne telemetrijske podatke možemo transformirati u djelotvorne uvide koristeći strukturirane protokole kao što su MCP i analize vođene AI-om, što rezultira proaktivnim, a ne reaktivnim sustavima. Lumigo Identificira tri stupa promatranja – zapisnici,, metrikai tragovi – koji su ključni. Bez integracije, inženjeri su prisiljeni ručno korelirati različite izvore podataka, usporavajući odgovor na incident.
Način na koji generiramo telemetriju zahtijevaju strukturne promjene, kao i analitičke tehnike za izdvajanje značenja.
Prannoy Goswami je znanstvenik AI i podataka s više od desetljeća na terenu.
Web izvor




