

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á.

# Monitore a atividade do aplicativo usando o CloudWatch Logs Insights
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumo
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-summary"></a>

Esse padrão fornece uma solução para detectar e alertar automaticamente sobre exceções de aplicativos usando o Amazon CloudWatch Logs Insights. Ao implementar a análise automatizada de logs e a geração de alertas, é possível identificar e responder rapidamente a problemas relacionados à aplicação em seu ambiente de produção.

Os logs desempenham um papel essencial no monitoramento do comportamento do sistema, na identificação de problemas e na garantia de uma performance ideal. Durante um processo de migração, os arquivos de log são indispensáveis para validar o funcionamento do sistema no novo ambiente, detectar problemas de compatibilidade e identificar quaisquer comportamentos inesperados. Os problemas podem estar relacionados às operações ou à segurança. Para problemas relacionados à segurança, é essencial habilitar a detecção antecipada de tentativas de acesso não autorizado ou atividades suspeitas para manter a segurança e a conformidade regulatória. Essa funcionalidade se torna particularmente relevante quando se trata de dados sensíveis ou sistemas críticos. 

Esse padrão é particularmente valioso para equipes que precisam fazer o seguinte:
+ Mantenha a alta disponibilidade dos aplicativos.
+ Responda rapidamente aos problemas de produção.
+ Analise erros específicos do aplicativo não capturados pelos registros. AWS service (Serviço da AWS) 
+ Execute análises de registros sob demanda sem infraestrutura pré-construída.

CloudWatch O Logs Insights é ideal para analisar registros gerados por aplicativos em que o contexto de erro existe somente no código do aplicativo. CloudWatch O Logs Insights se destaca nas seguintes tarefas:
+ Consulte dados de log não estruturados ou semiestruturados.
+ Realize análises sob demanda durante a resposta a incidentes.
+ Correlacione eventos em vários grupos de registros.
+ Crie visualizações rápidas sem ferramentas externas.

## Pré-requisitos e limitações
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-prereqs"></a>

**Pré-requisitos **
+ Um aplicativo de produção implantado no ativo Conta da AWS
+ Noções básicas sobre o formato de registro em log e os padrões de exceção da aplicação em produção
+ Logs de aplicativos configurados para serem transmitidos para o Amazon CloudWatch Logs

**Limitações**
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-architecture"></a>

O diagrama a seguir mostra como o CloudWatch Logs Insights avalia os registros de recursos e envia uma visualização de dados relevante para um CloudWatch painel.

![CloudWatch O Logs Insights avalia os registros de recursos e envia a visualização de dados para o painel.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/082ff4b6-9303-42e6-bc62-263e2254f232/images/b1cbb699-07cd-45e6-ac06-839159bafa6b.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Os recursos publicam registros no CloudWatch Logs. Os recursos podem incluir AWS recursos como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) ou buckets do Amazon Simple Storage Service (Amazon S3). Outro exemplo inclui sistemas locais com o CloudWatch Agente instalado que podem publicar CloudWatch registros em.

1. CloudWatch O Logs Insights filtra a sequência de padrões relevante. Exemplos de strings de padrão de pesquisa incluem “error”, “exception” ou uma expressão regular específica.

1. Normalmente, a equipe de suporte de produção ou os desenvolvedores adicionam a visualização do padrão ao CloudWatch painel.

**Automação e escala**

Os desenvolvedores podem automatizar a solução desse padrão usando o AWS Cloud Development Kit (AWS CDK) AWS CloudFormation, ou AWS SDKs para lidar com vários padrões de string. As equipes podem incorporar essa automação em seus processos de integração e implantação contínuas (CI/CD) DevOps .

## Ferramentas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.

## Práticas recomendadas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-best-practices"></a>

**Eficiência de consulta**
+ Defina e configure [grupos de logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) para analisar dados de log relevantes.
+ Use exploradores de campos para compreender a estrutura e os campos disponíveis nos seus dados de log.
+ Escreva consultas eficientes usando a [sintaxe de consulta do CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_LogsInsights.html).
+ Adapte as [consultas de amostra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) aos seus requisitos específicos para uma análise mais rápida.
+ Limite os intervalos de tempo de consulta para reduzir os dados digitalizados e melhorar o desempenho.
+ [Salve as consultas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_Insights-Saving-Queries.html) para uso futuro, economizando tempo e garantindo uma análise consistente.

**Segurança**
+ Aplique [as políticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html) apropriadas do IAM aos CloudWatch Logs Insights e aos grupos de registros. Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [nas melhores práticas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) na documentação do IAM.
+ Habilite a [criptografia de dados de log usando o AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Encrypt.html) para dados de log sensíveis.

**Otimização de custos**
+ CloudWatch O Logs Insights cobra por GB de dados digitalizados por consulta. Limite os intervalos de tempo e segmente grupos de registros específicos para reduzir custos.
+ Configure políticas apropriadas de retenção de registros para gerenciar os custos de armazenamento.
+ Para uma análise frequente de grandes conjuntos de dados históricos, considere exportar logs para o Amazon S3 e usar o Amazon Athena.
+ Analise [CloudWatch os preços](https://aws.amazon.com/cloudwatch/pricing/) para entender as implicações de custo para seu caso de uso.

## Épicos
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-epics"></a>

### Criação de um grupo de logs e configuração dos logs para visualização no painel
<a name="create-log-group-and-configure-logs-to-view-in-dashboard"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar permissões do IAM | Para configurar as permissões do IAM, execute as seguintes etapas:1. Identifique os perfis do IAM usados pela sua aplicação para gravação de logs e pelos usuários ou serviços que criarão painéis, consultas e alarmes.<br />2. Para o perfil da aplicação, adicione as seguintes ações de API e recurso a uma política:<pre>{<br />         "Version": "2012-10-17",		 	 	 <br />         "Statement": [<br />             {<br />                 "Effect": "Allow",<br />                 "Action": [<br />                     "logs:CreateLogGroup",<br />                     "logs:CreateLogStream",<br />                     "logs:PutLogEvents"<br />                 ],<br />                 "Resource": [<br />                     "arn:aws:logs:*:*:*"<br />                 ]<br />             }<br />         ]<br />     }</pre><br />3. Para gerenciar CloudWatch recursos, adicione o seguinte a uma política:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "cloudwatch:PutDashboard",<br />                "cloudwatch:GetDashboard",<br />                "logs:StartQuery",<br />                "logs:StopQuery",<br />                "logs:GetQueryResults",<br />                "cloudwatch:PutMetricAlarm"<br />            ],<br />            "Resource": "*"<br />        }<br />    ]<br />}<br /></pre><br />Para obter informações sobre como criar políticas do IAM ou adicionar permissões a políticas existentes, consulte [Defina permissões personalizadas do IAM com políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) e [Editar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*. Para obter mais informações, consulte [Gerenciamento de identidade e acesso para Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/auth-and-access-control-cwl.html) e [referência de permissões de CloudWatch registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/permissions-reference-cwl.html) no *Guia do usuário do Amazon CloudWatch Logs*. | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Criar um grupo de logs do  | Para criar um grupo de logs, use uma das seguintes opções:+ Crie ou abra um arquivo CloudFormation de modelo (formato YAML ou JSON) com uma extensão `.yaml` ou`.json`. (O código apresentado a seguir usa o formato YAML.) Adicione a seguinte definição de recurso à seção [Recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) do seu modelo:<pre>MyLogGroup:<br />  Type: AWS::Logs::LogGroup<br />  Properties:<br />    LogGroupName: my-log-group</pre><br />Para obter mais informações, consulte [Início rápido: use AWS CloudFormation para começar a usar CloudWatch os registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartCloudFormation.html) no *Guia do usuário do Amazon CloudWatch Logs*.+ Use o CloudWatch console, conforme descrito em [Criar um grupo de CloudWatch registros em Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group) no *Guia do usuário do Amazon CloudWatch Logs*.<br />+ Use a [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)operação na API [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Gere uma consulta do CloudWatch Logs Insights. | Para criar e salvar uma consulta do CloudWatch Logs Insights, faça o seguinte:1. Abra o CloudWatch console.<br />2. Acesse o **Logs Insights**.<br />3. Crie sua consulta usando um dos seguintes métodos:Comece com uma [consulta de amostra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) fornecida na seção **Consultas**.Elabore uma consulta personalizada.[Modifique](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_Insights-Saving-Queries.html) a consulta de exemplo a seguir:<pre>fields @timestamp, @message | filter @message like /(?i)exception/|stats count() by bin(30s)</pre><br />Esta consulta verifica o arquivo de log, extrai o carimbo de data/hora e o conteúdo da mensagem, filtra pela palavra “exception” (ignorando maiúsculas e minúsculas) e contabiliza as ocorrências em intervalos de 30 segundos. | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Crie uma visualização em um CloudWatch painel. | Para usar um CloudWatch painel para criar uma visualização, faça o seguinte:1. Abra o CloudWatch console e [crie um CloudWatch painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create_dashboard.html) (se você ainda não tiver um) ou abra um painel existente. <br />2. Adicione sua visualização de monitoramento de exceções. Gráficos de barras, de linhas e de pizza estão disponíveis, dependendo da necessidade do seu negócio. Para obter mais informações, consulte [Uso de widgets em CloudWatch painéis no Guia](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-and-work-with-widgets.html) *do usuário do Amazon CloudWatch Logs*. Para visualizações de dados em tempo real, é possível personalizar um widget conforme suas necessidades.<br />Para obter mais informações sobre as opções e recursos do painel, consulte [Uso de CloudWatch painéis da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) e [Criação de CloudWatch painéis flexíveis com variáveis de painel no Guia do](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html) *usuário do Amazon CloudWatch Logs*. | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 

## Solução de problemas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não é possível visualizar os resultados da consulta ou a consulta parece estar com problemas | Comece com uma consulta funcional que foi modificada a partir de uma [consulta de amostra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html). Faça pequenas alterações incrementais em partes da consulta (como um filtro ou campo) e aproveite o [recurso gerador de consultas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html) de CloudWatch registros. | 
| Grupos de logs não conseguem criar fluxos de logs | Na política do IAM, certifique-se de que o recurso para as [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)operações [CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)e as seja fornecido com um `(*)` valor de caractere curinga. A operação `create ` não terá êxito sem essa permissão coringa. | 
| Tempo limite de consulta ou desempenho lento | Reduza o intervalo de tempo, vise grupos de registros específicos ou simplifique a consulta. Padrões complexos de expressão regular (`regex`) e grandes intervalos de tempo aumentam o tempo de consulta. | 
| Nenhum dado retornado para um intervalo de tempo válido | Verifique a seleção do grupo de registros e verifique se os registros estão sendo ingeridos (revise os fluxos de registros) e confirme se o padrão de filtro corresponde ao seu formato de registro. | 

## Recursos relacionados
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-resources"></a>
+ [Análise de dados de registro com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+ [Amazon CloudWatch FAQs](https://aws.amazon.com/cloudwatch/faqs/#topic-0)
+ [Criação de CloudWatch painéis flexíveis com variáveis de painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html)
+ [Get started with Logs Insights QL: Query tutorials](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Tutorials.html)
+ [Use linguagem natural para gerar e atualizar consultas do CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html)
+ [Use PutDashboard com um AWS SDK ou CLI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/example_cloudwatch_PutDashboard_section.html)
+ [Trabalhando com grupos de registros e fluxos de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)