Configure el registro para. NETaplicaciones en Amazon CloudWatch Logs mediante NLog - Recomendaciones de AWS

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

Entorno: producción

Tecnologías: gestión y gobierno DevOps; aplicaciones web y móviles

Carga de trabajo: Microsoft

AWSservicios: Amazon CloudWatch Logs

Resumen

Este patrón describe cómo utilizar el marco de registro NLog de código abierto para iniciar sesión. 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. NETMarco o. NETVersiones 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 Otorgar permisos a un usuario para transferir un rol a un AWS servicio.

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.
  1. El. NETla aplicación escribe los datos de registro en el marco de NLog registro.

  2. NLogescribe los datos de registro en CloudWatch Logs.

  3. Utiliza CloudWatch alarmas y paneles personalizados para monitorear el. NETaplicación.

Herramientas

AWSservicios

Otras herramientas

  • Registrador. NLoges un NLog objetivo que registra datos de registro en CloudWatch Logs.

  • NLoges 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.

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

Epics

TareaDescripciónHabilidades requeridas

Cree una IAM política.

Siga las instrucciones de la IAM documentación sobre cómo crear políticas mediante 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.

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

Crea un IAM rol.

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.

  1. Siga las instrucciones para su sistema operativo que aparecen en Instalación de las AWS herramientas para PowerShell.

  2. Utilice las AWS herramientas para PowerShell cmdlets para almacenar la clave de acceso y la clave secreta en un perfil. Para obtener instrucciones, consulte Administración de perfiles en las AWS herramientas para PowerShell ver la documentación.

General AWS
TareaDescripciónHabilidades requeridas

Instale el NuGet paquete.

  1. En Visual Studio, seleccione Archivo y, a continuación, elija Abrir un proyecto o solución.

  2. Elija el proyecto en el que desee instalarloNLog.

  3. En Visual Studio, elija Tools, NuGet Package Manager, Package Manager Console.

  4. Instale el AWS.Logger.NLog NuGet paquete introduciendo el siguiente comando.

    Install-Package AWS.Logger.NLog -Version 3.1.0
Desarrollador de aplicaciones

Configure el destino de registro.

  1. Abra el archivo NLog.config.

  2. Para el destino type, introduzca AWSTarget.

  3. Para el destino logGroup, escriba el nombre del grupo de registro que desea usar. Si el grupo de registro no existe aún, se creará automáticamente un nuevo grupo de registro con el nombre proporcionado.

  4. Para el destinoregion, introduzca la AWS región en la que está configurado CloudWatch Logs.

  5. Para el destino profile, introduzca el nombre del perfil que creó anteriormente para almacenar la clave de acceso y la clave secreta.

  6. Guarde y cierre el archivo NLog.config.

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
TareaDescripciónHabilidades 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

ProblemaSolució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

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>