

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.

# Supervisión de OpenSearch registros con Amazon CloudWatch Logs
<a name="createdomain-configure-slow-logs"></a>

Amazon OpenSearch Service expone los siguientes OpenSearch registros a través de Amazon CloudWatch Logs: 
+ Registros de errores
+ [Registros lentos de solicitudes de búsqueda](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs)
+ [Registros lentos de particiones](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs)
+ [Registros de auditoría](audit-logs.md)

Los registros lentos de particiones de búsqueda, los registros lentos de particiones de índice y los registros de errores son útiles para la resolución de problemas de rendimiento y estabilidad. Los registros de auditoría realizan un seguimiento de la actividad de los usuarios con fines de conformidad. Todos los registros están *deshabilitados* de forma predeterminada. Si está activado, se aplicará el [ CloudWatch precio estándar](https://aws.amazon.com/cloudwatch/pricing/).

**nota**  
Los registros de errores solo están disponibles para las versiones 5.1 OpenSearch y posteriores de Elasticsearch. Los registros lentos están disponibles para todas las versiones OpenSearch y para las versiones de Elasticsearch.

Para sus registros, OpenSearch utiliza [Apache Log4j 2](https://logging.apache.org/log4j/2.x/) y sus niveles de registro integrados (del menor al más grave) de`TRACE`,, `DEBUG``INFO`, `WARN` y. `ERROR` `FATAL`

Si habilita los registros de errores, el OpenSearch servicio publica las líneas de registro de `WARN``ERROR`, y `FATAL` para. CloudWatch OpenSearch El servicio también publica varias excepciones a este `DEBUG` nivel, entre las que se incluyen las siguientes:
+ `org.opensearch.index.mapper.MapperParsingException`
+ `org.opensearch.index.query.QueryShardException`
+ `org.opensearch.action.search.SearchPhaseExecutionException`
+ `org.opensearch.common.util.concurrent.OpenSearchRejectedExecutionException`
+ `java.lang.IllegalArgumentException`

Los registros de errores ayudan a solucionar problemas en muchas situaciones, entre las que se incluyen las siguientes:
+ Problemas de compilación de script Painless
+ Consultas no válidas
+ Problemas de indexación
+ Errores de instantáneas
+ Fallas de migración de la administración de estados de índice
**nota**  
No todos los errores se registran en los registros de errores.

**nota**  
OpenSearch El servicio no registra todos los errores que se producen.

**Topics**
+ [Habilitación de la publicación de registros (consola)](#createdomain-configure-slow-logs-console)
+ [Habilitación de la publicación de registros (AWS CLI)](#createdomain-configure-slow-logs-cli)
+ [Habilitación de la publicación de registros (AWS SDKs)](#createdomain-configure-slow-logs-sdk)
+ [Habilitación de la publicación de registros (CloudFormation)](#createdomain-configure-slow-logs-cfn)
+ [Establecimiento de umbrales de registros lentos de solicitudes de búsqueda](#createdomain-configure-search-request-slow-logs)
+ [Establecimiento de umbrales de registros lentos de particiones](#createdomain-configure-slow-logs-indices)
+ [Prueba de registros lentos](#createdomain-configure-slow-logs-testing)
+ [Visualización de registros](#createdomain-configure-slow-logs-viewing)

## Habilitación de la publicación de registros (consola)
<a name="createdomain-configure-slow-logs-console"></a>

La consola OpenSearch de servicio es la forma más sencilla de permitir la publicación de registros en CloudWatch.

**Para habilitar la publicación de registros en CloudWatch (consola)**

1. Vaya a [aws.amazon.com](https://aws.amazon.com/), luego elija **Iniciar sesión** y proporcione sus credenciales.

1. En **Analytics**, selecciona **Amazon OpenSearch Service**.

1. Seleccione el dominio que desea actualizar.

1. En la pestaña **Registros**, seleccione un tipo de registro y luego elija **Habilitar**.

1. Cree un nuevo grupo de CloudWatch registros o elija uno existente.
**nota**  
Si prevé habilitar varios registros, recomendamos publicar cada uno en su propio grupo de registros. Esta separación hace que los registros sean más fáciles de analizar.

1. Seleccione una política de acceso que contenga los permisos adecuados o cree una política mediante el JSON que proporciona la consola:

------
#### [ 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:*"
       }
     ]
   }
   ```

------

   Le recomendamos que agregue las claves de condición `aws:SourceAccount` y `aws:SourceArn` para protegerse contra la política [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). La cuenta de origen es la propietaria del dominio y el ARN de origen es el ARN del dominio. Su dominio debe estar en el software de servicio R20211203 o posterior para agregar estas claves de condición.

   Por ejemplo, podría agregar el siguiente bloque de condición a la política:

   ```
   "Condition": {
       "StringEquals": {
           "aws:SourceAccount": "account-id"
       },
       "ArnLike": {
           "aws:SourceArn": "arn:aws:es:region:account-id:domain/domain-name"
       }
   }
   ```
**importante**  
CloudWatch Logs admite [10 políticas de recursos por región](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Si planea habilitar los registros para varios dominios de OpenSearch servicio, debe crear y reutilizar una política más amplia que incluya varios grupos de registros para evitar alcanzar este límite. Para obtener información sobre los pasos para actualizar la política, consulte [Habilitación de la publicación de registros (AWS CLI)](#createdomain-configure-slow-logs-cli).

1. Seleccione **Habilitar**.

   El estado del dominio cambia de **Activo** a **En proceso**. El estado debe volver a **Activo** antes de que la publicación de registro esté habilitada. Este cambio suele tardar 30 minutos, pero puede tardar más en función de la configuración del dominio.

Si ha habilitado uno de los registros lentos de particiones, consulte [Establecimiento de umbrales de registros lentos de particiones](#createdomain-configure-slow-logs-indices). Si habilitó registros de auditorías, consulte [Paso 2: Active los registros de auditoría en los OpenSearch paneles](audit-logs.md#audit-log-dashboards-ui). Si habilitó únicamente los registros de errores, no tiene que realizar ningún paso de configuración adicional. 

## Habilitación de la publicación de registros (AWS CLI)
<a name="createdomain-configure-slow-logs-cli"></a>

Para poder habilitar la publicación de registros, necesita un grupo de CloudWatch registros. Si aún no lo tiene, puede crear uno mediante el siguiente comando:

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

Introduzca el siguiente comando para encontrar el ARN del grupo de registros y, a continuación, *anótelo*:

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

Ahora puede conceder permisos OpenSearch al Servicio para que escriba en el grupo de registros. Debe proporcionar el ARN del grupo de registros cerca del final del 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 Logs admite [10 políticas de recursos por región](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Si planea habilitar los registros lentos por fragmentos para varios dominios de OpenSearch servicio, debe crear y reutilizar una política más amplia que incluya varios grupos de registros para evitar que se alcance este límite.

Si tiene que revisar esta política más adelante, utilice el comando `aws logs describe-resource-policies`. Para actualizar la política, ejecute el mismo comando `aws logs put-resource-policy` con un nuevo documento de política.

Finalmente, puede utilizar la opción `--log-publishing-options` para habilitar la publicación. La sintaxis de la opción es la misma para los comandos `create-domain` y `update-domain-config`.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/createdomain-configure-slow-logs.html)

**nota**  
Si prevé habilitar varios registros, recomendamos publicar cada uno en su propio grupo de registros. Esta separación hace que los registros sean más fáciles de analizar.

**Ejemplo**

En el siguiente ejemplo se habilita la publicación de los registros lentos de particiones de búsqueda e índice para el dominio 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 deshabilitar la publicación en CloudWatch, ejecute el mismo comando con`Enabled=false`.

Si ha habilitado uno de los registros lentos de particiones, consulte [Establecimiento de umbrales de registros lentos de particiones](#createdomain-configure-slow-logs-indices). Si habilitó registros de auditorías, consulte [Paso 2: Active los registros de auditoría en los OpenSearch paneles](audit-logs.md#audit-log-dashboards-ui). Si habilitó únicamente los registros de errores, no tiene que realizar ningún paso de configuración adicional.

## Habilitación de la publicación de registros (AWS SDKs)
<a name="createdomain-configure-slow-logs-sdk"></a>

Para poder habilitar la publicación de registros, primero debe crear un grupo de CloudWatch registros, obtener su ARN y conceder permisos de OpenSearch servicio para escribir en él. Las operaciones relevantes se documentan en la [referencia de la API de Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/):
+ `CreateLogGroup`
+ `DescribeLogGroup`
+ `PutResourcePolicy`

Puede acceder a estas operaciones mediante [AWS SDKs](https://aws.amazon.com/tools/#sdk).

Los AWS SDKs (excepto Android e iOS SDKs) admiten todas las operaciones que se definen en la [referencia de la API de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html), incluida la `--log-publishing-options` opción para `CreateDomain` y`UpdateDomainConfig`.

Si ha habilitado uno de los registros lentos de particiones, consulte [Establecimiento de umbrales de registros lentos de particiones](#createdomain-configure-slow-logs-indices). Si habilitó únicamente los registros de errores, no tiene que realizar ningún paso de configuración adicional.

## Habilitación de la publicación de registros (CloudFormation)
<a name="createdomain-configure-slow-logs-cfn"></a>

En este ejemplo, solemos crear un grupo de registros llamado`opensearch-logs`, asignar los permisos adecuados y, CloudFormation a continuación, crear un dominio con la publicación de registros habilitada para los registros de las aplicaciones, los registros lentos de los fragmentos de búsqueda y la indexación de los registros lentos.

Para poder habilitar la publicación de registros, debe crear un grupo de CloudWatch registros:

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

La plantilla genera el ARN del grupo de registros. En este caso, el ARN es `arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs`.

Con el ARN, cree una política de recursos que otorgue al OpenSearch Servicio permisos para escribir en el 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 último, cree la siguiente CloudFormation pila, que genera un dominio de OpenSearch servicio con la publicación de registros. La política de acceso permite Cuenta de AWS al usuario realizar todas las solicitudes HTTP al dominio.

```
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 obtener información detallada sobre la sintaxis, consulte las [opciones de publicación de registros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html) en la *Guía del usuario de CloudFormation .*

## Establecimiento de umbrales de registros lentos de solicitudes de búsqueda
<a name="createdomain-configure-search-request-slow-logs"></a>

Los [registros lentos de las solicitudes de búsqueda](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs) están disponibles para buscar en los dominios OpenSearch de servicio que se ejecutan en la versión 2.13 y versiones posteriores. Los umbrales de registros lentos de solicitudes de búsqueda se configuran para el tiempo total de procesamiento de las solicitudes. Esto es diferente de los registros lentos de solicitudes de particiones, que se configuran para el tiempo individual de procesamiento de las particiones.

Puede especificar los registros lentos de solicitudes de búsqueda con la configuración del clúster. Esto difiere de los registros lentos de particiones, que se habilitan con la configuración del índice. Por ejemplo, puedes especificar los siguientes ajustes a través de la API OpenSearch REST:

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

**nota**  
El `PUT /_cluster/settings` punto final está restringido en Amazon OpenSearch Service. Al enviar esta solicitud, se mostrará el siguiente error: `Your request: '/_cluster/settings' payload is not allowed.` para configurar los umbrales de registro lento de los fragmentos, utilice en su lugar ajustes a nivel de índice. Por ejemplo:  

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

## Establecimiento de umbrales de registros lentos de particiones
<a name="createdomain-configure-slow-logs-indices"></a>

OpenSearch deshabilita los registros lentos de los [fragmentos de forma predeterminada](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs). Después de habilitar la *publicación* de registros lentos en fragmentos CloudWatch, aún debe especificar los umbrales de registro para cada índice. OpenSearch Estos umbrales definen exactamente lo que se debe registrar y el nivel de registro.

Por ejemplo, puede especificar estos ajustes a través de la API OpenSearch REST:

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

## Prueba de registros lentos
<a name="createdomain-configure-slow-logs-testing"></a>

Para comprobar que tanto los registros lentos de las solicitudes de búsqueda como los de fragmentos lentos se publican correctamente, considere la posibilidad de empezar con valores muy bajos para comprobar que los registros aparecen en ellos y CloudWatch, a continuación, aumentar los umbrales hasta alcanzar niveles más útiles.

Si los registros no aparecen, verifique lo siguiente:
+ ¿Existe el grupo de CloudWatch registros? Compruebe la CloudWatch consola.
+ ¿El OpenSearch servicio tiene permisos para escribir en el grupo de registros? Compruebe la consola OpenSearch de servicio.
+ ¿El dominio del OpenSearch servicio está configurado para publicarse en el grupo de registros? Compruebe la consola de OpenSearch servicio, utilice la AWS CLI `describe-domain-config` opción o llame `DescribeDomainConfig` mediante una de las SDKs.
+ ¿Los umbrales de OpenSearch registro son lo suficientemente bajos como para que sus solicitudes los superen? 

  Para revisar los umbrales de registros lentos de solicitudes de búsqueda para un dominio, use el siguiente comando:

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

  Para revisar los umbrales de registros lentos de particiones, use el siguiente comando:

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

Si desea deshabilitar los registros lentos de un índice, devuelva los umbrales que ha cambiado a sus valores predeterminados de `-1`.

Al deshabilitar la publicación para CloudWatch usar la consola de OpenSearch servicio, AWS CLI *no* se detiene la generación OpenSearch de registros; solo se detiene la *publicación* de esos registros. Asegúrese de verificar la configuración de su índice si ya no necesita registros lentos de particiones, y la configuración de su dominio si ya no necesita registros lentos de solicitudes de búsqueda.

## Visualización de registros
<a name="createdomain-configure-slow-logs-viewing"></a>

Ver la aplicación e iniciar sesión lentamente CloudWatch es como ver cualquier otro CloudWatch registro. Para obtener más información, consulta [Ver datos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) en la *Guía del usuario de Amazon CloudWatch Logs*.

Aquí tiene algunas consideraciones para visualizar los registros:
+ OpenSearch El servicio publica solo los primeros 255 000 caracteres de cada línea para CloudWatch. El contenido restante está truncado. Para los registros de auditoría, son 10 000 caracteres por mensaje. 
+ En CloudWatch, los nombres de los flujos de registro tienen los sufijos`-index-slow-logs`, `-search-slow-logs``-application-logs`, y `-audit-logs` para ayudar a identificar su contenido.