Crear una consulta programada - Amazon CloudWatch Logs

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 los destinos de Amazon S3: s3:PutObject

  • 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 hay que tener en cuenta que solo se pueden programar 1000 consultas por cuenta.

Console
Para crear una consulta programada (consola)
  1. Abre la consola CloudWatch de Logs en https://console.aws.amazon.com/cloudwatch/casa #logsV2:.

  2. En el panel de navegación, selecciona Logs Insights.

  3. Seleccione Crear consulta programada.

  4. En la sección de definición de consultas:

    1. En Idioma de consulta, elija el idioma de consulta que desee utilizar en la lista.

    2. Para la cadena de consulta, introduzca su consulta de CloudWatch Logs Insights en el cuadro.

    3. Para los grupos de registros, seleccione los grupos de registros que desee consultar en la lista.

  5. En la sección de configuración del cronograma:

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

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

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

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

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

  7. En la sección Publicar los resultados de la consulta en S3 (opcional) (si utilizas el destino S3):

    1. 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/).

    2. Seleccione View Amazon S3 para abrir la consola de Amazon S3 en una pestaña nueva y comprobar la configuración del bucket.

    3. Elija Browse Amazon S3 para seleccionar una ubicación de Amazon S3 existente mediante el navegador Amazon S3.

  8. En la sección Función de IAM para publicar los resultados de las consultas en Amazon S3:

    1. En Seleccione un rol de IAM, elija un rol de IAM existente con las políticas requeridas o elija crear un nuevo rol en la consola de IAM para crear un nuevo rol.

    2. Utilice el campo de búsqueda para buscar y seleccionar el rol de IAM adecuado de la lista.

  9. En la sección sobre la función de IAM para la ejecución programada de consultas:

    1. En Seleccione un rol de IAM, elija un rol de IAM existente con las políticas requeridas o elija crear un nuevo rol en la consola de IAM para crear un nuevo rol.

    2. Utilice el campo de búsqueda para buscar y seleccionar el rol de IAM adecuado de la lista.

  10. 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. En el siguiente ejemplo, se 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.