New Relic Synthetics är som en crash test dummy för din programvara. Med syntetik kan du konfigurera en mängd test för att löpa mot din webbplats och tjänster från hela världen på ett återkommande schema. Dessa tester hjälper dig att hitta problem och fixa dem innan dina kunder upplever dem.
Eller, som det roliga produktvideoet ovan säger, "Din app behöver en konsekvent träning som händer varje dag som clockwork, och Synthetics är den tuffa, älskande tränaren för att se till att det händer (slaps robotlår)."
I denna handledning ger jag dig en överblick över Syntetics-produkten och går igenom konfigurering av bildskärmar och bläddring av rapporter.
Syntetik hjälper dig att se till att viktiga webbtjänster finns på plats och fungerar felfri med anpassad, automatisk testning. Oavsett om det är en gång i minuten i San Francisco, eller en gång om dagen i Dublin, väljer du frekvensen och platsen för dina test baserat på affärsfunktion och behov.
Här är ett exempel på konfigurationsformulär för att bygga ett automatiserat övervakningstest (jag går in mer i detalj nedan):
Din webbplats kan fungera i Singapore, men är den också tillgänglig i São Paulo? Ta reda på om några sekunder med enkla ping- eller webbläsartester. Visa programvarans simulerade prestanda i Washington DC, Portland, San Francisco, São Paulo, Dublin, Singapore, Tokyo och Sydney.
Med syntetik kan du se detaljerade mätvärden inklusive sidbelastningstider och enskilda tillgångar med en riktig webbläsarmotor, så att du kan identifiera och adressera problem som händer i realtid.
Skriptautomatiserade samtal till dina API: er för att säkerställa att alla utskrifts- och systemsvar är framgångsrikt tillbaka från flera platser runt om i världen.
Syntetiken integreras enkelt med andra New Relic-produkter som Insights för en konsekvent upplevelse och optimal datarapportering. Få även automatiska transaktionsspår genom New Relic APM, dess back-end applikationsserverövervakningsverktyg.
För att lära dig mer, se den korta produktturen nedan:
Du kan använda New Relic Synthetics djupfelsökningsmätningar för att lösa problem och fel i din app. Syntetiken meddelar dig när något går fel och påpekar exakt vad som behöver lösas så att du kan återställa och leverera fungerande och pålitlig programvara till dina slutanvändare.
Förstå hur individuell prestanda påverkas genom genomsnittlig sidladdningstid och storleksrapportering:
Få en lista över systemstopp och misslyckanden för dina kritiska transaktioner. Visa enskilda nedanstående händelser i detalj för att identifiera trender och adressera problem som de uppstår.
Se samma problem som dina användare upplever med din programvara genom faktiska skärmdumpar av de fel som uppstår:
Ta emot handlingbara data inklusive alla förfrågan- och svarhuvuden för att hjälpa till att felsöka och fixa din programvara:
Syntetiska ger detaljerad statistik med sidlastningstid för alla enskilda tillgångar i ett lättläst vattenfallskarta. Bläddra enkelt genom olika tidsperioder på ditt vattenfallskarta:
Detaljerade SLA-rapporter hjälper dig att behålla kundnöjdheten. Dessa rapporter sammanfattar Apdex-poäng för riktmärken och prestandotrösklar och övergripande upptid:
Syntetiken skickar endast varningar efter att ha kört ett test tre gånger och får samma felresultat (även om du bara debiteras för ett test). När du får en varning är den riktig.
Du kan läsa mer i översikten över New Relic Synthetics-funktionen eller kolla in Synthetics Datasheet (pdf) och BloomThat Customer Case Study (pdf). Nu, låt oss gå igenom med produkten.
När du väl har anmält dig till New Relic kan du börja använda den kostnadsfria Synthetics-försöket. Låt oss börja med att skapa några bildskärmar.
Det här är Monitor-instrumentbrädan - det är väldigt enkelt. Vi fortsätter och klickar på Lägg till bildskärm knappen till höger:
Den första typen av bildskärm är en enkel ping. Det berättar för oss att vår hemsida är uppe. Vi tillhandahåller ett vänligt namn för bildskärmen och en URL för testning:
Vi kan enkelt välja geografiska regioner för att köra testet från. Syntetik erbjuder idag nio.
Därefter väljer vi frekvensen för dessa kontroller med en enkel skjutreglage och ger en e-postadress för varningar:
Syntetiken gör det enkelt att se hur vår nya bildskärm påverkar vår övergripande budget för kontroller:
Nästa typ av bildskärm är ett enkelt webbläsartest. Vi tillhandahåller ett vänligt namn och en URL, och Synthetics ger regelbundet ett djupt dyk av analytiska resultat:
Här är ett exempel på resultaten du får:
Scripted Browser-testet gör att du kan skriva JavaScript-baserade automatiska tester mot din webbplats:
Skriptmiljön är som node.js lite. Nästan allt du förväntar dig att hitta i en node.js-miljö är tillgänglig.
När skriptna körs ser du en skärmdump och loggar på testresultat:
Här är ett exempelskript som ingår som en ram för att ge dig en uppfattning om hur du skulle koda dina egna tester:
/ ** * Välkommen till Syntetics JavaScript IDE - Browser Edition * Du kan tänka på det som node.js lite. Allt du kan förvänta dig att hitta i en * node.js-miljö är också tillgänglig här, med några anmärkningsvärda undantag: * * Känn dig fri att utforska eller kolla in hela dokumentationen * https://docs.newrelic.com/docs / synthetics / new-relic-synthetics / scripting-monitorer / writing-scripted-browsers * för detaljer. * / // Detta skript kommer att gå till New Relic hemsida, klicka på sökknappen för att öppna ett sökfält, klicka på den första uppsättningen av sökresultat och verifiera att H1 innehåller strängen "syntetics" var By = $ driver.By ; var assert = kräver ('assert'); // Ladda New Home hemsidan $ browser.get ("http://newrelic.com") .then (funktion () // Klicka på sökknappen för att öppna upp ett textfält console.log ("Klicka på sökknappen"), returnera $ browser.findElement (By.id ("sökstart")). klicka ();) .och (funktion () // Ange strängen "synthetics" och tryck sedan på enter-tangenten console.log ("Ange söksträng"), returnera $ browser.waitForAndFindElement (By.id ("st-search-input")). Då (funktion (element) element.sendKeys () , sedan har inte dessa, så vi kommer att använda xPath // xPath kan erhållas i Chrome inspektören via kontextmenyn nackdelar ole.log ('Klicka först resultat'); returnera $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "st-results-container"] / div / div [2] / div [2] / div [1] / div [1] / h3 / a ')). Sedan (funktion (element) element.click ();); ). sedan (funktion () // Sök och se till att h1-taggen i det första sökresultatet innehåller ordet "Synthetics" $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "hjältehuvud "] / avsnitt / header / div [2] / h1 ')) sedan (funktion (element) element.getText () .och (funktion (h1Text) console.log (' H1 Titel:% s ', h1Text ); assert.ok (h1Text.indexOf ('crash test dummy')> -1, "Titel valideras inte"););););
Du kan också använda Synthetics för API nivå testning. Återigen kan du använda Synthetics JavaScript-miljö för att automatisera tester mot dina webbtjänster. Här är det inkluderade provtestet:
var assert = kräver ('assert'), // Ändra dessa värden för omedelbar tillfredsställelse: // ----------------------------- ------------------------------------------------- SERVICE_URL = 'http://httpbin.org', AUTH_USER = 'superbot', AUTH_PASSWORD = 'supersekret'; // ------------------------------------------------ ------------------------------ // Exempel POST med JSON nyttolast, förväntar sig ett 200 OK svar $ http.post (SERVICE_URL + '/ post', // Postdata json: användarnamn: AUTH_USER, lösenord: AUTH_PASSWORD, // Återuppringningsfunktion (fel, svar, kropp) om (fel) kasta nytt fel ('Autentiseringsfel:' + fel .request.ok (response.statusCode == 200, "Förväntat 200 OK svar"); // Extracta ett API-token från JSON-svaret för att använda som en rubrik i // efterföljande förfrågningar var token = body.token; $ http.get (SERVICE_URL + '/ get', funktion (fel, svar, kropp) om (err) kasta nytt fel ('Fel att få widgets:' + err.message); // Validera svarskoden assert.ok (response.statusCode == 200, "Förväntad 200 OK-svar"); // Förvänta minst 10 widgets assert.ok (body.widgets.length> = 10, "Mottaget mindre än 10 widgets tillbaka");); ); console.log ('Om vi kom så långt: SUCCESS!');
När du har ställt in flera test kan du övervaka, redigera och granska dem i instrumentpanelen:
Här är några av de olika detaljerna och sammanfattande rapporter som du kan få från Synthetics regelbundet. SLA-översiktsrapporten visar historisk Apdex och upptid:
Lasttidrapporter - den första från New Relic-demonstrationsöversikten:
Och en enklare rapport från min egen testmonitor:
Du kan studera sidladdning och nätverkstider från hela världen:
Och få resurssammanfattningar för din webbplats för att hjälpa dig att felsöka prestationsfrågor mer detaljerat:
Jag hoppas att du har haft lärt dig om New Relic Synthetics. Det är uppenbarligen ett användbart och kraftfullt verktyg för alla seriösa utgivare eller tjänsteleverantörer. Jag var mest imponerad av enkelheten och kraften i användargränssnittet.
För att komma igång kan du anmäla dig till en gratis 14-dagars test av New Relic Synthetics. När försöket slutar flyttar du automatiskt till New Relic LITE, gratis för evigt plan.För $ 69 / månad kan du få 10 000 + avancerade kontroller och obegränsad lagring av data. Du kan också begära samråd med en New Relic Synthetics-specialist för en produktdemo eller ett citat.
Var snäll och posta dina frågor och kommentarer nedan. Du kan också nå mig på Twitter @ reifman eller maila mig direkt.