New Relic Synthetics est comme un mannequin pour les tests de collision de votre logiciel. Synthetics vous permet de configurer une myriade de tests pour exécuter votre site Web et vos services du monde entier selon un calendrier récurrent. Ces tests vous aident à trouver des problèmes et à les résoudre avant que vos clients ne les rencontrent..
Ou, comme le dit la vidéo amusante ci-dessus, "Votre application a besoin d'un entraînement cohérent qui se produit tous les jours comme sur des roulettes et Synthetics est l'entraîneur adorable qui veille à ce que cela se produise (gifle la cuisse du robot)."
Dans ce tutoriel, je vais vous donner un aperçu général du produit Synthetics et vous expliquer la configuration des moniteurs et des rapports de navigation..
Synthetics vous aide à vous assurer que des services Web importants sont en place et fonctionnent sans erreur grâce à des tests personnalisés et automatisés. Que ce soit une minute par minute à San Francisco ou une fois par jour à Dublin, vous choisissez la fréquence et l'emplacement de vos tests en fonction de vos activités et de vos besoins..
Voici un exemple de formulaire de configuration pour la création d'un test de surveillance automatisé (je détaillerai plus en détail ci-dessous):
Votre site fonctionne peut-être à Singapour, mais est-il également disponible à São Paulo? Découvrez-le en quelques secondes avec de simples tests de ping ou de navigateur Web. Affichez les performances simulées de votre logiciel à Washington, Portland, San Francisco, São Paulo, Dublin, Singapour, Tokyo et Sydney..
Synthetics vous permet d'afficher des métriques détaillées, y compris les temps de chargement de pages et des ressources individuelles, à l'aide d'un moteur de navigateur réel. Vous pouvez ainsi identifier et résoudre les problèmes qui surviennent en temps réel..
Scriptez des appels automatisés à vos API pour vous assurer que toutes les réponses de sortie et les réponses système sont renvoyées avec succès depuis plusieurs endroits dans le monde..
Les produits synthétiques s'intègrent facilement à d'autres produits New Relic tels que Insights pour une expérience cohérente et un rapport de données optimal. Obtenez également des traces de transaction automatiques via New Relic APM, son outil de surveillance du serveur d'applications back-end.
Pour en savoir plus, regardez la brève présentation du produit ci-dessous:
Vous pouvez utiliser les métriques de dépannage détaillées de New Relic Synthetics pour résoudre les problèmes et les bogues de votre application. Synthetics vous avertit en cas de problème et vous indique exactement ce qui doit être corrigé pour que vous puissiez restaurer et fournir des logiciels fiables et fonctionnels aux utilisateurs finaux..
Comprenez comment les performances des ressources individuelles sont affectées par les rapports sur le temps de chargement et la taille moyens des pages:
Obtenez une liste des temps d'arrêt du système et des défaillances de vos transactions critiques. Affichez les détails des incidents liés aux temps d'arrêt pour identifier les tendances et résoudre les problèmes au fur et à mesure.
Observez les mêmes problèmes que vos utilisateurs rencontrent avec votre logiciel grâce aux captures d'écran des erreurs en cours:
Recevez des données exploitables, y compris tous les en-têtes de requête et de réponse, pour vous aider à déboguer et à réparer votre logiciel:
Synthetics fournit des mesures détaillées avec le temps de chargement d'une page pour tous les actifs individuels dans un même graphique en cascade facile à lire. Faites défiler facilement les différentes périodes de votre graphique en cascade:
Des rapports de niveau de service détaillés vous aident à maintenir la satisfaction de vos clients. Ces rapports récapitulent les scores Apdex pour les tests de performance, les seuils de performance et le temps de disponibilité global:
Synthetics n'envoie des alertes qu'après avoir exécuté un test trois fois et obtenu le même résultat d'erreur (bien que vous ne payiez qu'un test). Lorsque vous recevez une alerte, c'est réel.
Pour en savoir plus, consultez la présentation des fonctionnalités de New Relic Synthetics ou consultez la fiche technique Synthetics (pdf) et l’étude de cas BloomThat Customer (pdf). Maintenant, passons en revue en utilisant le produit.
Une fois que vous vous êtes inscrit à New Relic, vous pouvez commencer à utiliser l'essai gratuit Synthetics. Commençons par créer des moniteurs.
C’est le tableau de bord du moniteur, c’est très simple. Nous allons aller de l'avant et cliquez sur le Ajouter un moniteur bouton en haut à droite:
Le premier type de moniteur est un simple ping. Il nous dit que notre site Web est en hausse. Nous fournissons un nom convivial pour le moniteur et une URL pour les tests:
Nous pouvons facilement sélectionner des régions géographiques pour effectuer le test. Les synthétiques offrent actuellement neuf.
Ensuite, nous choisissons la fréquence de ces vérifications avec un simple curseur et fournissons une adresse électronique pour les alertes:
Les synthétiques permettent de voir facilement comment notre nouveau moniteur affecte notre budget global pour les contrôles:
Le type de moniteur suivant est un test de navigateur simple. Nous fournissons un nom convivial et une URL, et Synthetics fournira régulièrement une analyse approfondie des résultats analytiques:
Voici un exemple des résultats que vous recevrez:
Le test Scripted Browser vous permet d'écrire des tests automatisés basés sur JavaScript sur votre site Web:
Son environnement de script ressemble à node.js lite. Presque tout ce que vous vous attendez à trouver dans un environnement node.js est disponible.
Lorsque les scripts sont exécutés, vous verrez une capture d'écran et un journal des résultats du test:
Voici un exemple de script inclus en tant que cadre pour vous donner une idée de la manière dont vous coderiez vos propres tests:
/ ** * Bienvenue dans l'IDE JavaScript de Synthetics - Édition de navigateur * Vous pouvez le voir comme un noeud.js lite. Tout ce que vous vous attendez à trouver dans un environnement * node.js est également disponible ici, à quelques exceptions près: * * N'hésitez pas à explorer ou à consulter la documentation complète * https://docs.newrelic.com/docs / synthétiques / synthétiques-nouvelles-reliques / scripts-moniteurs / écriture-scriptés-navigateurs * pour plus de détails. * / // Ce script ira à la page d'accueil de New Relic, cliquez sur le bouton de recherche pour ouvrir un champ de recherche, cliquez sur le premier ensemble de résultats de recherche et vérifiez que H1 contient la chaîne "synthétiques" var By = $ driver.By ; var assert = require ('assert'); // Chargez la page d'accueil de New Relic $ browser.get ("http://newrelic.com") .then (function () // Cliquez sur le bouton de recherche pour l'ouvrir. un champ de texte console.log ('Cliquez sur le bouton de recherche'); return $ browser.findElement (By.id ("search-start")). click ();). then (function () // Entrez la chaîne "synthétiques" puis appuyez sur la touche Entrée console.log ('Entrez la chaîne de recherche'); renvoyer $ browser.waitForAndFindElement (By.id ("st-search-input")). then (function (element) element.sendKeys ( "synthetics \ r"););). then (function () // Utilisez le xPath du premier résultat sur la page des résultats de la recherche, puis cliquez dessus. Vous pouvez également utiliser des classes ou des identifiants CSS, mais notre élément ne les avons pas, nous allons donc utiliser xPath // Le xPath peut être obtenu dans l'inspecteur de Chrome via le menu contextuel ole.log ('Cliquez sur le premier résultat'); return $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "conteneur st-results" "] / div / div [2] / div [2] / div [1] / div [1] / h3 / a ')). then (function (element) element.click ();); ). then (function () // Recherchez et vérifiez que la balise h1 du premier résultat de la recherche contient le mot "Synthetics" $ browser.waitForAndFindElement (By.xpath ('// * [@ id = "hero-main "] / section / header / div [2] / h1 ')). then (fonction (élément) element.getText (). then (fonction (h1Text) console.log (' Titre H1:% s ', h1Text ); assert.ok (h1Text.indexOf ('test de test factice')> -1, "Le titre ne valide pas"););););
Vous pouvez également utiliser Synthetics pour les tests de niveau API. Là encore, vous pouvez utiliser l'environnement JavaScript de Synthetics pour automatiser les tests sur vos services Web. Voici l'exemple de script de test inclus:
var assert = require ('assert'), // Modifiez ces valeurs pour une gratification instantanée: // ----------------------------- ------------------------------------------------- SERVICE_URL = 'http://httpbin.org', AUTH_USER = 'superbot', AUTH_PASSWORD = 'supersecret'; // ---------------------------------------------------- ------------------------------ // Exemple de test POST avec charge utile JSON, attend une réponse 200 OK $ $ http.post (SERVICE_URL + '/ post', // Post data json: nom d'utilisateur: AUTH_USER, mot de passe: AUTH_PASSWORD, // Fonction de rappel (err, réponse, corps) if (err) renvoie une nouvelle erreur ('Erreur d'authentification:' + err .message); assert.ok (response.statusCode == 200, 'Réponse attendue 200 OK'); // Extrait un jeton d'API de la réponse JSON pour l'utiliser comme // en-tête dans les demandes suivantes. token var = body.token; $ http.get (SERVICE_URL + '/ get', fonction (err, réponse, corps) if (err) renvoie une nouvelle erreur ('Erreur lors du chargement des widgets:' + err.message); // Valide le code de réponse assert.ok (response.statusCode == 200, 'Réponse attendue de 200 OK'); // Attendez au moins 10 widgets assert.ok (body.widgets.length> = 10, 'Reçu moins de 10 widgets en retour');) ) console.log ('Si nous en sommes arrivés là: SUCCÈS!');
Une fois que vous avez configuré plusieurs tests, vous pouvez les surveiller, les éditer et les réviser dans le tableau de bord:
Voici quelques types de rapports de détail et de synthèse que vous pouvez obtenir régulièrement de Synthetics. Rapport de synthèse sur le contrat de niveau de service indiquant l'historique d'Apdex et le temps de disponibilité:
Rapports de temps de chargement - le premier de la vue d'ensemble de la démonstration de New Relic:
Et un rapport plus simple de mon propre moniteur de test:
Vous pouvez étudier le chargement des pages et le minutage du réseau du monde entier:
Et obtenez des résumés de ressources pour votre site afin de vous aider à résoudre les problèmes de performances de manière plus détaillée:
J'espère que vous avez apprécié l'apprentissage de New Relic Synthetics. C'est évidemment un outil utile et puissant pour tout éditeur ou fournisseur de services sérieux. J'ai été très impressionné par la simplicité et la puissance de l'interface utilisateur..
Pour commencer, vous pouvez vous inscrire pour un essai gratuit de 14 jours de New Relic Synthetics. Une fois la période d’essai terminée, vous passerez automatiquement à New Relic LITE, programme gratuit pour toujours..Pour 69 $ par mois, vous pouvez recevoir plus de 10 000 chèques avancés et une rétention illimitée des données. Vous pouvez également demander une consultation avec un spécialiste de New Relic Synthetics pour une démonstration de produit ou un devis..
N'hésitez pas à poster vos questions et commentaires ci-dessous. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un email directement.