Configura la registrazione per le applicazioni.NET in Amazon CloudWatch Logs utilizzando NLog - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura la registrazione per le applicazioni.NET in Amazon CloudWatch Logs utilizzando NLog

Creato da Bibhuti Sahu (AWS) e Rob Hill (AWS) (AWS)

Ambiente: produzione

Tecnologie: gestione e governance DevOps; Web e app mobili

Carico di lavoro: Microsoft

Servizi AWS: Amazon CloudWatch Logs

Riepilogo

Questo modello descrive come utilizzare il framework di registrazione open source NLog per registrare l'utilizzo e gli eventi delle applicazioni.NET in Amazon Logs. CloudWatch Nella CloudWatch console, puoi visualizzare i messaggi di registro dell'applicazione quasi in tempo reale. Puoi anche impostare metriche e configurare allarmi per avvisarti se viene superata una soglia metrica. Utilizzando CloudWatch Application Insights, è possibile visualizzare dashboard automatiche o personalizzate che mostrano potenziali problemi per le applicazioni monitorate. CloudWatch Application Insights è progettato per aiutarti a isolare rapidamente i problemi in corso con le applicazioni e l'infrastruttura.

Per scrivere messaggi di log in CloudWatch Logs, aggiungi il AWS.Logger.NLog NuGet pacchetto al progetto.NET. Quindi, si aggiorna il NLog.config file per utilizzare CloudWatch Logs come destinazione.

Prerequisiti e limitazioni

Prerequisiti

Versioni del prodotto

  • .NET Framework versione 3.5 o successiva

  • .NET Core versioni 1.0.1, 2.0.0 o successive

Architettura

Stack tecnologico Target

  • Registro di registro

  • CloudWatch Registri Amazon

Architettura Target

Diagramma dell'architettura di nLog che scrive i dati di registro per un'applicazione.NET su Amazon ClodWatch Logs.
  1. L'applicazione.NET scrive i dati di registro nel framework di registrazione NLog.

  2. NLog scrive i dati di registro in Logs. CloudWatch

  3. Si utilizzano CloudWatch allarmi e dashboard personalizzati per monitorare l'applicazione.NET.

Strumenti

Servizi AWS

Altri strumenti

  • Logger.nlog è un target NLog che registra i dati di registro in Logs. CloudWatch

  • NLog è un framework di registrazione open source per piattaforme .NET che consente di scrivere dati di registro su destinazioni, come database, file di registro o console.

  • PowerShellè un programma di gestione dell'automazione e della configurazione di Microsoft che funziona su Windows, Linux e macOS.

  • Visual Studio è un ambiente di sviluppo integrato (IDE) che include compilatori, strumenti di completamento del codice, progettisti grafici e altre funzionalità che supportano lo sviluppo del software.

Best practice

Epiche

AttivitàDescrizioneCompetenze richieste

Creare una policy IAM

Segui le istruzioni in Creazione di politiche utilizzando l'editor JSON nella documentazione IAM. Inserisci la seguente policy JSON, che dispone dei privilegi minimi necessari per consentire CloudWatch ai log di leggere e scrivere i log.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:GetLogEvents", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutRetentionPolicy" ], "Resource": [ "*" ] } ] }
Amministratore AWS, AWS DevOps

Crea un ruolo IAM.

Segui le istruzioni in Creazione di un ruolo per delegare le autorizzazioni a un servizio AWS nella documentazione IAM. Seleziona la policy che hai creato in precedenza. Questo è il ruolo che CloudWatch Logs assume per eseguire le azioni di registrazione.

Amministratore AWS, AWS DevOps

Configura AWS Tools per PowerShell.

  1. Segui le istruzioni per il tuo sistema operativo in Installazione degli strumenti AWS per PowerShell.

  2. Utilizza AWS Tools for PowerShell cmdlet per archiviare la chiave di accesso e la chiave segreta in un profilo. Per istruzioni, consulta Gestione dei profili negli strumenti AWS per la PowerShell documentazione.

Informazioni generali su AWS
AttivitàDescrizioneCompetenze richieste

Installa il NuGet pacchetto.

  1. In Visual Studio, scegli File, quindi scegli Apri un progetto o una soluzione.

  2. Scegli il progetto in cui desideri installare nLog.

  3. In Visual Studio, scegli Tools, NuGet Package Manager, Package Manager Console.

  4. Installa il AWS.Logger.NLog NuGet pacchetto inserendo il seguente comando.

    Install-Package AWS.Logger.NLog -Version 3.1.0
Sviluppatore di app

Configura la destinazione di registrazione.

  1. Apri il file NLog.config.

  2. Per il bersagliotype, inserisciAWSTarget.

  3. Per la destinazionelogGroup, inserisci il nome del gruppo di log che desideri utilizzare. Se il gruppo di log non esiste già, viene creato automaticamente un nuovo gruppo di log con il nome fornito.

  4. Per il targetregion, inserisci la regione AWS in cui è configurato CloudWatch Logs.

  5. Per la destinazioneprofile, inserisci il nome del profilo che hai creato in precedenza per archiviare la chiave di accesso e la chiave segreta.

  6. Salvare e chiudere il file NLog.config.

Per un file di configurazione di esempio, consultate la sezione Informazioni aggiuntive di questo modello. Quando esegui l'applicazione, NLog scriverà i messaggi di registro e li invierà a CloudWatch Logs.

Sviluppatore di app
AttivitàDescrizioneCompetenze richieste

Convalida la registrazione.

Segui le istruzioni in Visualizza i dati di registro inviati ai CloudWatch registri nella documentazione dei registri. CloudWatch Verifica che gli eventi di registro vengano registrati per l'applicazione.NET. Se gli eventi di registro non vengono registrati, consultate la sezione Risoluzione dei problemi in questo schema.

Informazioni generali su AWS

Monitora lo stack di applicazioni.NET.

Configura il monitoraggio in base CloudWatch alle esigenze del tuo caso d'uso. Puoi utilizzare CloudWatch Logs Insights, CloudWatch Metrics Insights e CloudWatch Application Insights per monitorare il tuo carico di lavoro.NET. Puoi anche configurare gli allarmi in modo da poterli ricevere e creare una dashboard personalizzata per monitorare il carico di lavoro da un'unica vista.

Informazioni generali su AWS

Risoluzione dei problemi

ProblemaSoluzione

I dati di registro non vengono visualizzati in CloudWatch Logs.

Assicurati che la policy IAM sia associata al ruolo IAM assunto da CloudWatch Logs. Per istruzioni, consulta la sezione Configurazione dell'accesso e degli strumenti nella sezione Epics.

Risorse correlate

Informazioni aggiuntive

Di seguito è riportato un file di esempio. NLog.config

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