APM : Comment utiliser New Relic pour surveiller vos applications

New Relic APM est l’un des nombreux outils qui peuvent aider les équipes IT à suivre les performances et la santé des applications. Avant de l’adopter, il convient de comprendre ses fonctionnalités et ses prérequis d’installation.

De mauvaises performances applicatives affectent la satisfaction des clients, les revenus de l’entreprise et sont un danger en termes de conformité. 

Les plateformes APM telles que New Relic APM doivent suivre le comportement des applications des entreprises. Quand les opérateurs veillent aux performances d’une solution dans le temps, ils peuvent valider les ressources à provisionner pour son fonctionnement, s’assurer du respect des SLA promis par l’éditeur ou l’intégrateur, et résoudre efficacement les potentiels problèmes.

Voyons comment fonctionne la plateforme New Relic, examinons ses caractéristiques, ses prérequis d’installation, et passons en revue les usages les plus courants.

Les fonctionnalités de New Relic APM

Le SaaS New Relic APM dispose d’un ensemble de fonctionnalités destinées à collecter des données, les analyser et à communiquer des métriques pertinentes aux administrateurs IT et autres équipes DevOps.

La collecte de métriques. New Relic APM rassemble des informations concernant les transactions web, y compris les temps de réponse du côté des serveurs web. Le débit est exprimé en requêtes par minute. L’outil collecte les erreurs applicatives ainsi que des données sur chacune des requêtes HTTP. De plus, il récupère les métriques issues des bases de données afin d’effectuer des rapports sur les temps de réponse, le flux, la vitesse des requêtes et d’autres détails qui aident à identifier les instructions SQL ou NoSQL qui pourraient bloquer un service web.

La plateforme prend en charge Java et les environnements externes. Elle peut mesurer les performances des Java Virtual Machine (JVM) telles que la mémoire en tas (heap) et non en tas (non heap), la collecte des déchets, le nombre de classes, les pools de threads, les sessions et les transactions HTTP. Les administrateurs peuvent définir une instrumentation personnalisée pour les applications Java, ce qui permet à l’entreprise de rechercher des attributs de performance spécifiques. Les services de collecte externes recueillent des informations sur les services web, les ressources dans le cloud et sur le trafic de requêtes sur le réseau.

Analytique. New Relic APM fournit des analyses détaillées sur les erreurs applicatives. La plateforme permet de repérer l’emplacement d’éléments sources de problèmes et les classifier en leur attribuant directement les transactions associées. Les équipes IT peuvent filtrer les résultats afin d’extraire des spécificités pour chaque trace. L’outil Thread Profiler doit relever les possibles goulets d’étranglement au sein d’une application. Le traçage interapplications permet l’analyse des transactions et aide à identifier les problèmes de performance lorsque l’application surveillée appelle un service interne ou externe. Les capacités de suivi des déploiements permettent de capturer des snapshots avant et après l’action des opérateurs afin de déterminer les effets des changements de configuration ou les corrections effectuées.

Alertes et rapports. La plateforme de New Relic dispose d’un système d’alerte dédié aux transactions, de cartographies topologiques et de rapports de conformité aux SLA. Un moniteur de transactions clés permet de suivre et de signaler les opérations commerciales les plus importantes liées à l’application. Les utilisateurs de New Relic APM peuvent configurer des comptes-rendus hebdomadaires pour les transmettre aux services de l’entreprise concernés. Les rapports sur les SLA, eux, peuvent être émis tous les jours, une fois par semaine ou par mois. Service maps fournit une visualisation de l’architecture de l’application – y compris celles basées sur des microservices – qui détaille la topologie, les connexions, les dépendances et la santé de chaque élément lié.

Comment New Relic APM fonctionne ?

New Relic APM collecte les données des applications d’entreprise, puis les reçoit via le réseau, les traites et les analyse. Les utilisateurs consultent les informations relatives par le biais d’une interface sous forme d’un tableau de bord.

Le SaaS utilise des agents. Ce sont de petits segments de codes installés dans l’application ou dans son environnement de déploiement. De nombreux agents gèrent un large éventail d’applications. Ils sont codés en C (à l’aide d’un SDK), Go, Java, Node.js, PHP, .Net, Python et Ruby.

Un exemple vaut mieux qu’un long discours. Un agent peut collecter une série d’informations sur les performances d’une application web : le temps nécessaire au code pour construire des pages web et leur temps de chargement. Les administrateurs peuvent examiner ces détails, identifier tout facteur susceptible de retarder les performances et déterminer la cause des ralentissements.
Des tableaux de bord signalent les problèmes en temps réel et permettent de suivre les tendances à travers un historique. Lorsqu’une erreur est découverte, les opérateurs et les développeurs peuvent prendre des mesures correctives. Ils comparent ensuite les données pour constater ou non des améliorations de fonctionnement.

En tant qu’offre SaaS, New Relic conserve les mesures et autres données. Les organisations ayant des exigences d’analyse à long terme ou de conformité doivent prendre en compte cette particularité avant l’adoption de la solution.

La tarification de New Relic

New Relic APM demande d’ouvrir un compte pour l’utiliser en mode SaaS. Les niveaux d’abonnement payant comprennent le forfait Essentials – qui commence à 12,50 $ par mois (par instance) – et le forfait Pro - à partir de 25 $ par mois (par instance). Les services varient suivant le type d’offres.

 New Relic peut interagir avec les outils IT d’une entreprise. Par exemple, la plateforme New Relic peut s’intégrer avec des outils d’alerte et de collaboration tels que PagerDuty, Campfire, HipChat et Slack. Il est possible de s’interfacer avec les services de Ticketing Atlassian Jira, Lighthouse ou Pivotal Tracker ou avec de nombreux outils disponibles proposés par les fournisseurs de cloud AWS, Microsoft Azure et GCP. Les organisations peuvent par exemple utiliser des API pour créer des requêtes réservées à des métriques qui ne sont pas supportées nativement par le SaaS.

Installer des agents New Relic

Après avoir créé un compte APM New Relic, téléchargez et installez un agent approprié pour commencer à collecter les métriques applicatives. Par exemple, installez l’agent Java pour une application écrite en Java. Il existe de nombreux agents adaptés à divers produits et langages de programmation, il est donc important de sélectionner l’agent approprié et de l’installer correctement.

Il convient d’examiner les configurations requises. Par exemple, l’agent Java de New Relic nécessite d’utiliser les versions 7 à 13 de l’OpenJDK JVM pour Linux, Windows et OS X. Le serveur d’application doit également prendre en charge le cryptage SHA-2 (256 bits). Vérifiez si l’agent fournit une instrumentation native pour le workload associé. Il prend en charge nativement des serveurs comme Tomcat 7.0 ou Coldfusion 10, ainsi que de nombreux frameworks et bibliothèques web des plateformes de messagerie, des data stores et des services d’hébergement. Les spécifications détaillées sont disponibles dans la documentation fournie par l’éditeur.

Pour obtenir facilement l’agent souhaité, utilisez l’interface utilisateur de New Relic. Pour l’agent Java, par exemple, sélectionnez-le et téléchargez à la fois les composants et un fichier de configuration correspondant. Ensuite, créez un nouveau répertoire sur le serveur d’application, décompressez les composants de l’agent dans le nouveau répertoire, apportez toutes les modifications nécessaires au fichier de configuration et passez un commutateur à la JVM avec une commande pour charger l’agent, par exemple :

-javaagent:/path/agentname.jar

Redémarrez le serveur associé. La JVM va charger et exécuter l’agent installé. La collecte des données et leur affichage dans l’interface New Relic APM peuvent prendre plusieurs minutes.

Les agents n’ont généralement pas besoin d’une configuration détaillée, mais les administrateurs peuvent personnaliser ou modifier le fichier de configuration. Avec l’agent Java, le fichier .yml permet de modifier les paramètres de test, de développement, de préparation et de production.

Utiliser la plateforme de surveillance

Une fois que l’agent commence à communiquer des données à l’interface utilisateur avec succès, les administrateurs peuvent utiliser ces données pour surveiller et améliorer les performances de l’application.

Commencez par consulter l’aperçu d’une application sélectionnée. Connectez-vous au site New Relic et consultez le portail, qui fournit un index des solutions surveillées. Sélectionnez l’une d’entre elles pour afficher un ensemble de graphiques, de tableaux et de rapports sur ses performances.

Parmi les informations affichées, l’Apdex s’avère très pratique. Celui-ci indique le niveau de satisfaction de l’utilisateur d’un service. Il est calculé selon le degré de correspondance entre les attentes des utilisateurs et les performances réelles. Ce score est représenté à l’aide d’une échelle allant de 0 (insatisfaction totale) à 1 (satisfaction totale). Les graphiques associés permettent de repérer les transactions qui pourraient affecter les performances d’une application.

Pour faciliter le dépannage, une fonctionnalité permet d’associer les problèmes Apdex aux comportements des applications. À partir du portail de New Relic APM, choisissez de voir les transactions associées aux scores Apdex les plus bas.

Pour ce qui est des alertes, il faut mettre en place des règles concernant les raisons, les seuils et les réponses qui déterminent les conditions de leur émission.

Pour créer une alerte, accédez à l’onglet depuis l’interface de New Relic, puis sélectionnez « Alerts Policies », « Add a policy », et suivez l’assistant pour terminer l’opération. Ensuite, accédez à l’interface utilisateur pour définir les conditions et les seuils pour l’alerte sélectionnée.

Les concurrents de New Relic

Les concurrents de New Relic sont AppDynamics, Datadog, Dynatrace, SignalFx et Splunk Technology. Un logiciel APM peut faire partie de la chaîne d’outils IT pendant de nombreuses années. Il faut donc évaluer les caractéristiques, les avantages et les coûts de chaque solution avant de se décider.

Pour approfondir sur DevOps et Agilité