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
Umwelt: Produktion | Technologien: Verwaltung und Verwaltung DevOps; Web- und mobile Apps | Arbeitslast: Microsoft |
AWSDienste: Amazon CloudWatch Logs |
Übersicht
Dieses Muster beschreibt, wie das NLog Open-Source-Logging-Framework zur Protokollierung 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 Metriken einrichten und Alarme so konfigurieren, dass Sie benachrichtigt werden, wenn ein Metrikschwellenwert ü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. NETFramework oder. NETKernversionen. 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 Einem Benutzer Berechtigungen zur Übergabe einer Rolle an einen AWS Dienst gewähren.
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
AWSDienstleistungen
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.
AWSIdentity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, 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 Sie eine IAM Richtlinie. | Folgen Sie den Anweisungen in der IAM Dokumentation unter Richtlinien mit dem JSON Editor 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 Eine Rolle erstellen, um Berechtigungen für einen AWS Dienst zu delegieren. 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. Eine Anleitung 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. NETLogging-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>