Les journaux d'application sont une information essentielle qui fournit des informations cruciales sur le fonctionnement interne d'une application. Cela inclut des informations précieuses telles que les événements, les erreurs et les interactions utilisateur qui pourraient aider un développeur d'applications ou un ingénieur de support opérationnel à déboguer et à fournir une assistance. Cependant, lorsque ces journaux sont présentés dans des langues autres que l'anglais, cela crée un obstacle important pour les développeurs qui ne peuvent pas lire le contenu et entrave la capacité de l'équipe d'assistance à identifier et à résoudre rapidement les problèmes.
Dans cet article, nous explorons une solution sur la façon dont vous pouvez surmonter les barrières linguistiques à l'aide d'Amazon Translate, un service de traduction automatique neuronale entièrement géré pour traduire du texte vers et depuis l'anglais dans un large éventail de langues prises en charge. La solution complétera vos flux de travail de journalisation existants en traduisant automatiquement tous vos journaux d'applications dans Amazon CloudWatch en temps réel, ce qui peut atténuer les défis posés par les journaux d'applications non anglais.
Vue d'ensemble de la solution
Cette solution vous montre comment utiliser trois services clés pour automatiser la traduction de vos journaux d'application de manière événementielle :
- CloudWatch Logs est utilisé pour surveiller, stocker et accéder à vos fichiers journaux générés à partir de diverses sources telles que les services AWS et vos applications.
- Amazon Translate est utilisé pour effectuer la traduction de texte vers et depuis l'anglais
- AWS Lambda est un service de calcul qui vous permet d'exécuter des codes pour récupérer les journaux d'application et les traduire via l'utilisation du SDK Amazon Translate.
Le diagramme suivant illustre l’architecture de la solution.
Le flux de travail comprend les étapes suivantes :
- Une application personnalisée ou tierce est hébergée sur une instance Amazon Elastic Compute Cloud (Amazon EC2) et les journaux d'application générés sont téléchargés vers CloudWatch Logs via l'agent CloudWatch Logs.
- Chaque entrée de journal écrite dans CloudWatch Logs déclenche la fonction Lambda abonnée au groupe de journaux CloudWatch.
- La fonction traite le contenu de l'entrée du journal et utilise le SDK Amazon Translate traduire_text pour traduire le contenu du journal.
- Le contenu du journal traduit est renvoyé à la fonction.
- La fonction réécrit le contenu du journal traduit dans CloudWatch Logs dans un autre groupe de journaux.
L'ensemble du processus se déroule automatiquement en temps réel et vos développeurs pourront accéder aux journaux d'application traduits à partir des groupes de journaux CloudWatch sans changement dans la façon dont votre application existante écrit les journaux dans CloudWatch.
Conditions préalables
Pour suivre les instructions de cette solution, vous avez besoin d'un compte AWS avec un utilisateur AWS Identity and Access Management (IAM) disposant de l'autorisation d'accéder à AWS CloudFormation, Amazon Translate, CloudWatch, Lambda et IAM.
Déployer la solution
Pour commencer, lancez le modèle CloudFormation suivant pour créer une fonction Lambda, deux groupes de journaux CloudWatch et un rôle IAM. Procédez au déploiement avec les paramètres par défaut. Ce modèle prend environ 1 minute à compléter.
Une fois la pile créée avec succès, vous pouvez consulter la fonction Lambda en accédant à la console Lambda et en localisant la fonction traduire les journaux d'application
.
Vous pouvez observer qu'un déclencheur CloudWatch Logs est ajouté à la fonction.
Vous pouvez afficher les détails de la configuration du déclencheur en accédant à l'onglet Configuration onglet et choix Déclencheurs dans le volet de navigation.
Vous pouvez confirmer que le déclencheur a été configuré pour s'abonner aux événements de journal du groupe de journaux /journaux d'application
. C'est ici que vos journaux d'applications dans une langue autre que l'anglais seront écrits.
Ensuite, choisissez Variables d'environnement dans le volet de navigation.
Deux variables d'environnement sont fournies ici :
- langue originelle – La langue d'origine dans laquelle se trouve le journal des applications (par exemple, oui pour le japonais)
- langue cible – La langue cible dans laquelle traduire le journal des applications (par exemple, fr pour l'anglais)
Pour obtenir la liste des langues prises en charge, reportez-vous à Langues et codes de langue pris en charge.
Ensuite, allez au Code et examinez la logique de la fonction :
Testez la solution
Enfin, pour tester la solution, vous pouvez créer un message de journal via la console CloudWatch et choisir le groupe de journaux et le flux de journaux créés.
Après avoir créé vos messages de journal, vous pourrez les voir traduits immédiatement.
Nettoyer
Pour nettoyer les ressources créées dans cet article, supprimez la pile CloudFormation via la console CloudFormation.
Conclusion
Cet article aborde le défi auquel sont confrontés les développeurs et les équipes d'assistance lorsque les journaux d'application sont présentés dans des langues autres que l'anglais, ce qui rend difficile le débogage et la fourniture d'une assistance. La solution proposée utilise Amazon Translate pour traduire automatiquement les journaux dans une langue autre que l'anglais dans CloudWatch et fournit des conseils étape par étape sur le déploiement de la solution dans votre environnement. Grâce à cette mise en œuvre, les développeurs peuvent désormais surmonter de manière transparente la barrière linguistique, leur permettant ainsi de résoudre les problèmes rapidement et efficacement.
Essayez cette implémentation et faites-nous part de vos commentaires dans les commentaires.
A propos de l'auteur
Xan Huang est architecte de solutions senior chez AWS et est basé à Singapour. Il travaille avec de grandes institutions financières pour concevoir et créer des solutions cloud sécurisées, évolutives et hautement disponibles. En dehors du travail, Xan passe la plupart de son temps libre avec sa famille et documente le parcours de croissance de sa fille.
Laisser une réponse