Scout APM est un outil de surveillance des performances des applications Laravel qui relie les exceptions de performances directement aux points de terminaison, ce qui permet aux développeurs d'économiser des heures consacrées au dépannage et au débogage.
Scout a récemment élargi ses offres de services pour inclure des microservices et la surveillance des services gérés pour les applications PHP, vous offrant ainsi des mesures d'observabilité plus cohérentes et exploitables. Apprenez-en davantage sur la façon de surveiller les applications Laravel avec Scout APM en lisant ce qui suit.
Pour commencer à surveiller votre application Laravel, vous avez d'abord besoin d'un compte Scout. Si vous ne l'avez pas déjà fait, vous pouvez Inscrivez-vous pour un essai gratuit de 14 jours ici (aucune carte de crédit requise).
La prochaine chose à faire est d'ajouter l'agent de surveillance à faible surcharge aux dépendances du projet, cela peut être fait en utilisant une commande dans le shell :
composer require scoutapp/scout-apm-laravel
Cette commande installera deux packages : scout-apm-laravel et scout -apm-php. L'étape suivante consiste à définir une configuration pour lier le proxy à votre compte. Pour ce faire, ouvrez le fichier .env
de votre projet dans votre éditeur de texte et ajoutez les trois lignes de configuration suivantes au fichier :
SCOUT_MONITOR=true SCOUT_KEY=”enter your Agent Key here” SCOUT_NAME=”enter the name of you application here”
Vous pouvez trouver le secret proxy de votre compte sur la page des paramètres de Scout. Déployez et dans environ 5 minutes, vos données commenceront à apparaître dans Scout. Pour plus d'informations sur l'installation de Heroku ou le dépannage des problèmes d'installation, consultez la documentation ou envoyez un e-mail à support@scoutapm.com et nous serons heureux de vous aider.
Vous avez maintenant créé un compte Scout et connecté votre agent de surveillance, mais par où commencer à diagnostiquer les problèmes de performances de votre application ? Jetons un coup d'œil aux principales fonctionnalités de Scout qui peuvent vous aider à comprendre rapidement les problèmes de performances.
Lorsque vous vous connectez à Scout, la première page que vous voyez est la page de présentation (illustrée ci-dessous), qui vous donne un aperçu clair et épuré de la santé et des performances de votre application en un coup d'œil.
Le graphique est hautement configurable, vous permettant de modifier la période de temps et de changer les mesures que vous souhaitez afficher. Il comporte également un outil de glisser-déposer (illustré ci-dessous) qui vous permet de dessiner un cadre autour de la zone que vous souhaitez explorer plus en détail. Au fur et à mesure que vous dessinez ces cases, une fenêtre contextuelle se chargera dynamiquement affichant tous les points de terminaison visités pendant cette période. Cette fonctionnalité est particulièrement utile lorsque vous constatez un pic de performances sur un graphique et que vous souhaitez en comprendre la cause.
Si vous essayez Scout pour la première fois, un bon point de départ est l'onglet Insights. Ici, nous disposons d'un ensemble d'algorithmes qui analysent votre projet pour identifier les requêtes n+1 et requêtes lentes potentielles. Ceux-ci vous fournissent des correctifs de performances « faciles à trouver » qui peuvent souvent améliorer immédiatement les performances de votre application.
Scout fournit principalement deux niveaux de mesures de performances des applications. Tout d’abord, regardez-le du point de vue du point final. Par exemple, en moyenne, combien de temps faut-il pour accéder à ce point de terminaison ? Où est passé le temps ?
Si vous regardez la capture d'écran ci-dessous, vous pouvez clairement voir que sur le temps de requête moyen de 2 371 ms pour les 3 visites à ce point de terminaison ForgetPasswordController, 78 % sont dépensés au niveau de la couche contrôleur, ce qui suggère qu'il s'agira de la première enquête. je veux essayer d’améliorer ce point final lent.
Le deuxième angle où Scout affiche principalement les indicateurs est au niveau Trace. Par exemple, pendant que quelqu'un a effectué cette requête Web particulière, combien de temps cela a pris et quels niveaux de la requête ont pris le plus de temps, etc. En regardant la trace de l'opération de mise à jour du UserController ci-dessous, on constate que dans ce cas, 98% du temps est passé sur la couche SQL, et la majeure partie du temps est consacrée aux 2 appels à la requête de première ligne supérieure . Si nous cliquons sur ce bouton SQL, nous pouvons voir un traçage pour voir si nous pouvons améliorer la requête.
Ces pages sont l'endroit où vous passez la plupart de votre temps dans Scout, et elles vous donnent la visibilité essentielle pour essayer de comprendre vos problèmes de performances. Vous pouvez accéder aux pages Endpoint et Trace directement à partir de la page de présentation principale et de l'onglet Insights, ou en cliquant sur le lien Web Endpoints en haut de la page (illustré ci-dessous).
Maintenant que nous avons couvert les bases de Scout et vous avons montré les principaux domaines du système que vous utiliserez généralement jour après jour, tournons notre attention vers certains des plus avancés. fonctionnalités, ces fonctionnalités permettent à Scout de se démarquer dans le monde APM.
Que vous utilisiez Sentry, Honeybadger, Bugsnag ou Rollbar pour la surveillance des erreurs, nous avons ce qu'il vous faut ! Scout s'intègre parfaitement à ces services populaires, vous permettant de tout surveiller en un seul endroit sur la page de présentation principale.
Quel que soit le service que vous utilisez, le processus de configuration est similaire et tout ce que cela implique est d'ajouter le jeton API sur l'écran de configuration de Scout.
Pourquoi ce problème de performances ne se produit-il que le mardi soir à 2h00 à partir d'une adresse IP brésilienne ? Ces problèmes de performances difficiles (mais courants) peuvent être résolus avec l'une des fonctionnalités les plus puissantes de Scout : l'explorateur de traces utilisé conjointement avec des contextes personnalisés définis par l'utilisateur.
L'utilisation d'un contexte personnalisé défini vous permet de nous indiquer ce que vous devez voir. Cela vaut bien l'investissement dans le temps d'installation relativement court pour obtenir des super pouvoirs de surveillance ! Par défaut, les seuls champs contextuels que vous verrez sont l'URI et le nom d'hôte, comme indiqué ci-dessous, mais ceux-ci peuvent être personnalisés comme vous le souhaitez. Le graphique multi-filtres de
Trace Explorer (illustré ci-dessus) vous permet de vérifier les points de terminaison qui correspondent aux critères que vous définissez, puis vous pouvez afficher ceux qui correspondent à ces filtres dans la section Transaction Traces du écran Tout le suivi. Par exemple, vous souhaitez peut-être afficher les requêtes Web pour un utilisateur spécifique, ou pour tous les utilisateurs d'un forfait, ou d'une certaine région du monde. Ces opérations sont faciles à réaliser dans Trace Explorer avec un contexte personnalisé, et elles peuvent vous aider à mieux comprendre ces problèmes de performances difficiles à diagnostiquer et qui prennent du temps.
Voyez-vous si ce problème de performances a soudainement commencé à se produire après le dernier déploiement ? Quelle a été l’expérience utilisateur lors de votre déploiement ? Ce sont des réponses auxquelles il est possible de répondre à l'aide de la fonction de suivi du déploiement, qui placera un symbole de fusée sur le tableau général principal pour indiquer quand un déploiement a lieu.
Le suivi du déploiement vous permet également d'afficher des détails tels que le nombre de commits impliqués dans le déploiement et de quelle branche proviennent les commits. Nous pouvons collecter toutes ces informations lorsque vous ajoutez le SHA ou votre déploiement à la variable d'environnement SCOUT_REVISON_SHA
.
Comme toutes les bonnes solutions de surveillance, Scout vous propose un système d'alerte sophistiqué qui peut être configuré pour envoyer des alertes à certaines personnes lorsque le temps de réponse du point final ou les mesures d'utilisation de la mémoire dépassent un certain seuil. Ces alertes seront affichées sous forme de symbole d'avertissement sur la carte générale principale et une notification sera émise.
Par défaut, les alertes système enverront des notifications par e-mail aux utilisateurs du groupe de notification, mais elles peuvent également être configurées pour fonctionner avec des services tiers tels que Slack, VictorOps, PagerDuty, etc. via notre fonctionnalité webhook.
Utilisez-vous une bibliothèque en dehors de Laravel que nous ne détectons pas actuellement ? Si tel est le cas, informez-en d’abord notre équipe d’assistance et nous essaierons d’ajouter une assistance pour vous. En attendant, vous pouvez ajouter vous-même des outils personnalisés, c'est très simple de démarrer et cela vous garantira une visibilité complète sur l'ensemble de l'application.
Comme vous pouvez le constater, Scout APM apporte une solution de surveillance APM très mature aux communautés PHP et Laravel. Notre interface utilisateur claire et nos outils approfondis vous aident à aller rapidement au cœur de votre problème, tout en restant abordable grâce à une structure tarifaire flexible basée sur les transactions.
Adresse originale : https://laravel-news.com/scout-apm-for-monitoring-a-laravel-application
Adresse de traduction : https://learnku.com/laravel/t/68744
[Recommandations associées : tutoriel vidéo laravel]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!