

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

# OpenSearch Registros de monitoramento com o Amazon CloudWatch Logs
<a name="createdomain-configure-slow-logs"></a>

O Amazon OpenSearch Service expõe os seguintes OpenSearch registros por meio do Amazon CloudWatch Logs: 
+ Logs de erro
+ [Logs lentos de solicitação de pesquisa](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs)
+ [Logs lentos de fragmentos](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs)
+ [Logs de auditoria](audit-logs.md)

Os logs lentos de fragmentos de pesquisa, logs lentos de fragmentos de indexação e logs de erros são úteis para solucionar problemas de desempenho e estabilidade. Os logs de auditoria rastreiam a atividade do usuário para fins de conformidade Por padrão, todos os logs são *desabilitados*. Se ativado, o [ CloudWatch preço padrão](https://aws.amazon.com/cloudwatch/pricing/) se aplica.

**nota**  
Os registros de erros estão disponíveis somente para as versões 5.1 OpenSearch e posteriores do Elasticsearch. Os registros lentos estão disponíveis para todas as versões OpenSearch e para o Elasticsearch.

Para seus registros, OpenSearch usa o [Apache Log4j 2](https://logging.apache.org/log4j/2.x/) e seus níveis de log integrados (do menos ao mais severo) de`TRACE`,,`DEBUG`, `INFO``WARN`, e. `ERROR` `FATAL`

Se você ativar os registros de erros, o OpenSearch Serviço publicará linhas de registro de `WARN``ERROR`, e `FATAL` para CloudWatch. OpenSearch O serviço também publica várias exceções do `DEBUG` nível, incluindo as seguintes:
+ `org.opensearch.index.mapper.MapperParsingException`
+ `org.opensearch.index.query.QueryShardException`
+ `org.opensearch.action.search.SearchPhaseExecutionException`
+ `org.opensearch.common.util.concurrent.OpenSearchRejectedExecutionException`
+ `java.lang.IllegalArgumentException`

Os logs de erros podem ajudar a solucionar problemas em muitas situações, incluindo:
+ Problemas de compilação de script Painless
+ Consultas inválidas
+ Indexação de problemas
+ Falhas de snapshots
+ Falhas de migração do Index State Management
**nota**  
Nem todos os erros são registrados nos logs de erros.

**nota**  
OpenSearch O serviço não registra todos os erros que ocorrem.

**Topics**
+ [Habilitação da publicação de logs (console)](#createdomain-configure-slow-logs-console)
+ [Habilitação da publicação de logs (AWS CLI)](#createdomain-configure-slow-logs-cli)
+ [Habilitação da publicação de logs (AWS SDKs)](#createdomain-configure-slow-logs-sdk)
+ [Habilitação da publicação de logs (CloudFormation)](#createdomain-configure-slow-logs-cfn)
+ [Como definir limites de log lento para solicitações de pesquisa](#createdomain-configure-search-request-slow-logs)
+ [Como definir limites de logs lentos de fragmentos](#createdomain-configure-slow-logs-indices)
+ [Teste logs lentos](#createdomain-configure-slow-logs-testing)
+ [Visualizar logs](#createdomain-configure-slow-logs-viewing)

## Habilitação da publicação de logs (console)
<a name="createdomain-configure-slow-logs-console"></a>

O console OpenSearch de serviço é a maneira mais simples de permitir a publicação de registros no CloudWatch.

**Para habilitar a publicação de registros em CloudWatch (console)**

1. Acesse [aws.amazon.com](https://aws.amazon.com/) e escolha **Fazer login** e forneça suas credenciais.

1. Em **Analytics**, escolha **Amazon OpenSearch Service**.

1. Selecione o domínio que deseja atualizar.

1. Na guia **Logs**, selecione um tipo de log e escolha **Habilitar**.

1. Crie um novo grupo de CloudWatch registros ou escolha um existente.
**nota**  
Se você planejar habilitar vários logs, recomendamos publicar cada um em seu próprio grupo de logs. Essa separação torna os logs mais fáceis de serem encontrados.

1. Escolha uma política de acesso que contenha as permissões apropriadas ou crie uma política usando o JSON fornecido pelo console:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "es.amazonaws.com"
         },
         "Action": [
           "logs:PutLogEvents",
           "logs:CreateLogStream"
         ],
         "Resource": "arn:aws:logs:{{us-east-1}}:{{111122223333}}:log-group:{{cw_log_group_name}}:*"
       }
     ]
   }
   ```

------

   Recomendamos que você adicione as chaves de condição `aws:SourceAccount` e `aws:SourceArn` na política para se proteger contra o [problema confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). A conta de origem é o proprietário do domínio e o ARN de origem é o ARN do domínio. Para adicionar essas chaves de condição, o seu domínio deve estar no software de serviço R20211203 ou superior.

   Por exemplo, você poderia adicionar o bloco de condições a seguir na política:

   ```
   "Condition": {
       "StringEquals": {
           "aws:SourceAccount": "{{account-id}}"
       },
       "ArnLike": {
           "aws:SourceArn": "arn:aws:es:{{region}}:{{account-id}}:domain/{{domain-name}}"
       }
   }
   ```
**Importante**  
CloudWatch O Logs oferece suporte a [10 políticas de recursos por região](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Se você planeja habilitar registros para vários domínios OpenSearch de serviço, crie e reutilize uma política mais ampla que inclua vários grupos de registros para evitar atingir esse limite. Para obter as etapas sobre como atualizar a política, consulte [Habilitação da publicação de logs (AWS CLI)](#createdomain-configure-slow-logs-cli).

1. Escolha **Habilitar**.

   O status de seu domínio muda de **Active** para **Processing**. O status deve retornar para **Ativo** antes que a publicação de logs seja habilitada. Essa alteração geralmente leva 30 minutos, mas pode demorar mais, dependendo da configuração do domínio.

Se você tiver habilitado um dos logs lentos de fragmentos, consulte [Como definir limites de logs lentos de fragmentos](#createdomain-configure-slow-logs-indices). Se você habilitou os logs de auditoria, consulte [Etapa 2: ativar os registros de auditoria nos OpenSearch painéis](audit-logs.md#audit-log-dashboards-ui). Se tiver habilitado apenas logs de erros, você não precisará executar nenhuma etapa de configuração adicional. 

## Habilitação da publicação de logs (AWS CLI)
<a name="createdomain-configure-slow-logs-cli"></a>

Antes de habilitar a publicação de registros, você precisa de um grupo de CloudWatch registros. Se você ainda não tem, pode criar um usando o seguinte comando:

```
aws logs create-log-group --log-group-name {{my-log-group}}
```

Digite o comando seguinte para localizar o ARN do grupo de log e *anote-o*:

```
aws logs describe-log-groups --log-group-name {{my-log-group}}
```

Agora você pode conceder permissões ao OpenSearch Serviço para gravar no grupo de registros. Você deve fornecer o ARN do grupo de log quase no final do comando:

```
aws logs put-resource-policy \
  --policy-name my-policy \
  --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com"}, "Action":[ "logs:PutLogEvents","logs:CreateLogStream"],"Resource": "{{cw_log_group_arn}}:*"}]}'
```

**Importante**  
CloudWatch O Logs oferece suporte a [10 políticas de recursos por região](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Se você planeja habilitar a fragmentação de registros lentos para vários domínios de OpenSearch serviço, crie e reutilize uma política mais ampla que inclua vários grupos de registros para evitar atingir esse limite.

Se você precisar revisar essa política posteriormente, use o comando `aws logs describe-resource-policies`. Para atualizar a política, emita o mesmo comando `aws logs put-resource-policy` com um novo documento de política.

Por fim, você pode usar a `--log-publishing-options` opção de habilitar a publicação. A sintaxe para essa opção é a mesma para os comandos `create-domain` e `update-domain-config`.



- **`--log-publishing-options`**
  - SEARCH\_SLOW\_LOGS={CloudWatchLogsLogGroupArn={{cw\_log\_group\_arn}},Enabled=true\|false}
  - INDEX\_SLOW\_LOGS={CloudWatchLogsLogGroupArn={{cw\_log\_group\_arn}},Enabled=true\|false}
  - ES\_APPLICATION\_LOGS={CloudWatchLogsLogGroupArn={{cw\_log\_group\_arn}},Enabled=true\|false}
  - AUDIT\_LOGS={CloudWatchLogsLogGroupArn={{cw\_log\_group\_arn}},Enabled=true\|false}



**nota**  
Se você planejar habilitar vários logs, recomendamos publicar cada um em seu próprio grupo de logs. Essa separação torna os logs mais fáceis de serem encontrados.

**Exemplo**

O exemplo a seguir habilita a publicação de pesquisa e logs lentos de fragmentos de indexação no domínio especificado:

```
aws opensearch update-domain-config \
  --domain-name my-domain \
  --log-publishing-options "SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-log-group,Enabled=true},INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-other-log-group,Enabled=true}"
```

Para desativar a publicação em CloudWatch, execute o mesmo comando com`Enabled=false`.

Se você tiver habilitado um dos logs lentos de fragmentos, consulte [Como definir limites de logs lentos de fragmentos](#createdomain-configure-slow-logs-indices). Se você habilitou os logs de auditoria, consulte [Etapa 2: ativar os registros de auditoria nos OpenSearch painéis](audit-logs.md#audit-log-dashboards-ui). Se tiver habilitado apenas logs de erros, você não precisará executar nenhuma etapa de configuração adicional.

## Habilitação da publicação de logs (AWS SDKs)
<a name="createdomain-configure-slow-logs-sdk"></a>

Antes de habilitar a publicação de registros, você deve primeiro criar um grupo de CloudWatch registros, obter seu ARN e conceder permissões ao OpenSearch Serviço para gravar nele. As operações relevantes estão documentadas na [Referência da API Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/):
+ `CreateLogGroup`
+ `DescribeLogGroup`
+ `PutResourcePolicy`

Você pode acessar essas operações usando [AWS SDKs](https://aws.amazon.com/tools/#sdk)o.

O AWS SDKs (exceto o Android e o iOS SDKs) suporta todas as operações definidas na [Amazon OpenSearch Service API Reference](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html), incluindo a `--log-publishing-options` opção de `CreateDomain` `UpdateDomainConfig` e.

Se você tiver habilitado um dos logs lentos de fragmentos, consulte [Como definir limites de logs lentos de fragmentos](#createdomain-configure-slow-logs-indices). Se tiver habilitado apenas logs de erros, você não precisará executar nenhuma etapa de configuração adicional.

## Habilitação da publicação de logs (CloudFormation)
<a name="createdomain-configure-slow-logs-cfn"></a>

Neste exemplo, usamos CloudFormation para criar um grupo de registros chamado`opensearch-logs`, atribuir as permissões apropriadas e, em seguida, criar um domínio com a publicação de registros ativada para registros de aplicativos, fragmentar registros lentos de pesquisa e indexar registros lentos.

Antes de habilitar a publicação de registros, você precisa criar um grupo de CloudWatch registros:

```
Resources:
  OpenSearchLogGroup:
    Type: AWS::Logs::LogGroup
    Properties: 
      LogGroupName: {{opensearch-logs}}
Outputs:
  Arn:
    Value:
      'Fn::GetAtt':
        - OpenSearchLogGroup
        - Arn
```

O modelo gera o ARN do grupo de logs. Neste caso, o ARN é `arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs`.

Usando o ARN, crie uma política de recursos que dê ao OpenSearch serviço permissões para gravar no grupo de registros:

```
Resources:
 OpenSearchLogPolicy:
   Type: AWS::Logs::ResourcePolicy
   Properties:
     PolicyName: {{my-policy}}
     PolicyDocument: "{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"es.amazonaws.com\"}, \"Action\":[ \"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\": \"arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs:*\"}]}"
```

Por fim, crie a CloudFormation pilha a seguir, que gera um domínio OpenSearch de serviço com publicação de registros. A política de acesso permite que o usuário faça todas as solicitações HTTP para o domínio. Conta da AWS 

```
Resources:
  OpenSearchServiceDomain:
    Type: "AWS::OpenSearchService::Domain"
    Properties:
      DomainName: {{my-domain}}
      EngineVersion: "OpenSearch_1.0"
      ClusterConfig:
        InstanceCount: 2
        InstanceType: "r6g.xlarge.search"
        DedicatedMasterEnabled: true
        DedicatedMasterCount: 3
        DedicatedMasterType: "r6g.xlarge.search"
      EBSOptions:
        EBSEnabled: true
        VolumeSize: 10
        VolumeType: "gp2"
      AccessPolicies:
        Version: "2012-10-17"		 	 	 
        Statement:
            Effect: "Allow"
            Principal:
                AWS: "arn:aws:iam::{{123456789012}}:user/es-user"
            Action: "es:*"
            Resource: "arn:aws:es:us-east-1:{{123456789012}}:domain/{{my-domain}}/*"
      LogPublishingOptions:
        ES_APPLICATION_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:{{123456789012}}:log-group:opensearch-logs"
          Enabled: true
        SEARCH_SLOW_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:{{123456789012}}:log-group:opensearch-logs"
          Enabled: true
        INDEX_SLOW_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:{{123456789012}}:log-group:opensearch-logs"
          Enabled: true
```

Para obter informações detalhadas sobre sintaxe, consulte as [opções de publicação de logs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html) no *Manual do usuário do CloudFormation *.

## Como definir limites de log lento para solicitações de pesquisa
<a name="createdomain-configure-search-request-slow-logs"></a>

Os [registros lentos da solicitação de pesquisa](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs) estão disponíveis para pesquisa em domínios OpenSearch de serviço executados na versão 2.13 e posterior. Os limites de log lento da solicitação de pesquisa são configurados para o tempo de duração total da solicitação. Isso é diferente dos logs lentos de solicitações de fragmentos, que são configurados para o tempo de duração de cada fragmento.

Você pode especificar logs lentos de solicitação de pesquisa com configurações de cluster. Isso é diferente dos logs lentos de fragmentos, que você ativa com as configurações de índice. Por exemplo, você pode especificar as seguintes configurações por meio da API OpenSearch REST:

```
PUT {{domain-endpoint}}/_cluster/settings
{
  "transient": {
    "cluster.search.request.slowlog.threshold.warn": "5s",
    "cluster.search.request.slowlog.threshold.info": "2s"
  }
}
```

**nota**  
O `PUT /_cluster/settings` endpoint é restrito no Amazon OpenSearch Service. O envio dessa solicitação retornará o erro: `Your request: '/_cluster/settings' payload is not allowed.` para definir limites de log lentos de fragmentação, use configurações em nível de índice. Por exemplo:  

```
PUT {{domain-endpoint}}/{{index}}/_settings
{
  "index.search.slowlog.threshold.query.warn": "5s",
  "index.search.slowlog.threshold.query.info": "2s"
}
```

## Como definir limites de logs lentos de fragmentos
<a name="createdomain-configure-slow-logs-indices"></a>

OpenSearch desativa a [fragmentação de registros lentos](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs) por padrão. Depois de habilitar a *publicação* de fragmentos de registros lentos no CloudWatch, você ainda precisa especificar limites de registro para cada OpenSearch índice. Esses limites definem exatamente o que deve ser registrado e em que nível de log.

Por exemplo, você pode especificar essas configurações por meio da API OpenSearch REST:

```
PUT {{domain-endpoint}}/{{index}}/_settings
{
  "index.search.slowlog.threshold.query.warn": "5s",
  "index.search.slowlog.threshold.query.info": "2s"
}
```

## Teste logs lentos
<a name="createdomain-configure-slow-logs-testing"></a>

Para testar se a solicitação de pesquisa e os registros lentos de fragmentação estão sendo publicados com êxito, considere começar com valores muito baixos para verificar se os registros aparecem e CloudWatch, em seguida, aumentar os limites para níveis mais úteis.

Se os logs não aparecerem, verifique o seguinte:
+ O grupo CloudWatch de registros existe? Verifique o CloudWatch console.
+ O OpenSearch serviço tem permissões para gravar no grupo de registros? Verifique o console OpenSearch de serviço.
+ O domínio do OpenSearch serviço está configurado para publicar no grupo de registros? Verifique o console de OpenSearch serviço, use a AWS CLI `describe-domain-config` opção ou ligue `DescribeDomainConfig` usando um dos SDKs.
+ Os limites de OpenSearch registro são baixos o suficiente para que suas solicitações os excedam? 

  Para revisar os limites de logs lentos de sua solicitação de pesquisa para um domínio, use o seguinte comando:

  ```
  GET {{domain-endpoint}}/_cluster/settings?flat_settings
  ```

  Para revisar seus limites de logs lentos de fragmentos para um índice, use o seguinte comando:

  ```
  GET {{domain-endpoint}}/{{index}}/_settings?pretty
  ```

Se você quer desabilitar logs lentos para um índice, redefina todos os limites que você mudou para os valores padrão de `-1`.

Desabilitar a publicação para CloudWatch usar o console de OpenSearch serviço ou AWS CLI *não* interrompe OpenSearch a geração de registros; apenas interrompe a *publicação* desses registros. Verifique suas configurações de índice se você não precisar mais dos logs lentos de fragmentos e suas configurações de domínio se não precisar mais dos logs lentos de solicitação de pesquisa.

## Visualizar logs
<a name="createdomain-configure-slow-logs-viewing"></a>

Visualizar o aplicativo e os logins lentos CloudWatch é como visualizar qualquer outro CloudWatch registro. Para obter mais informações, consulte [Exibir dados de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) no *Guia do usuário do Amazon CloudWatch Logs*.

Algumas considerações sobre a visualização de logs:
+ OpenSearch O serviço publica somente os primeiros 255.000 caracteres de cada linha para. CloudWatch O conteúdo restante ficará truncado. Para logs de auditoria, o limite é de 10.000 caracteres por mensagem. 
+ Em CloudWatch, os nomes dos fluxos de log têm sufixos de`-index-slow-logs`, `-search-slow-logs``-application-logs`, e `-audit-logs` para ajudar a identificar seu conteúdo.