Configure o registro para. NETaplicativos no Amazon CloudWatch Logs usando NLog - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configure o registro para. NETaplicativos no Amazon CloudWatch Logs usando NLog

Criado por Bibhuti Sahu (AWS) e Rob Hill () () AWS AWS

Ambiente: produção

Tecnologias: Gestão e governança DevOps;; Aplicativos web e móveis

Workload: Microsoft

AWSserviços: Amazon CloudWatch Logs

Resumo

Esse padrão descreve como usar a estrutura de registro NLog de código aberto para registrar. NETuso de aplicativos e eventos no Amazon CloudWatch Logs. No CloudWatch console, você pode ver as mensagens de log do aplicativo quase em tempo real. Você também pode configurar métricas e configurar alarmes para notificá-lo se um limite métrico for excedido. Usando o CloudWatch Application Insights, você pode visualizar painéis automatizados ou personalizados que mostram possíveis problemas para os aplicativos monitorados. CloudWatch O Application Insights foi projetado para ajudá-lo a isolar rapidamente os problemas contínuos com seus aplicativos e infraestrutura.

Para gravar mensagens de registro no CloudWatch Logs, você adiciona o AWS.Logger.NLog NuGet pacote ao. NETprojeto. Em seguida, você atualiza o NLog.config arquivo para usar o CloudWatch Logs como destino.

Pré-requisitos e limitações

Pré-requisitos

Versões do produto

  • . NETFramework versão 3.5 ou posterior

  • . NETVersões principais 1.0.1, 2.0.0 ou posteriores

Arquitetura

Pilha de tecnologias de destino

  • NLog

  • CloudWatch Registros da Amazon

Arquitetura de destino

Diagrama de arquitetura de NLog gravação de dados de log para um. NETaplicativo para Amazon ClodWatch Logs.
  1. A. NETaplicativo grava dados de log na estrutura de NLog registro.

  2. NLoggrava os dados de registro em CloudWatch Logs.

  3. Você usa CloudWatch alarmes e painéis personalizados para monitorar o. NETaplicativo.

Ferramentas

AWSserviços

  • O Amazon CloudWatch Application Insights ajuda você a observar a integridade de seus aplicativos e AWS recursos subjacentes.

  • O Amazon CloudWatch Logs ajuda você a centralizar os registros de todos os seus sistemas, aplicativos e AWS serviços para que você possa monitorá-los e arquivá-los com segurança.

  • AWSO Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.

  • AWSAs ferramentas para PowerShell são um conjunto de PowerShell módulos que ajudam você a criar scripts de operações em seus AWS recursos a partir da linha de PowerShell comando.

Outras ferramentas

  • Lenhador. NLogé um NLog destino que registra dados de registro no CloudWatch Logs.

  • NLogé uma estrutura de registro de código aberto para. NETplataformas que ajudam você a gravar dados de log em destinos, como bancos de dados, arquivos de log ou consoles.

  • PowerShellé um programa de gerenciamento de automação e configuração da Microsoft executado em Windows, Linux e macOS.

  • O Visual Studio é um ambiente de desenvolvimento integrado (IDE) que inclui compiladores, ferramentas de conclusão de código, designers gráficos e outros recursos que oferecem suporte ao desenvolvimento de software.

Práticas recomendadas

Épicos

TarefaDescriçãoHabilidades necessárias

Crie uma IAM política.

Siga as instruções em Criação de políticas usando o JSON editor na IAM documentação. Insira a JSON política a seguir, que tem as permissões de privilégio mínimo necessárias para permitir que CloudWatch os registros leiam e gravem 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

Crie uma IAM função.

Siga as instruções em Criação de uma função para delegar permissões a um AWS serviço na IAM documentação. Selecione a política que você criou anteriormente. Essa é a função que CloudWatch Logs assume para realizar ações de registro.

AWSadministrador, AWS DevOps

Configure AWS ferramentas para PowerShell.

  1. Siga as instruções para seu sistema operacional em Instalando as AWS ferramentas para PowerShell.

  2. Use as AWS Ferramentas para PowerShell cmdlets para armazenar sua chave de acesso e chave secreta em um perfil. Para obter instruções, consulte Gerenciamento de perfis nas AWS Ferramentas para obter a PowerShell documentação.

Geral AWS
TarefaDescriçãoHabilidades necessárias

Instale o NuGet pacote.

  1. No Visual Studio, escolha Arquivo e, em seguida, escolha Abrir um projeto ou solução.

  2. Escolha o projeto em que você deseja instalarNLog.

  3. No Visual Studio, escolha Tools, NuGet Package Manager, Package Manager Console.

  4. Instale o AWS.Logger.NLog NuGet pacote digitando o seguinte comando.

    Install-Package AWS.Logger.NLog -Version 3.1.0
Desenvolvedor de aplicativos

Configurar o destino de registro em log.

  1. Abra o arquivo NLog.config.

  2. Para o alvo type, digite AWSTarget.

  3. Para o destino logGroup, insira o nome do grupo de logs que você deseja usar. Se o grupo de logs ainda não existir, um novo grupo de logs com o nome fornecido será criado automaticamente.

  4. Para o destinoregion, insira a AWS região em que CloudWatch os registros estão configurados.

  5. Para o destino profile, insira o nome do perfil que você criou anteriormente para armazenar a chave de acesso e a chave secreta.

  6. Salve e feche o arquivo NLog.config.

Para obter um exemplo de arquivo de configuração, consulte a seção Informações adicionais deste padrão. Quando você executar seu aplicativo, NLog gravará as mensagens de log e as enviará para o CloudWatch Logs.

Desenvolvedor de aplicativos
TarefaDescriçãoHabilidades necessárias

Validar o registro em log.

Siga as instruções em Exibir dados de registro enviados para CloudWatch Registros na documentação de CloudWatch Registros. Valide se os eventos de log estão sendo registrados para o. NETaplicativo. Se os eventos de log não estiverem sendo registrados, consulte a seção Solução de problemas nesse padrão.

Geral AWS

Monitore o. NETpilha de aplicativos.

Configure o monitoramento CloudWatch conforme necessário para seu caso de uso. Você pode usar o CloudWatch Logs Insights, o CloudWatch Metrics Insights e o CloudWatch Application Insights para monitorar seu. NETcarga horária. Você também pode configurar alarmes para receber alertas e criar um painel personalizado para monitorar a workload a partir de uma única visualização.

Geral AWS

Solução de problemas

ProblemaSolução

Os dados do registro não aparecem nos CloudWatch registros.

Verifique se a IAM política está vinculada à IAM função que o CloudWatch Logs assume. Para obter instruções, consulte a seção Configurar acesso e ferramentas na seção Épicos.

Recursos relacionados

Mais informações

Veja a seguir um exemplo de arquivo 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>