Application monitoring tips you need to know
C'est une chose de savoir utiliser l'APM, mais c'en est une autre de savoir bien utiliser le logiciel monitoring des performances des applications de New Relic. Voici quelques bonnes pratiques conçues pour vous aider à devenir pro — et un atout essentiel pour votre équipe !
Vous souhaitez un didacticiel étape par étape pour résoudre les problèmes de performances ? Découvrez notre tutoriel Mon application est lente.
Conseil
Pour obtenir un aperçu de haut niveau de toutes vos applications et services, utilisez notre explorateur d'entités.
Conseil
Consultez Diagnostics d’ingénierie de fiabilité pour obtenir un guide sur la façon de trouver les problèmes de performances courants à l’aide d’APM et d’autres fonctionnalités New Relic.
1. Normaliser les noms d’application
La plupart des agents New Relic fournissent un nom d'application par défaut, tel que « Mon application » ou « Application PHP », si vous n'en spécifiez pas dans votre fichier de configuration New Relic. Vous ne voulez pas vous retrouver avec 20 applications portant le même nom, assurez-vous de sélectionner un identifiant descriptif pour vos applications dès que vous les déployez.
Pour que les choses restent cohérentes et faciles à parcourir, New Relic recommande de standardiser la dénomination de vos applications (par exemple, toutes les applications en simulation ajoutent [simulation] ou similaire à la fin de leur nom). Idéalement, vous souhaitez que vos nouvelles applications Java soient nommées automatiquement pour réduire les risques d’erreurs typographiques et de dénomination erronée.
Comment faire
Pour les applications Java, la dénomination automatique des applications peut provenir des sources suivantes :
- Demande d'attribut
- Paramètre d'initialisation du servlet
- Paramètre d'initialisation du filtre
- Paramètres de contexte de l'application Web
- Nom du contexte de l'application Web (nom d'affichage)
- Chemin de contexte de l'application Web
Choisissez la méthode qui correspond le mieux à vos besoins et suivez ces étapes.
Pour les applications non Java, il n’existe pas de méthodes de dénomination automatique, reportez-vous donc à la documentation de votre agent APM.
2. Ajoutez des balises à vos applications
Lorsque plusieurs applications différentes utilisent le même compte et que chaque application s'étend sur plusieurs environnements (par exemple, développement, test, pré-production, production), il peut être difficile de trouver une application spécifique dans votre dashboard de présentation. C'est pourquoi nous vous recommandons d'ajouter des balises à vos applications afin de pouvoir les segmenter en groupes logiques.
Les deux balises les plus courantes utilisées par les clients APM matures sont le nom de l'application et l'environnement. Ainsi, par exemple, si vous souhaitez afficher l'application de facturation dans Test, vous pouvez simplement filtrer par « application de facturation » ( tag de nom) et « test » ( tag d'environnement).
Prudence
Dans les fichiers de paramètres configuration de l'agent APM, utilisez le champ labels
pour ajouter une balise à vos données. Par exemple, voir cette description du paramètre des étiquettes Python.
APM est conçu pour que les applications puissent être regroupées dans un nombre illimité de catégories tag significatives.
Comment faire
3. Créer et évaluer une règle d'alerte
Lorsque les indicateurs de performances clés augmentent ou diminuent, les individus et les équipes de votre organisation doivent en être informés. Les alertes dans New Relic fournissent un ensemble d'outils incluant des anomalies dynamiques qui vous permettent de détecter les problèmes avant qu'ils n'impactent votre utilisateur final.
La règle d'alerte peut être configurée de deux manières principales :
- Static threshold alerts sont utiles lorsque vous connaissez déjà la nature d'une application et que ses comportements normaux ne sont pas susceptibles de changer de sitôt. Le score Apdex, le temps de réponse, le taux d'erreur et le débit sont quelques-uns des seuils statiques sur lesquels vous pouvez créer une règle d'alerte.
- Dynamic anomaly alerts facilite la détermination et la définition d'un seuil d'alerte dynamique pour les applications présentant des modèles saisonniers et des tendances de croissance variables (ce qui rend difficile la définition d'un seuil définissant un comportement normal). Ces utilisent des anomalies modélisées à partir des données métriques historiques de votre application.
Chaque règle d'alerte peut contenir autant de conditions que nécessaire, et chaque condition d'alerte comprend trois composants :
- Type de condition (métrique, service externe, etc.)
- entité ciblée par la stratégie (par exemple, applications APM, applications ou hôtes)
- seuil qui dégénère en situations d'alerte avec une gravité croissante
Une fois votre système d'alerte configuré, vous devez vous assurer que vous profitez de tous les canaux de notification possibles. Après tout, à quoi servent les alertes si personne n’est au courant ?
Vous pouvez gérer les alertes en créant des groupes d'utilisateurs spécifiques et en exploitant les canaux d'alerte intégrés de New Relic, notamment Slack, PagerDuty, les webhooks et les e-mails. Assurez-vous d'évaluer régulièrement les règles d'alerte pour vous assurer qu'elles sont toujours valides.
Comment faire
Voir la documentation détaillée :
- Pour configurer des alertes d'anomalies dynamiques et choisir une application, suivez les procédures standard. Vous verrez un aperçu de la métrique avec l’anomalie prédite. Vous pouvez sélectionner une métrique pour cette application et voir l’anomalie correspondante. Ensuite, à l’aide des curseurs de seuil, vous pouvez définir dans quelle mesure vous souhaitez que votre seuil suive la prédiction de l’anomalie.
- Pour configurer des alertes de seuil statiques pour vos paramètres Apdex, suivez les procédures standard.
- Pour configurer votre canal de notification d'alerte, suivez les procédures standard.
4. Identifier et configurer la clé de transaction
Selon la nature de votre demande, certaines transactions peuvent être plus importantes pour vous que d’autres. La fonctionnalité clé de transaction de New Relic est conçue pour vous aider à monitorer de près ce que vous considérez comme les transactions les plus critiques pour l'entreprise de votre application, qu'il s'agisse du temps de réponse final de l'utilisateur ou de l'application, du nombre d'appels, du taux d'erreur ou de quelque chose d'autre. Vous pouvez également définir des niveaux de seuil d'alerte pour être averti lorsque vos clés de transaction fonctionnent mal.
Comment faire
- Accédez à one.newrelic.com > All capabilities > Key transactions, puis sélectionnez Add more. Sélectionnez ensuite l'application et le site Web de transaction ou, à partir de la transaction sélectionnée, sélectionnez Track as key transaction.
- Saisissez un nom pour la transaction clé et sélectionnez Track key transaction.
- Facultatif : si l'agent de l'application sélectionnée prend en charge les alertes personnalisées, utilisez les valeurs par défaut que New Relic remplit automatiquement ou sélectionnez Modifier la stratégie de transaction d'alerte clé pour définir les valeurs Apdex et de seuil d'alerte.
- Pour afficher les détails dashboard de la clé de transaction, sélectionnez View new key transaction.
5. Suivre l'historique de déploiement
Lorsque les équipes de développement publient du nouveau code aussi fréquemment que possible, il peut être difficile de mesurer l’impact de chaque déploiement sur les performances. Une façon de rester au courant de la manière dont ces changements affectent votre application est d’utiliser des rapports de déploiement.
Ces rapports répertorient les déploiements récents et leur impact sur les scores Apdex de l'utilisateur final et des serveurs d'applications, ainsi que le temps de réponse, le débit et les erreurs. Vous pouvez également afficher et explorer les détails pour détecter les erreurs liées au déploiement récent, ou déposer un ticket et partager les détails avec votre équipe.
Comment faire
- Dans la barre de menu New Relic, sélectionnez APM & services > (select an app) > Events > Deployments.
- Pour afficher les performances après un déploiement, accédez au dashboard Présentation de l'application sélectionnée dans la section Recent events.
Une barre verticale bleue sur un graphique indique un déploiement. Pour afficher des informations récapitulatives sur le déploiement, pointez sur la barre bleue.
6. Examiner les rapports APM
Du SLA au déploiement, en passant par la capacité, l'évolutivité, les rapports d'utilisation de l'hôte et bien plus encore, APM propose une variété d'outils de reporting téléchargeables qui font apparaître les tendances historiques, autant d'excellents moyens de rendre compte aux équipes de direction ou aux clients. Jetez un œil à la liste complète des rapports et utilisez-les à votre avantage.
Comment faire
- Dans la barre de menu APM, sélectionnez Applications > (select an app) > Reports.
- Sélectionnez le rapport que vous souhaitez voir.
- Si vous souhaitez enregistrer ou exporter un rapport à partager, sélectionnez Download this report as .csv, ce qui créera un rapport avec des valeurs séparées par des virgules.
7. Examinez votre environnement avec des cartes de services
Utilisez les cartes de service New Relic, une fonctionnalité incluse dans APM, pour comprendre comment les applications et les services de votre architecture se connectent et communiquent entre eux. Les cartes de service sont des représentations visuelles et personnalisables de l'architecture de votre application. Les cartes vous montrent automatiquement les connexions et les dépendances de votre application, y compris la base de données et les services externes. Les indicateurs de santé et les mesures de performances vous montrent l'état opérationnel actuel de chaque partie de votre architecture.
How to do it
- Allez à one.newrelic.com > All capabilities > More > Service maps.
- Pour commencer, consultez Introduction aux cartes de service.
8. Restez à jour
Avec la plateforme SaaS de New Relic, obtenir de nouvelles fonctionnalités est aussi simple que de mettre à jour votre agent. Il est fort probable que votre organisation dispose déjà d'un ensemble de scripts pour déployer les mises à niveau des applications dans votre environnement. De la même manière, vous pouvez également automatiser les déploiements de votre agent New Relic pour vous assurer que votre système est à jour. Ansible, Chef et Puppet sont d'excellents exemples de frameworks de déploiement qui facilitent la vie en vous permettant d'automatiser l'ensemble de votre processus de déploiement et de gestion.
Comment faire
Vérifiez régulièrement la version de l'agent que vous utilisez afin de savoir quand une mise à jour est nécessaire. Si la dernière sortie de l'agent contient un correctif nécessaire ou une fonctionnalité ajoutée, téléchargez-la.
Pour déployer l'agent automatiquement (preferred as a method to avoid errors):
Utilisez le script de déploiement existant, à condition qu'il puisse être adapté pour gérer le déploiement.
OU
Créez et maintenez un script qui déclenche et configure spécifiquement l'agent New Relic. Idéalement, le script devrait extraire les fichiers de l'agent d'un référentiel où les fichiers sont versionnés (à des fins de restauration).
Une fois le script créé, fermez l'application (à moins que le script ne gère cette opération).
Exécutez le script de déploiement.
Démarrez l'application (sauf si le script gère cela).
Si des problèmes surviennent, exécutez le script pour revenir à la version précédente.
Pour déployer l’agent manuellement :
- Sauvegardez le répertoire de l'agent actuel.
- déployer l'agent mis à jour dans le répertoire de l'agent existant.
- Modifier les fichiers de configuration en comparant les nouveaux fichiers avec les fichiers existants. Assurez-vous notamment que des éléments tels que et les extensions personnalisées sont copiés dans la nouvelle configuration.
- Redémarrez l'application.
- Si des problèmes surviennent, restaurez l’ancien agent à l’aide de la sauvegarde et redémarrez.
9. Gérer l'accès des utilisateurs
La façon dont vous gérez votre utilisateur dépend du modèle d'utilisateur sur lequel vous vous trouvez :