Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurieren Sie die Protokollierung für. NETAnwendungen in Amazon CloudWatch Logs mithilfe von NLog
Erstellt von Bibhuti Sahu (AWS) und Rob Hill () () AWS AWS
Übersicht
Dieses Muster beschreibt, wie das NLog Open-Source-Logging-Framework zum Loggen verwendet wird. NETAnwendungsnutzung und Ereignisse in Amazon CloudWatch Logs. In der CloudWatch Konsole können Sie die Protokollmeldungen der Anwendung nahezu in Echtzeit einsehen. Sie können auch Messwerte einrichten und Alarme so konfigurieren, dass Sie benachrichtigt werden, wenn ein Metrik-Schwellenwert überschritten wird. Mithilfe von CloudWatch Application Insights können Sie automatisierte oder benutzerdefinierte Dashboards anzeigen, die potenzielle Probleme für die überwachten Anwendungen aufzeigen. CloudWatch Application Insights soll Ihnen helfen, laufende Probleme mit Ihren Anwendungen und Ihrer Infrastruktur schnell zu isolieren.
Um Protokollnachrichten in CloudWatch Logs zu schreiben, fügen Sie das AWS.Logger.NLog
NuGet Paket dem hinzu. NETProjekt. Anschließend aktualisieren Sie die NLog.config
Datei, um CloudWatch Logs als Ziel zu verwenden.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
EIN. NETWeb- oder Konsolenanwendung, die:
Verwendungen werden unterstützt. NET Framework oder. NET Kernversionen. Weitere Informationen finden Sie unter Produktversionen.
Wird verwendetNLog, um Protokolldaten an Application Insights zu senden.
Berechtigungen zum Erstellen einer IAM Rolle für einen AWS Dienst. Weitere Informationen finden Sie unter Berechtigungen für Servicerollen.
Berechtigungen zum Übergeben einer Rolle an einen AWS Dienst. Weitere Informationen finden Sie unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS-Service.
Produktversionen
. NETFramework Version 3.5 oder höher
. NETKernversionen 1.0.1, 2.0.0 oder höher
Architektur
Zieltechnologie-Stack
NLog
CloudWatch Amazon-Protokolle
Zielarchitektur

Das. NETDie Anwendung schreibt Protokolldaten in das NLog Logging-Framework.
NLogschreibt die Protokolldaten in CloudWatch Logs.
Sie verwenden CloudWatch Alarme und benutzerdefinierte Dashboards zur Überwachung der. NETAnwendung.
Tools
AWS-Services
Amazon CloudWatch Application Insights hilft Ihnen dabei, den Zustand Ihrer Anwendungen und der zugrunde liegenden AWS Ressourcen zu beobachten.
Amazon CloudWatch Logs hilft Ihnen dabei, die Protokolle all Ihrer Systeme, Anwendungen und AWS Dienste zu zentralisieren, sodass Sie sie überwachen und sicher archivieren können.
AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
AWSBei Tools for PowerShell handelt es sich um eine Reihe von PowerShell Modulen, mit denen Sie Operationen an Ihren AWS Ressourcen von der PowerShell Befehlszeile aus per Skript ausführen können.
Andere Tools
Logger. NLog
ist ein NLog Ziel, das Protokolldaten in CloudWatch Logs aufzeichnet. NLog
ist ein Open-Source-Logging-Framework für. NETPlattformen, die Ihnen helfen, Protokolldaten in Ziele wie Datenbanken, Protokolldateien oder Konsolen zu schreiben. PowerShell
ist ein Automatisierungs- und Konfigurationsverwaltungsprogramm von Microsoft, das unter Windows, Linux und macOS läuft. Visual Studio
ist eine integrierte Entwicklungsumgebung (IDE), die Compiler, Tools zur Codevervollständigung, Grafikdesigner und andere Funktionen zur Unterstützung der Softwareentwicklung umfasst.
Bewährte Methoden
Legen Sie eine Aufbewahrungsrichtlinie für die Zielprotokollgruppe fest. Dies muss außerhalb der NLog Konfiguration erfolgen. Standardmäßig werden Protokolldaten auf unbestimmte Zeit in CloudWatch Logs gespeichert.
Halten Sie sich an die Best Practices für die Verwaltung von AWS Zugriffsschlüsseln.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen einer IAM-Richtlinie. | Folgen Sie den Anweisungen in der IAM Dokumentation unter Richtlinien mithilfe des JSON Editors erstellen. Geben Sie die folgende JSON Richtlinie ein, die über die geringsten Rechte verfügt, die erforderlich sind, um Logs das Lesen und Schreiben von CloudWatch Protokollen zu ermöglichen.
| AWSAdministrator, AWS DevOps |
Erstellen Sie eine IAM-Rolle. | Folgen Sie den Anweisungen in der IAM Dokumentation unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Dienst. Wählen Sie die Richtlinie aus, die Sie zuvor erstellt haben. Dies ist die Rolle, die CloudWatch Logs bei der Durchführung von Protokollierungsaktionen einnimmt. | AWSAdministrator, AWS DevOps |
Richten Sie AWS Tools für ein PowerShell. |
| Allgemein AWS |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren Sie das NuGet Paket. |
| App-Developer |
Konfigurieren Sie das Protokollierungsziel. |
Eine Beispielkonfigurationsdatei finden Sie im Abschnitt Zusätzliche Informationen dieses Musters. Wenn Sie Ihre Anwendung ausführen, NLog werden die Protokollmeldungen geschrieben und an CloudWatch Logs gesendet. | App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Protokollierung validieren. | Folgen Sie den Anweisungen unter An CloudWatch Protokolle gesendete Protokolldaten anzeigen in der Dokumentation zu den CloudWatch Protokollen. Vergewissern Sie sich, dass Protokollereignisse für aufgezeichnet werden. NETAnwendung. Wenn keine Protokollereignisse aufgezeichnet werden, finden Sie weitere Informationen im Abschnitt Fehlerbehebung in diesem Muster. | Allgemeines AWS |
Überwachen Sie die. NETAnwendungsstapel. | Konfigurieren Sie die Überwachung nach CloudWatch Bedarf für Ihren Anwendungsfall. Sie können CloudWatch Logs Insights, CloudWatch Metrics Insights und CloudWatch Application Insights verwenden, um Ihre zu überwachen. NETArbeitslast. Sie können auch Alarme so konfigurieren, dass Sie Benachrichtigungen erhalten können, und Sie können ein benutzerdefiniertes Dashboard erstellen, um die Arbeitslast von einer einzigen Ansicht aus zu überwachen. | Allgemein AWS |
Fehlerbehebung
Problem | Lösung |
---|---|
Protokolldaten werden nicht in CloudWatch Logs angezeigt. | Stellen Sie sicher, dass die IAM Richtlinie der IAM Rolle zugeordnet ist, die CloudWatch Logs einnimmt. Anweisungen dazu finden Sie im Abschnitt Zugriff und Tools einrichten im Abschnitt Epics. |
Zugehörige Ressourcen
Arbeiten mit Log-Gruppen und Log-Streams (CloudWatch Logs-Dokumentation)
Amazon CloudWatch Logs und. NET Logging-Frameworks
(AWSBlogbeitrag)
Zusätzliche Informationen
Im Folgenden finden Sie eine NLog.config
Beispieldatei.
<?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>