New Relic Synthetics is als een crashtestpop voor je software. Met Synthetics kunt u een groot aantal tests configureren om tegen uw website en services van over de hele wereld te draaien volgens een vast schema. Met deze tests kunt u problemen opsporen en oplossen voordat uw klanten ze ervaren.
Of zoals de video met het leuke product hierboven zegt: "Uw app heeft een consistente workout nodig die elke dag gebeurt, zoals uurwerk en Synthetics is de stoere, liefdevolle coach om ervoor te zorgen dat het gebeurt (slaat de dij van de robot)."
In deze zelfstudie geef ik u een algemeen overzicht van het Synthetics-product en begeleid ik u bij het configureren van monitoren en bladerrapporten.
Synthetics helpt u ervoor te zorgen dat belangrijke webservices aanwezig zijn en foutloos werken met aangepaste, geautomatiseerde tests. Of het nu eenmaal per minuut is in San Francisco, of eenmaal per dag in Dublin, u kiest de frequentie en locatie van uw tests op basis van de bedrijfsfunctie en behoefte.
Hier is een voorbeeld van een configuratievorm voor het bouwen van een geautomatiseerde monitoringtest (ik zal hieronder meer in detail treden):
Uw site werkt mogelijk in Singapore, maar is deze ook beschikbaar in São Paulo? Ontdek het in een paar seconden met eenvoudige ping- of webbrowsertests. Bekijk de gesimuleerde prestaties van uw software in Washington DC, Portland, San Francisco, São Paulo, Dublin, Singapore, Tokio en Sydney.
Met Synthetics kunt u gedetailleerde statistieken bekijken, waaronder laadtijden van pagina's en afzonderlijke items met behulp van een echte browser-engine, zodat u problemen die zich in realtime voordoen, kunt identificeren en oplossen.
Script geautomatiseerde oproepen naar uw API's om ervoor te zorgen dat alle uitvoer- en systeemreacties met succes worden teruggestuurd vanuit meerdere locaties over de hele wereld.
Synthetics kan eenvoudig worden geïntegreerd met andere New Relic-producten zoals Insights voor een consistente ervaring en optimale gegevensrapportage. Ontvang ook automatische transactiesporen via New Relic APM, het back-end app-serverbewakingsinstrument.
Ga voor meer informatie naar de korte productrondleiding hieronder:
U kunt de diepgaande probleemoplossingstatistieken van New Relic Synthetics gebruiken om problemen en fouten in uw app op te lossen. Synthetics waarschuwt u wanneer er iets misgaat en geeft precies aan wat moet worden opgelost, zodat u uw eindgebruikers kunt voorzien van functionerende en betrouwbare software..
Begrijp hoe de prestaties van afzonderlijke objecten worden beïnvloed door de gemiddelde rapportage van de laadtijd en -grootte van pagina's:
Krijg een lijst van systeem-uitvaltijden en storingen voor uw kritieke transacties. Bekijk individuele downtime-incidenten per detail om trends te identificeren en problemen op te lossen als ze zich voordoen.
Bekijk dezelfde problemen die uw gebruikers ervaren met uw software door middel van actuele screenshots van de fouten die optreden:
Ontvang bruikbare gegevens inclusief alle verzoek- en antwoordheaders om uw software te debuggen en te repareren:
Synthetics biedt gedetailleerde meetgegevens met de laadtijd van de pagina voor alle afzonderlijke items in één, gemakkelijk te lezen watervaldiagram. Blader eenvoudig door verschillende perioden in uw watervaldiagram:
Gedetailleerde SLA-rapporten helpen u om de klanttevredenheid te behouden. Deze rapporten geven een samenvatting van Apdex-scores voor benchmarks en prestatiedrempels en de algehele uptime:
Synthetics verzendt alleen meldingen na drie keer een test uit te voeren en hetzelfde foutresultaat te krijgen (hoewel u slechts voor één test wordt belast). Als je een waarschuwing krijgt, is het echt.
U kunt meer leren op het overzicht van de functies van de New Relic Synthetics of op de Synthetics Datasheet (pdf) en BloomThat Customer Case Study (pdf). Laten we nu eens kijken hoe we het product gebruiken.
Zodra u zich heeft aangemeld voor New Relic, kunt u beginnen met het gratis proefproject Synthetics. Laten we beginnen met het maken van enkele monitoren.
Dit is het Monitor-dashboard - het is heel eenvoudig. We gaan door en klikken op de Voeg monitor toe knop naar rechtsboven:
Het eerste type monitor is een eenvoudige ping. Het vertelt ons dat onze website is opgestart. We bieden een beschrijvende naam voor de monitor en een URL om te testen:
We kunnen eenvoudig geografische regio's selecteren om de test uit te voeren. Synthetics biedt momenteel negen.
Vervolgens kiezen we de frequentie voor deze controles met een eenvoudige schuifregelaar en geven we een e-mailadres voor waarschuwingen:
Synthetica maakt het gemakkelijk om te zien hoe onze nieuwe monitor van invloed is op ons totale budget voor controles:
Het volgende type beeldscherm is een eenvoudige browsertest. We bieden een beschrijvende naam en URL, en Synthetics zal regelmatig een diepe duik van analytische resultaten bieden:
Hier is een voorbeeld van de resultaten die u zult ontvangen:
Met de Scripted Browser-test kunt u JavaScript-gebaseerde geautomatiseerde tests schrijven tegen uw website:
De scripting-omgeving is als node.js lite. Bijna alles wat u zou verwachten te vinden in een node.js-omgeving is beschikbaar.
Wanneer de scripts worden uitgevoerd, ziet u een screenshot en logboek van de testresultaten:
Hier is een voorbeeldscript opgenomen als een kader om u een idee te geven van hoe u uw eigen tests zou coderen:
/ ** * Welkom bij de JavaScript-code Synthetics - Browser Edition * Je kunt het zien als node.js lite. Alles wat je zou verwachten te vinden in een * node.js-omgeving is hier ook beschikbaar, met een paar opvallende uitzonderingen: * * Voel je vrij om de volledige documentatie te verkennen, of bekijk de volledige documentatie * https://docs.newrelic.com/docs / synthetics / new-relic-synthetics / scripting-monitors / writing-scripted-browsers * voor meer informatie. * / // Dit script gaat naar de startpagina van New Relic, klikt op de zoekknop om een zoekveld te openen, klikt op de eerste set zoekresultaten en verifieert dat H1 de string "synthetics" bevat var By = $ driver.By ; var assert = require ('assert'); // Laad de New Relic-startpagina $ browser.get ("http://newrelic.com") .then (function () // Klik op de zoekknop om te openen een tekstveld console.log ('Klik op zoekknop'); return $ browser.findElement (By.id ("search-start")). klik ();). then (function () // Voer de string in "synthetics" en druk dan op de enter toets console.log ('Enter search string'); return $ browser.waitForAndFindElement (By.id ("st-search-input")). then (function (element) element.sendKeys ( "synthetics \ r"););). then (function () // Gebruik de xPath van het eerste resultaat op de pagina met zoekresultaten en klik erop. U kunt ook CSS-klassen of -ID's gebruiken, maar ons element heeft deze niet, dus gebruiken we de xPath // De xPath kan worden verkregen in de Chrome-inspecteur via het contextmenu ole.log ('Klik eerste resultaat'); return $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "st-resultaten-container"] / div / div [2] / div [2] / div [1] / div [1] / h3 / a ')). then (function (element) element.click ();); ). then (function () // Zoek en controleer of de h1-tag van het eerste zoekresultaat het woord "Synthetics" bevat $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "hero-main "] / section / header / div [2] / h1 ')). then (function (element) element.getText (). then (function (h1Text) console.log (' H1 Title:% s ', h1Text ); assert.ok (h1Text.indexOf ('crash test dummy')> -1, "Titel valideert niet"););););
U kunt Synthetics ook gebruiken voor testen op API-niveau. Nogmaals, u kunt de JavaScript-omgeving van Synthetics gebruiken om tests met uw webservices te automatiseren. Hier is het meegeleverde voorbeeldtestscript:
var assert = require ('assert'), // Wijzig deze waarden voor directe bevrediging: // ----------------------------- ------------------------------------------------- SERVICE_URL = 'http://httpbin.org', AUTH_USER = 'superbot', AUTH_PASSWORD = 'supersecret'; // ------------------------------------------------ ------------------------------ // Voorbeeld POST met JSON-payload, verwacht een 200 OK antwoord $ http.post (SERVICE_URL + '/ post', // Berichtgegevens json: gebruikersnaam: AUTH_USER, wachtwoord: AUTH_PASSWORD // terugroepfunctie (err, response, body) if (err) gooi nieuwe fout ('Authentication error:' + err .message); assert.ok (response.statusCode == 200, 'Verwachte 200 OK-reactie'); // Een API-token uit de JSON-respons extraheren om te gebruiken als een kop in // volgende aanvragen var token = body.token; $ http.get (SERVICE_URL + '/ get', function (err, response, body) if (err) gooi nieuwe fout ('Error getting widgets:' + err.message); // Valideer de responscode assert.ok (response.statusCode == 200, 'Verwachte 200 OK-reactie'); // Verwacht ten minste 10 widgets assert.ok (body.widgets.length> = 10, 'Ontvangen minder dan 10 widgets terug');); ); console.log ('Als we zover zijn gekomen: SUCCES!');
Nadat u verschillende tests hebt ingesteld, kunt u ze controleren, bewerken en beoordelen in het dashboard:
Hier zijn enkele van de soorten detail- en samenvattingsrapporten die u regelmatig van Synthetics kunt krijgen. Het SLA-overzichtsrapport met historische Apdex en uptime:
Laadtijdrapporten - de eerste uit het demonstratieoverzicht van New Relic:
En een eenvoudiger rapport van mijn eigen testmonitor:
U kunt de paginabelasting en netwerktiming van over de hele wereld bestuderen:
En ontvang samenvattingen van bronnen voor uw site om u te helpen prestatieproblemen in meer detail te debuggen:
Ik hoop dat je het leuk vond om over New Relic Synthetics te leren. Het is duidelijk een nuttig en krachtig hulpmiddel voor elke serieuze uitgever of serviceprovider. Ik was het meest onder de indruk van de eenvoud en kracht van de gebruikersinterface.
Om te beginnen, kunt u zich aanmelden voor een gratis proefversie van 14 dagen van New Relic Synthetics. Als de proefperiode voorbij is, ga je automatisch naar de nieuwe Relic LITE, gratis voor altijd.Voor $ 69 / maand kunt u 10.000+ geavanceerde cheques en onbeperkte gegevensopslag ontvangen. U kunt ook een consult aanvragen bij een New Relic Synthetics-specialist voor een productdemo of een offerte.
Aarzel niet om uw vragen en opmerkingen hieronder te plaatsen. Je kunt me ook bereiken via Twitter @reifman of mij rechtstreeks een e-mail sturen.