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
Un account AWS attivo.
Un'applicazione web.NET o console che:
Utilizza le versioni supportate di .NET Framework o.NET Core. Per ulteriori informazioni, consulta Versioni del prodotto.
Utilizza NLog per inviare i dati di registro ad Application Insights.
Autorizzazioni per creare un ruolo IAM per un servizio AWS. Per ulteriori informazioni, consulta Autorizzazioni dei ruoli di servizio.
Autorizzazioni per trasferire un ruolo a un servizio AWS. Per ulteriori informazioni, consulta Concessione di autorizzazioni utente per il passaggio di un ruolo a un servizio AWS.
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.](images/pattern-img/0ac9c3ad-2a28-415f-afc3-7fe3494b2b63/images/daea9f2f-7242-4ed2-843e-655d843dcfdf.png)
L'applicazione.NET scrive i dati di registro nel framework di registrazione NLog.
NLog scrive i dati di registro in Logs. CloudWatch
Si utilizzano CloudWatch allarmi e dashboard personalizzati per monitorare l'applicazione.NET.
Strumenti
Servizi AWS
Amazon CloudWatch Application Insights ti aiuta a osservare lo stato delle tue applicazioni e delle risorse AWS sottostanti.
Amazon CloudWatch Logs ti aiuta a centralizzare i log di tutti i tuoi sistemi, applicazioni e servizi AWS in modo da poterli monitorare e archiviare in modo sicuro.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
AWS Tools for PowerShell è un set di PowerShell moduli che ti aiutano a creare script di operazioni sulle tue risorse AWS dalla PowerShell riga di comando.
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
Imposta una politica di conservazione per il gruppo di log di destinazione. Questa operazione deve essere eseguita al di fuori della configurazione nLog. Per impostazione predefinita, i dati di registro vengono archiviati in CloudWatch Logs a tempo indeterminato.
Aderisci alle migliori pratiche per la gestione delle chiavi di accesso AWS.
Epiche
Attività | Descrizione | Competenze 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.
| 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. |
| Informazioni generali su AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Installa il NuGet pacchetto. |
| Sviluppatore di app |
Configura la destinazione di registrazione. |
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à | Descrizione | Competenze 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
Problema | Soluzione |
---|---|
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
Lavorare con gruppi di log e flussi di log (documentazione relativa ai CloudWatch log)
Amazon CloudWatch Logs e.NET Logging Frameworks
(post sul blog AWS)
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>