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
Amazon OpenSearch Service expone los siguientes OpenSearch registros a través de Amazon CloudWatch Logs:
-
Registros de errores
La búsqueda de registros lentos de los fragmentos, la indexación de los registros lentos de los fragmentos y los registros de errores son útiles para solucionar 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 precio estándar CloudWatch
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 2TRACE
,, 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, incluidas 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
OpenSearch El servicio no registra todos los errores que se producen.
Temas
- Habilitación de la publicación de registros (consola)
- Habilitación de la publicación de registros (AWS CLI)
- Habilitar la publicación de registros ()AWS SDKs
- Habilitación de la publicación de registros (CloudFormation)
- Establecer umbrales de registro lentos de las solicitudes de búsqueda
- Establecer umbrales de registro lento de los fragmentos
- Probando registros lentos
- Visualización de registros
Habilitación de la publicación de registros (consola)
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)
-
Visite https://aws.amazon.com
y, a continuación, seleccione Iniciar sesión en la consola. -
En Analytics, selecciona Amazon OpenSearch Service.
-
Seleccione el dominio que desea actualizar.
-
En la pestaña Registros, seleccione un tipo de registro y luego elija Habilitar.
-
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.
-
Elija una política de acceso que contenga los permisos adecuados o cree una política con los JSON que proporciona la consola:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": "
cw_log_group_arn
:*" } ] }Le recomendamos que agregue las claves de condición
aws:SourceAccount
yaws:SourceArn
para protegerse contra la política problema del suplente confuso. La cuenta de origen es la propietaria del dominio y la de origen ARN es la 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. 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).
-
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 activado uno de los registros lentos del fragmento, consulteEstablecer umbrales de registro lento de los fragmentos. Si habilitó registros de auditorías, consulte Paso 2: Activa los registros de auditoría en los OpenSearch paneles. 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)
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 buscar el grupo de registros yARN, 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 los grupos de registros ARN 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. 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 alcanzar 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
.
Parámetro | Valores válidos |
---|---|
--log-publishing-options |
SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
|
ES_APPLICATION_LOGS={CloudWatchLogsLogGroupArn= |
|
AUDIT_LOGS={CloudWatchLogsLogGroupArn= |
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
El siguiente ejemplo permite publicar los registros lentos de los fragmentos de búsqueda e indexación 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 activado uno de los registros lentos del fragmento, consulteEstablecer umbrales de registro lento de los fragmentos. Si habilitó registros de auditorías, consulte Paso 2: Activa los registros de auditoría en los OpenSearch paneles. Si habilitó únicamente los registros de errores, no tiene que realizar ningún paso de configuración adicional.
Habilitar la publicación de registros ()AWS SDKs
Para poder habilitar la publicación de registros, primero debe crear un grupo de CloudWatch registros, obtenerlo ARN y conceder permisos de OpenSearch servicio para escribir en él. Las operaciones relevantes se documentan en la APIreferencia de Amazon CloudWatch Logs:
-
CreateLogGroup
-
DescribeLogGroup
-
PutResourcePolicy
Puede acceder a estas operaciones mediante el AWS SDKs
Los AWS SDKs (excepto Android e iOSSDKs) admiten todas las operaciones que se definen en la Amazon OpenSearch Service API Reference, incluida la --log-publishing-options
opción para CreateDomain
yUpdateDomainConfig
.
Si ha activado uno de los registros lentos del fragmento, consulteEstablecer umbrales de registro lento de los fragmentos. 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)
En este ejemplo, solemos crear un grupo de registros denominadoopensearch-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, ARN es arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs
.
Con elARN, 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 HTTP las solicitudes 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 en la Guía del usuario de AWS CloudFormation .
Establecer umbrales de registro lentos de las solicitudes de búsqueda
Los registros lentos de las solicitudes de búsqueda
Puede especificar los registros lentos de las solicitudes de búsqueda con la configuración del clúster. Esto difiere de los registros lentos de fragmentación, que se habilitan con la configuración del índice. Por ejemplo, puede especificar la siguiente configuración mediante: OpenSearch REST API
PUT
domain-endpoint
/_cluster/settings { "transient": { "cluster.search.request.slowlog.threshold.warn": "5s", "cluster.search.request.slowlog.threshold.info": "2s" } }
Establecer umbrales de registro lento de los fragmentos
OpenSearch deshabilita los registros lentos de los fragmentos de forma predeterminada
Por ejemplo, puede especificar esta configuración mediante: OpenSearch REST API
PUT
domain-endpoint
/index
/_settings { "index.search.slowlog.threshold.query.warn": "5s", "index.search.slowlog.threshold.query.info": "2s" }
Probando registros lentos
Para comprobar que tanto los registros de solicitudes de búsqueda como los de fragmentación lenta 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 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 llameDescribeDomainConfig
mediante una de lasSDKs. -
¿Los umbrales de OpenSearch registro son lo suficientemente bajos como para que sus solicitudes los superen?
Para revisar los umbrales de registro lento de tu solicitud de búsqueda para un dominio, usa el siguiente comando:
GET
domain-endpoint
/_cluster/settings?flat_settingsPara revisar los umbrales de registro lento de tu fragmento para un índice, usa 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 comprobar la configuración del índice si ya no necesita los registros lentos del fragmento y la configuración del dominio si ya no necesita los registros lentos de las solicitudes de búsqueda.
Visualización de registros
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 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.