Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configure el registro para. NETaplicaciones en Amazon CloudWatch Logs mediante NLog
Creada por Bibhuti Sahu (AWS) y Rob Hill () () AWS AWS
Resumen
Este patrón describe cómo utilizar el marco de registro de NLog código abierto para registrar. NETuso de aplicaciones y eventos en Amazon CloudWatch Logs. En la CloudWatch consola, puede ver los mensajes de registro de la aplicación prácticamente en tiempo real. También puede configurar métricas y alarmas para recibir notificaciones en caso de que se superen los umbrales de métrica. Con CloudWatch Application Insights, puede ver paneles automatizados o personalizados que muestran los posibles problemas de las aplicaciones monitoreadas. CloudWatch Application Insights está diseñado para ayudarlo a identificar rápidamente los problemas actuales de sus aplicaciones e infraestructura.
Para escribir mensajes de registro en CloudWatch los registros, añada el AWS.Logger.NLog
NuGet paquete al. NETproyecto. A continuación, actualiza el NLog.config
archivo para usar CloudWatch los registros como destino.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa.
A. NETaplicación web o de consola que:
Usos compatibles. NET Marco o. NET Versiones principales. Para obtener más información, consulte Versiones de producto.
Se utiliza NLog para enviar datos de registro a Application Insights.
Permisos para crear un IAM rol para un AWS servicio. Para obtener más información, consulte Permisos de roles de servicios.
Permisos para transferir un rol a un AWS servicio. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un servicio de AWS.
Versiones de producto
. NETFramework versión 3.5 o posterior
. NETVersiones principales 1.0.1, 2.0.0 o posteriores
Arquitectura
Pila de tecnología de destino
NLog
Amazon CloudWatch Logs
Arquitectura de destino
![Diagrama de arquitectura de NLog escritura de datos de registro para un. NETaplicación a Amazon ClodWatch Logs.](images/pattern-img/0ac9c3ad-2a28-415f-afc3-7fe3494b2b63/images/daea9f2f-7242-4ed2-843e-655d843dcfdf.png)
El. NETla aplicación escribe los datos de registro en el marco de NLog registro.
NLogescribe los datos de registro en CloudWatch Logs.
Utiliza CloudWatch alarmas y paneles personalizados para monitorear el. NETaplicación.
Herramientas
Servicios de AWS
Amazon CloudWatch Application Insights le ayuda a observar el estado de sus aplicaciones y AWS recursos subyacentes.
Amazon CloudWatch Logs le ayuda a centralizar los registros de todos sus sistemas, aplicaciones y AWS servicios para que pueda supervisarlos y archivarlos de forma segura.
AWSIdentity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
AWSLas herramientas PowerShell son un conjunto de PowerShell módulos que le ayudan a programar las operaciones de sus AWS recursos desde la línea de PowerShell comandos.
Otras herramientas
Registrador. NLog
es un NLog objetivo que registra datos de registro en CloudWatch Logs. NLog
es un marco de registro de código abierto para. NETplataformas que le ayudan a escribir datos de registro en los destinos, como bases de datos, archivos de registro o consolas. PowerShell
es un programa de administración de automatización y configuración de Microsoft que se ejecuta en Windows, Linux y macOS. Visual Studio
es un entorno de desarrollo integrado (IDE) que incluye compiladores, herramientas de finalización de código, diseñadores gráficos y otras funciones que permiten el desarrollo de software.
Prácticas recomendadas
Establezca una política de retención para el grupo de registro de destino. Esto debe hacerse fuera de la NLog configuración. De forma predeterminada, los datos de registro se almacenan en CloudWatch los registros de forma indefinida.
Siga las prácticas recomendadas para administrar las claves de AWS acceso.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree una IAM política. | Siga las instrucciones de la IAM documentación sobre cómo crear políticas con el JSON editor. Introduzca la siguiente JSON política, que tiene los permisos de privilegios mínimos necesarios para permitir que los CloudWatch registros lean y escriban registros.
| AWSadministrador, AWS DevOps |
Cree de un rol de IAM. | Siga las instrucciones de la IAM documentación sobre cómo crear un rol para delegar permisos a un AWS servicio. Seleccione la política que creó previamente. Esta es la función que asume CloudWatch Logs para realizar las acciones de registro. | AWSadministrador, AWS DevOps |
Configurar AWS herramientas para PowerShell. |
| General AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale el NuGet paquete. |
| Desarrollador de aplicaciones |
Configure el destino de registro. |
Para obtener una copia de este archivo de configuración, consulte la sección Información adicional de este patrón. Cuando ejecute su aplicación, NLog escribirá los mensajes de registro y los enviará a CloudWatch Logs. | Desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Valide el registro. | Sigue las instrucciones de la documentación sobre cómo ver los datos de registro enviados a CloudWatch CloudWatch Logs. Valide que los eventos del registro se estén registrando para el. NETaplicación. Si no constan eventos de registro, consulte la sección Solución de problemas de este patrón. | General AWS |
Supervise el. NETpila de aplicaciones. | Configure la supervisión CloudWatch según sea necesario para su caso de uso. Puede utilizar CloudWatch Logs Insights, CloudWatch Metrics Insights y CloudWatch Application Insights para monitorizar su. NETcarga de trabajo. También puede configurar alarmas para recibir alertas y crear un panel personalizado para supervisar la carga de trabajo desde una vista única. | General AWS |
Resolución de problemas
Problema | Solución |
---|---|
Los datos de registro no aparecen en CloudWatch los registros. | Asegúrese de que la IAM política esté asociada a la IAM función que asume CloudWatch Logs. Para obtener más instrucciones, consulte la sección Configurar el acceso y las herramientas de la sección Épica. |
Recursos relacionados
Trabajar con grupos de registros y flujos de CloudWatch registros (documentación de Logs)
Amazon CloudWatch Logs y. NET Logging Frameworks
(AWSentrada de blog)
Información adicional
A continuación se muestra un archivo de muestra 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>