Analysez les opérations de l’accélérateur de zone d’atterrissage Azure Spring Apps
Cet article fournit des considérations et suggestions relatives à l’observabilité de votre application Spring Boot qui est déployée dans Azure Spring Apps.
L’organisation peut fournir une surveillance centralisée qui est partagée par toutes les charges de travail ou fournir des espaces de travail Azure Monitor Log Analytics dédiés par charge de travail. Si vous dépendez de ressources centralisées, assurez-vous que les membres de l’équipe d’application ont accès aux journaux d'activité avec leurs rôles de contrôle d’accès en fonction du rôle (RBAC) Azure.
Pour plus d’informations sur la conception de la plateforme, consultez Gestion et surveillance des charges de travail.
Vous pouvez approvisionner vos propres ressources de surveillance. Cette approche donne à l’équipe d’application plus d’autonomie et simplifie la gestion globale de votre application. La contrepartie pourrait être une augmentation des frais de gestion. L’accélérateur de zone d’atterrissage Azure Spring Apps et les conseils suivants sont basés sur cette approche.
Remarques relatives à la conception
Métriques et journaux d’activité. Collectez les journaux et les métriques qui sont émis à partir de l’application et des ressources. Les journaux fournissent un aperçu des opérations de la charge de travail. Les métriques sont collectées à intervalles réguliers et fournissent des aperçus quasi en temps réel. Les journaux d'activité et les métriques peuvent aider dans les investigations qui sont liées à l’intégrité et à l’utilisation des ressources.
Les métriques sont essentielles aux décisions de mise à l’échelle. Vous pouvez autoriser des applications à se mettre à l’échelle en fonction des seuils de métriques ou des applications à se mettre à l’échelle pendant une fenêtre de temps spécifique.
Vous devez envisager de stocker ces données pour une analyse future. Maintenez la possibilité de visualiser les données afin de pouvoir repérer rapidement les tendances.
Instrumentation. Mettez en place une instrumentation pour générer plus de données d’observabilité à partir de l’application. Pour collecter des informations d’instrumentation, utilisez un outil de gestion des performances des applications (APM) tel que l’agent Java Azure Application Insights. Combiner des diagnostics de plateforme et ces informations pour fournir des fonctionnalités de surveillance améliorées.
Traçage distribué. Implémentez le suivi distribué pour obtenir l’observabilité sur différents services au sein de votre écosystème Azure Spring Apps.
Alertes. Les équipes d’application doivent être informées des événements importants pour la charge de travail. Vous pouvez définir des alertes qui surveillent les ressources en fonction de métriques telles que le stockage, le taux de requêtes et l’utilisation des données.
Sondes d’intégrité. Vous pouvez configurer des sondes d’intégrité pour détecter l’intégrité des principaux services. Vérifier comment les sondes d’intégrité sont configurées afin que les requêtes soient routées vers des instances saines et que l’application se termine correctement si les principaux services ne sont pas disponibles.
Recommandations de conception
Utilisez des métriques Azure Monitor pour collecter des métriques qui sont émises à partir de ressources surveillées dans une base de données de séries chronologiques.
Pour Azure Spring Apps, affichez les graphiques dans chaque page de présentation de l’application et demétriques courantes.
Utilisez la page paramètres de diagnostic dans Azure Spring Apps pour configurer la combinaison souhaitée des paramètres de diagnostic de vos applications.
Notes
Il existe un délai d’affichage des journaux dans votre compte de stockage, votre hub d’événements ou le Log Analytics. Si les instances de l’application Spring sont supprimées ou déplacées pendant ce délai, les paramètres de diagnostic doivent être supprimés pour s’assurer qu’une autre application ayant le même ID de ressource ne réutilise pas le même paramètre de diagnostic.
Utilisez Application Insights en tant qu’outil APM (Application Performance Monitoring) compatible avec tous les composants d’application afin de collecter les journaux, les métriques et les traces de l’application. Il peut collecter des données à partir de toutes les dépendances et traces et a la possibilité de visualiser des transactions de bout en bout.
Azure Spring Apps vous permet de collecter des métriques Spring Cloud Resilience4J dans Application Insights. Activer l’agent Java In-Process et configurer la collecte de dimensions pour activer cette fonctionnalité.
Azure Spring Apps intègre Spring Cloud Sleuth et Zipkin avec Application Insights.
Choisissez des mécanismes de découverte de service qui vous permettent de découvrir et inscrire rapidement des instances d’application. Les options varient en fonction du niveau Azure Spring Apps.
- De base/Standard : Kubernetes service discovery ou le registre des services managés Spring Cloud (à l’aide d’Eureka)
- Entreprise : Registre de Tanzu Service
Utilisez ensemble les probes liveness et readiness afin que des instances d’application non saines soient supprimées des fonctionnalités de découverte de service.
Si votre application a un temps de démarrage plus long, réglez le délai d’expiration total
initialDelaySeconds + periodSeconds * failureThreshold
sur une valeur supérieure à l’heure de début de votre application. Cet ajustement permet d’éviter l’échec de la sonde et de forcer le redémarrage de l’application.Configurez vos sondes d’intégrité pour effectuer des actions en fonction de la commande spécifique à l’application, d’une connexion de socket TCP ou d’une requête HTTP.
Pour les applications Spring Boot, tirez parti de l’indicateur d’intégrité de l’actionneur Spring Boot pour configurer vos sondes d’intégrité.