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.
Crear una consulta programada
Cree una consulta programada que ejecute automáticamente las consultas de CloudWatch Logs Insights y entregue los resultados a los destinos que elija.
Requisitos previos
Antes de crear una consulta programada, asegúrese de tener lo siguiente:
-
Grupos de registros: uno o más grupos de registros que contienen los datos que desea analizar
-
Función de IAM de ejecución: función de IAM con los siguientes permisos:
-
logs:StartQuery- Permiso para iniciar consultas de CloudWatch Logs Insights
-
logs:GetQueryResults- Permiso para recuperar los resultados de la consulta
-
logs:DescribeLogGroups- Permiso para acceder a la información del grupo de registros. Esto solo es necesario para los grupos de registros basados en prefijos para la detección de grupos de registros
-
Permisos de destino: permisos de IAM adicionales para el destino elegido:
-
Para el AWS CLI uso de la API: AWS credenciales configuradas con permisos para llamar a CloudWatch Logs APIs
Para ver ejemplos detallados de políticas de IAM, consulteAdministración de identidades y accesos para Amazon CloudWatch Logs. También debe tenerse en cuenta que solo puede tener 1000 consultas programadas por cuenta.
- Console
-
Para crear una consulta programada (consola)
-
¿Abrir la consola CloudWatch de Logs en https://us-east-1.console.aws.amazon.com/cloudwatch/casa? region=us-east-1 #LogsV2:Logs-Insights.
-
En el panel de navegación, selecciona Logs Insights.
-
Seleccione Crear consulta programada.
-
En la sección de definición de consultas:
-
En Idioma de consulta, elija el idioma de consulta que desee utilizar en la lista.
-
Para la cadena de consulta, introduzca su consulta de CloudWatch Logs Insights en el cuadro.
-
Para los grupos de registros, seleccione los grupos de registros que desee consultar en la lista.
-
En la sección de configuración del cronograma:
-
En la expresión Schedule, configure cuándo se ejecutará la consulta. Elija una de las opciones predefinidas o introduzca una expresión cron personalizada.
-
En Efectivo al crearse, especifique cuándo se activa la programación. Elija comenzar inmediatamente o en una fecha y hora específicas utilizando el YYYY/MM/DD formato.
-
En Intervalo de tiempo, especifique el período retrospectivo para cada ejecución de consulta. Introduzca la duración en minutos que define el tiempo transcurrido desde el momento de ejecución de la consulta.
-
En Continuar indefinidamente, especifique cuándo finaliza la programación. Elija ejecutar indefinidamente o hasta una fecha y hora específicas utilizando YYYY/MM/DD el formato.
-
La consola muestra las tres siguientes ejecuciones de consultas programadas en función de su configuración y muestra las fechas y horas exactas en UTC en las que se ejecutará la consulta.
-
En la sección Publicar los resultados de la consulta en S3 (opcional) (si utilizas el destino S3):
-
Para el bucket de S3, selecciona Esta cuenta si el bucket de destino está en la misma AWS cuenta, o selecciona Otra cuenta si el bucket está en una AWS cuenta diferente e introduce el ID de cuenta de la cuenta propietaria del bucket.
-
Para el URI de Amazon S3, introduzca el bucket y el prefijo de Amazon S3 donde se almacenarán los resultados (por ejemplo,s3://my-bucket/query-results/). Si seleccionó Esta cuenta, puede elegir Browse Amazon S3 para navegar y seleccionar una ubicación de Amazon S3 existente.
-
(Opcional) Para el ARN de la clave KMS, introduzca el ARN de una AWS KMS clave administrada por el cliente para cifrar los resultados de la consulta mediante SSE-KMS. La clave debe estar en la misma AWS región que el bucket de Amazon S3 de destino.
-
En la sección Función de IAM para publicar los resultados de las consultas en Amazon S3, elija una de las siguientes opciones:
-
Elija Crear automáticamente un nuevo rol con los permisos predeterminados para configurar automáticamente un rol de IAM con los permisos necesarios para que CloudWatch Logs entregue los resultados de las consultas a Amazon S3.
-
Elija Utilizar un rol existente para seleccionar un rol de IAM existente con las políticas necesarias para que CloudWatch Logs entregue los resultados de las consultas a Amazon S3. Utilice el campo de búsqueda para buscar y seleccionar el rol de IAM adecuado de la lista.
-
En la sección Función de IAM para la ejecución programada de consultas, elija una de las siguientes opciones:
-
Seleccione Crear automáticamente un nuevo rol con los permisos predeterminados para configurar automáticamente un rol de IAM con los permisos necesarios para que los CloudWatch registros ejecuten las consultas programadas.
-
Elija Usar un rol existente para seleccionar un rol de IAM existente con las políticas necesarias para que los CloudWatch registros ejecuten las consultas programadas. Utilice el campo de búsqueda para buscar y seleccionar el rol de IAM adecuado de la lista.
-
Seleccione Crear programación para crear la consulta programada.
- AWS CLI
-
Para crear una consulta programada (AWS CLI)
-
Utilice el create-scheduled-query comando para crear una nueva consulta programada:
aws logs create-scheduled-query \
--name "ErrorAnalysisQuery" \
--query-language "CWLI" \
--query-string "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)" \
--schedule-expression "cron(8 * * * ? *)" \
--execution-role-arn "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole" \
--log-group-identifiers "/aws/lambda/my-function" "/aws/apigateway/my-api" \
--state "ENABLED"
- API
-
Para crear una consulta programada (API)
-
Utilice la CreateScheduledQuery acción para crear una nueva consulta programada. El siguiente ejemplo crea una consulta programada que se ejecuta cada hora:
{
"name": "ErrorAnalysisQuery",
"queryLanguage": "CWLI",
"queryString": "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)",
"scheduleExpression": "cron(8 * * * ? *)",
"executionRoleArn": "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole",
"logGroupIdentifiers": ["/aws/lambda/my-function", "/aws/apigateway/my-api"],
"state": "ENABLED"
}
Tras crear la consulta programada, puede verla y gestionarla desde la página de consultas programadas y mediante la ListScheduledQueries API, que muestra todas las consultas programadas con sus nombres, fechas de creación, estado de la última ejecución, hora de la última activación y frecuencia de repetición.