Konfigurieren Sie die Protokollierung für. NETAnwendungen in Amazon CloudWatch Logs mithilfe von NLog - AWS Prescriptive Guidance

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

Architekturdiagramm NLog zum Schreiben von Protokolldaten für a. NETAnwendung für Amazon ClodWatch Logs.
  1. Das. NETDie Anwendung schreibt Protokolldaten in das NLog Logging-Framework.

  2. NLogschreibt die Protokolldaten in CloudWatch Logs.

  3. 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. NLogist ein NLog Ziel, das Protokolldaten in CloudWatch Logs aufzeichnet.

  • NLogist ein Open-Source-Logging-Framework für. NETPlattformen, die Ihnen helfen, Protokolldaten in Ziele wie Datenbanken, Protokolldateien oder Konsolen zu schreiben.

  • PowerShellist 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

Epen

AufgabeBeschreibungErforderliche 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:GetLogEvents", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutRetentionPolicy" ], "Resource": [ "*" ] } ] }
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.

  1. Folgen Sie den Anweisungen für Ihr Betriebssystem unter Installation der AWS Tools für PowerShell.

  2. Verwenden Sie die AWS Tools für PowerShell Cmdlets, um Ihren Zugriffsschlüssel und Ihren geheimen Schlüssel in einem Profil zu speichern. Anweisungen finden Sie in der Dokumentation unter Profile verwalten in den AWS Tools. PowerShell

Allgemein AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Installieren Sie das NuGet Paket.

  1. Wählen Sie in Visual Studio Datei und dann Projekt oder Lösung öffnen aus.

  2. Wählen Sie das Projekt aus, das Sie installieren möchtenNLog.

  3. Wählen Sie in Visual Studio Tools, NuGet Package Manager, Package Manager Console aus.

  4. Installieren Sie das AWS.Logger.NLog NuGet Paket, indem Sie den folgenden Befehl eingeben.

    Install-Package AWS.Logger.NLog -Version 3.1.0
App-Developer

Konfigurieren Sie das Protokollierungsziel.

  1. Öffnen Sie die NLog.config Datei.

  2. Geben Sie für type das Ziel einAWSTarget.

  3. Geben Sie für logGroup das Ziel den Namen der Protokollgruppe ein, die Sie verwenden möchten. Wenn die Protokollgruppe noch nicht existiert, wird automatisch eine neue Protokollgruppe mit dem angegebenen Namen erstellt.

  4. Geben Sie für das Ziel die AWS Region einregion, in der CloudWatch Logs konfiguriert ist.

  5. Geben Sie für das Ziel profile den Namen des Profils ein, das Sie zuvor zum Speichern des Zugriffsschlüssels und des geheimen Schlüssels erstellt haben.

  6. Speichern und schließen Sie die Datei NLog.config.

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
AufgabeBeschreibungErforderliche 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

ProblemLö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

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>