Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurez la journalisation pour. NETapplications dans Amazon CloudWatch Logs en utilisant NLog
Créée par Bibhuti Sahu (AWS) et Rob Hill () (AWS) AWS
Environnement : Production | Technologies : gestion et gouvernance DevOps ; applications Web et mobiles | Charge de travail : Microsoft |
AWSservices : Amazon CloudWatch Logs |
Récapitulatif
Ce modèle décrit comment utiliser le framework de journalisation NLog open source pour la journalisation. NETutilisation des applications et événements dans Amazon CloudWatch Logs. Dans la CloudWatch console, vous pouvez consulter les messages du journal de l'application quasiment en temps réel. Vous pouvez également configurer des métriques et des alarmes pour vous avertir en cas de dépassement d'un seuil de métrique. À l'aide CloudWatch d'Application Insights, vous pouvez consulter des tableaux de bord automatisés ou personnalisés qui indiquent les problèmes potentiels liés aux applications surveillées. CloudWatch Application Insights est conçu pour vous aider à isoler rapidement les problèmes récurrents liés à vos applications et à votre infrastructure.
Pour écrire des messages de journal dans CloudWatch Logs, vous ajoutez le AWS.Logger.NLog
NuGet package au. NETprojet. Ensuite, vous mettez à jour le NLog.config
fichier pour utiliser CloudWatch Logs comme cible.
Conditions préalables et limitations
Prérequis
Un compte AWS actif.
UN. NETapplication Web ou console qui :
Utilisations prises en charge. NETFramework ou. NETVersions de base. Pour plus d'informations, consultez la section Versions du produit.
Utilisée NLog pour envoyer des données de journal à Application Insights.
Autorisations permettant de créer un IAM rôle pour un AWS service. Pour plus d'informations, consultez la section Autorisations relatives aux rôles de service.
Autorisations permettant de transmettre un rôle à un AWS service. Pour plus d'informations, consultez la section Accorder à un utilisateur l'autorisation de transmettre un rôle à un AWS service.
Versions du produit
. NETFramework version 3.5 ou ultérieure
. NETVersions de base 1.0.1, 2.0.0 ou ultérieures
Architecture
Pile technologique cible
NLog
Amazon CloudWatch Logs
Architecture cible
Le. NETl'application écrit les données du journal dans le framework de NLog journalisation.
NLogécrit les données du journal dans CloudWatch Logs.
Vous utilisez des CloudWatch alarmes et des tableaux de bord personnalisés pour surveiller le. NETdemande.
Outils
AWSservices
Amazon CloudWatch Application Insights vous permet d'observer l'état de santé de vos applications et des AWS ressources sous-jacentes.
Amazon CloudWatch Logs vous aide à centraliser les journaux de tous vos systèmes, applications et AWS services afin que vous puissiez les surveiller et les archiver en toute sécurité.
AWSIdentity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.
AWSLes outils pour PowerShell sont un ensemble de PowerShell modules qui vous aident à scripter des opérations sur vos AWS ressources à partir de la ligne de PowerShell commande.
Autres outils
Bûcheron. NLog
est une NLog cible qui enregistre les données du journal dans CloudWatch Logs. NLog
est un framework de journalisation open source pour. NETplateformes qui vous aident à écrire des données de journal sur des cibles, telles que des bases de données, des fichiers journaux ou des consoles. PowerShell
est un programme d'automatisation et de gestion de configuration Microsoft qui s'exécute sous Windows, Linux et macOS. Visual Studio
est un environnement de développement intégré (IDE) qui inclut des compilateurs, des outils de complétion de code, des concepteurs graphiques et d'autres fonctionnalités qui prennent en charge le développement de logiciels.
Bonnes pratiques
Définissez une politique de conservation pour le groupe de journaux cible. Cela doit être fait en dehors de la NLog configuration. Par défaut, les données du journal sont stockées dans les CloudWatch journaux indéfiniment.
Respectez les meilleures pratiques en matière de gestion des clés AWS d'accès.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Créez une IAM politique. | Suivez les instructions de la section Création de politiques à l'aide de l'JSONéditeur de la IAM documentation. Entrez la JSON politique suivante, qui dispose des autorisations de moindre privilège nécessaires pour permettre à Logs de lire et d'écrire des CloudWatch journaux.
| AWSadministrateur, AWS DevOps |
Créez un IAM rôle. | Suivez les instructions de la section Création d'un rôle pour déléguer des autorisations à un AWS service dans la IAM documentation. Sélectionnez la politique que vous avez créée précédemment. C'est le rôle que CloudWatch Logs assume pour effectuer des actions de journalisation. | AWSadministrateur, AWS DevOps |
Configurer les AWS outils pour PowerShell. |
| Général AWS |
Tâche | Description | Compétences requises |
---|---|---|
Installez le NuGet package. |
| Développeur d'applications |
Configurez la cible de journalisation. |
Pour un exemple de fichier de configuration, consultez la section Informations supplémentaires de ce modèle. Lorsque vous exécutez votre application, elle écrit NLog les messages du journal et les envoie à CloudWatch Logs. | Développeur d'applications |
Tâche | Description | Compétences requises |
---|---|---|
Validez la journalisation. | Suivez les instructions de la section Afficher les données de journal envoyées à CloudWatch Logs dans la documentation CloudWatch Logs. Vérifiez que les événements du journal sont enregistrés pour le. NETdemande. Si les événements du journal ne sont pas enregistrés, consultez la section Dépannage de ce modèle. | Général AWS |
Surveillez le. NETpile d'applications. | Configurez la surveillance CloudWatch selon les besoins de votre cas d'utilisation. Vous pouvez utiliser CloudWatch Logs Insights, CloudWatch Metrics Insights et CloudWatch Application Insights pour surveiller votre. NETcharge de travail. Vous pouvez également configurer des alarmes afin de recevoir des alertes, et vous pouvez créer un tableau de bord personnalisé pour surveiller la charge de travail à partir d'une vue unique. | Général AWS |
Résolution des problèmes
Problème | Solution |
---|---|
Les données du journal n'apparaissent pas dans CloudWatch les journaux. | Assurez-vous que la IAM politique est attachée au IAM rôle assumé par CloudWatch Logs. Pour obtenir des instructions, consultez la section Configurer l'accès et les outils dans la section Epics. |
Ressources connexes
Utilisation de groupes de journaux et de flux de CloudWatch journaux (documentation sur les journaux)
Amazon CloudWatch Logs et. NETFrameworks de journalisation
(article de AWS blog)
Informations supplémentaires
Voici un exemple de NLog.config
fichier.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> </startup> <nlog> <extensions> <add assembly="NLog.AWS.Logger" /> </extensions> <targets> <target name="aws" type="AWSTarget" logGroup="NLog.TestGroup" region="us-east-1" profile="demo"/> </targets> <rules> <logger name="*" minlevel="Info" writeTo="aws" /> </rules> </nlog> </configuration>