[PYTHON] Explication détaillée Surveillance et amélioration des performances avec NewRelic-Part 2

Aperçu

Suite de la session précédente. J'ai changé le titre. Partie 2, mais le numéro de dossier commence par 1.

Explication détaillée: surveillance et amélioration des performances avec NewRelic-Part 1 Explication détaillée: surveillance et amélioration des performances avec NewRelic-Part 2

Cas 1: je veux savoir si l'application fonctionne correctement

C'est une confirmation de survie. Si vous essayez de le faire correctement, vous pouvez faire une demande à un ensemble d'API et vérifier la réponse. Cependant, en réalité, ce n'est pas nécessaire de le faire, et je pense que vous pouvez lancer si l'application est en cours d'exécution ou non à une API pour une confirmation de survie et vérifier si la réponse est correcte. À ce moment-là, quel type d'API est important est important. Au lieu de simplement renvoyer un écho comme le serveur d'écho, il est bon de faire une requête légère aux services connectés tels que MySQL et Redis. Ce faisant, il est possible de confirmer l'existence de MySQL et Redis en même temps.

Dans New Relic, il peut être défini comme suit.

ping_1.png

Après le réglage, vous pouvez voir le résultat dans Disponibilité.

ping_2.png

Vous pouvez également définir le courrier d'alerte, etc., donc si vous le définissez, vous pouvez rapidement remarquer lorsque le système tombe en panne. Pour l'équipe à laquelle vous appartenez, vous serez averti dans le chat lorsque l'environnement de développement devient inaccessible, afin que vous puissiez le remarquer et le corriger rapidement.

Cas 2: je veux connaître le temps de réponse du monde entier

Les applications déployées dans le monde entier dépendent du temps de réponse de chaque pays. Dans New Relic, vous pouvez vérifier le temps de réponse dans les zones suivantes en définissant SYNTHETICS. Il sera envoyé à intervalles réguliers.

synthetics_1.png synthetics_2.png

Cas 3: je souhaite connaître l'ID du joueur lorsqu'une exception se produit

Dans NewRelic, l'exception qui se produit s'affiche sous forme d'erreurs, mais elle ne contient pas d'informations spécifiques à l'application, sauf si vous la définissez vous-même. Par exemple, si quelque chose qui peut identifier un utilisateur tel que player_id est enregistré avec une exception, vous pouvez rechercher cet utilisateur à partir de l'écran de gestion de l'application et obtenir un statut plus détaillé de l'exception.

Si vous le définissez correctement avec New Relic, il ressemblera à ce qui suit.

custome_attribute.png

Les paramètres sont les suivants sur le code source. Puisqu'il s'agit d'un processus courant, il semble que vous vous sentirez bien si vous le mettez dans le décorateur ou visualisez le prétraitement. (Histoire à Django)

Ajouter player_id à #newrelic newrelic.agent.add_custom_parameter('player_id', player.id)

Cas 4: J'ai amélioré une API donc je veux voir si elle est réellement plus rapide

Si cela s'améliore, cela n'a aucun sens à moins que vous ne le mesuriez et ne vérifiiez s'il est réellement plus rapide. Vous pouvez également vérifier cette zone avec New Relic.

historical_performance.png

Conclusion

La dernière fois, j'ai dit que je voudrais présenter les transactions clés, X-Ray, mais si j'en ai introduit d'autres, le temps est écoulé, je le ferai donc la prochaine fois. La prochaine fois, je présenterai Key Transactions, X-Ray depuis le début.

Recommended Posts

Explication détaillée Surveillance et amélioration des performances avec NewRelic-Part 2
Explication détaillée Surveillance et amélioration des performances avec NewRelic-Part 1
Explication détaillée Amélioration des performances avec NewRelic-Part 3
Gagner avec la surveillance
Efforts d'amélioration des performances