View a markdown version of this page

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 bucket do S3, selecione Esta conta se o bucket de destino estiver na mesma AWS conta ou selecione Outra conta se o bucket estiver em uma AWS conta diferente e forneça o ID da conta proprietária do bucket como entrada.

    2. 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/ Se você selecionou Esta conta, você pode escolher Navegar no Amazon S3 para navegar e selecionar um local existente do Amazon S3.

    3. (Opcional) Para ARN da chave KMS, insira o ARN de uma chave AWS KMS gerenciada pelo cliente para criptografar os resultados da consulta usando o SSE-KMS. A chave deve estar na mesma AWS região do bucket Amazon S3 de destino.

  8. Na função do IAM para publicar resultados de consultas na seção Amazon S3, escolha uma das seguintes opções:

    1. Escolha Criar automaticamente uma nova função com permissões padrão para configurar automaticamente uma função do IAM com as permissões necessárias para que os CloudWatch Logs entreguem os resultados da consulta ao Amazon S3.

    2. Escolha Usar uma função existente para selecionar uma função do IAM existente com as políticas necessárias para que CloudWatch os registros entreguem os resultados da consulta ao Amazon S3. 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 agendada de consultas, escolha uma das seguintes opções:

    1. Escolha Criar automaticamente uma nova função com permissões padrão para configurar automaticamente uma função do IAM com as permissões necessárias para que o CloudWatch Logs execute consultas agendadas.

    2. Escolha Usar uma função existente para selecionar uma função do IAM existente com as políticas necessárias para que CloudWatch os registros executem consultas agendadas. 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.