Criação de uma consulta agendada - CloudWatch Registros da Amazon

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

Criação de uma consulta agendada

Crie uma consulta agendada que execute automaticamente as consultas do CloudWatch Logs Insights e entregue os resultados aos destinos escolhidos.

Pré-requisitos

Antes de criar uma consulta agendada, verifique se você tem o seguinte:

  • Grupos de registros - Um ou mais grupos de registros contendo os dados que você deseja analisar

  • Função do IAM de execução — uma função do IAM com as seguintes permissões:

    • logs:StartQuery- Permissão para iniciar consultas do CloudWatch Logs Insights

    • logs:GetQueryResults- Permissão para recuperar os resultados da consulta

    • logs:DescribeLogGroups- Permissão para acessar as informações do grupo de registros. Isso só é necessário para grupos de registros baseados em prefixos para descoberta de grupos de registros.

  • Permissões de destino - Permissões adicionais do IAM para o destino escolhido:

    • Para destinos do Amazon S3: s3:PutObject

  • Para AWS CLI e uso da API - AWS Credenciais configuradas com permissões para chamar CloudWatch o Logs APIs

Para obter exemplos detalhados de políticas do IAM, consulteGerenciamento de identidade e acesso para Amazon CloudWatch Logs. Também deve ser observado que você pode ter apenas 1000 consultas agendadas por conta.

Console
Para criar uma consulta agendada (console)
  1. Abra o console de CloudWatch registros em https://us-east-1.console.aws.amazon.com/cloudwatch/casa? region=us-east-1 #logsV2:Logs-Insights.

  2. No painel de navegação, escolha Logs Insights.

  3. Escolha Criar consulta agendada.

  4. Na seção Definição da consulta:

    1. Em Idioma de consulta, escolha o idioma de consulta a ser usado na lista.

    2. Em Cadeia de caracteres de consulta, insira sua consulta do CloudWatch Logs Insights na caixa.

    3. Em Grupos de registros, selecione os grupos de registros a serem consultados na lista.

  5. Na seção Configuração do cronograma:

    1. Em Schedule expression, configure quando a consulta é executada. Escolha entre as opções predefinidas ou insira uma expressão cron personalizada.

    2. Em Efetivo após a criação, especifique quando o cronograma se torna ativo. Escolha começar imediatamente ou em uma data e hora específicas usando o YYYY/MM/DD formato.

    3. Em Intervalo de tempo, especifique o período de retrospectiva para cada execução de consulta. Insira a duração em minutos que define a distância entre o tempo de execução da consulta.

    4. Em Continuar indefinidamente, especifique quando a programação termina. Escolha executar indefinidamente ou até uma data e hora específicas usando o YYYY/MM/DD formato.

  6. O console exibe as próximas três execuções de consulta agendadas com base na sua configuração, mostrando as datas e horários exatos em UTC em que a consulta será executada.

  7. Na seção Post query results to S3 - opcional (se estiver usando o destino S3):

    1. Para o URI do Amazon S3, insira o bucket e o prefixo do Amazon S3 onde os resultados serão armazenados (por exemplo,). s3://my-bucket/query-results/

    2. Escolha Exibir Amazon S3 para abrir o console do Amazon S3 em uma nova guia e verificar a configuração do bucket.

    3. Escolha Navegar no Amazon S3 para selecionar um local existente do Amazon S3 usando o navegador Amazon S3.

  8. Na função do IAM para publicar resultados de consultas na seção Amazon S3:

    1. Em Selecionar uma função do IAM, escolha uma função do IAM existente com as políticas necessárias ou escolha criar uma nova função no console do IAM para criar uma nova função.

    2. Use o campo de pesquisa para encontrar e selecionar a função apropriada do IAM na lista.

  9. Na seção Função do IAM para execução programada de consultas:

    1. Em Selecionar uma função do IAM, escolha uma função do IAM existente com as políticas necessárias ou escolha criar uma nova função no console do IAM para criar uma nova função.

    2. Use o campo de pesquisa para encontrar e selecionar a função apropriada do IAM na lista.

  10. Escolha Criar agendamento para criar a consulta agendada.

AWS CLI
Para criar uma consulta agendada (AWS CLI)
  • Use o create-scheduled-query comando para criar uma nova consulta agendada:

    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 criar uma consulta agendada (API)
  • Use a CreateScheduledQuery ação para criar uma nova consulta agendada. O exemplo a seguir cria uma consulta agendada que é executada a 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" }

Depois de criar a consulta agendada, você pode visualizá-la e gerenciá-la na página Consultas agendadas e usando a ListScheduledQueries API, que mostra todas as consultas agendadas com seus nomes, datas de criação, status da última execução, hora da última ativação e frequência de repetição.