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 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)
-
Abra o console de CloudWatch registros em https://us-east-1.console.aws.amazon.com/cloudwatch/casa? region=us-east-1 #logsV2:Logs-Insights.
-
No painel de navegação, escolha Logs Insights.
-
Escolha Criar consulta agendada.
-
Na seção Definição da consulta:
-
Em Idioma de consulta, escolha o idioma de consulta a ser usado na lista.
-
Em Cadeia de caracteres de consulta, insira sua consulta do CloudWatch Logs Insights na caixa.
-
Em Grupos de registros, selecione os grupos de registros a serem consultados na lista.
-
Na seção Configuração do cronograma:
-
Em Schedule expression, configure quando a consulta é executada. Escolha entre as opções predefinidas ou insira uma expressão cron personalizada.
-
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.
-
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.
-
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.
-
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.
-
Na seção Post query results to S3 - opcional (se estiver usando o destino S3):
-
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/
-
Escolha Exibir Amazon S3 para abrir o console do Amazon S3 em uma nova guia e verificar a configuração do bucket.
-
Escolha Navegar no Amazon S3 para selecionar um local existente do Amazon S3 usando o navegador Amazon S3.
-
Na função do IAM para publicar resultados de consultas na seção Amazon S3:
-
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.
-
Use o campo de pesquisa para encontrar e selecionar a função apropriada do IAM na lista.
-
Na seção Função do IAM para execução programada de consultas:
-
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.
-
Use o campo de pesquisa para encontrar e selecionar a função apropriada do IAM na lista.
-
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.