Praticar de graça

⌨️aws logs start-query

aws logs start-query (CloudWatch Logs Insights).

Manual do comando

É o mesmo texto que aws logs start-query help devolve dentro do CLImb.

aws logs start-query (CloudWatch Logs Insights)

USO
    aws logs start-query --log-group-name /climb/app \
        --start-time 0 --end-time 9999999999 \
        --query-string 'fields @timestamp, @message | filter level = "ERROR" | limit 20'

Roda uma consulta com LINGUAGEM DE CONSULTA. As etapas são separadas por | e
aplicadas em ordem:
    fields a, b        escolhe as colunas (@timestamp e @message sempre existem)
    filter <expr>      campo = "valor", != , > , < , campo like /texto/
                       ligados por and / or
    stats <f> by <c>   agrega: count(), count(c), avg(c), sum(c), min(c), max(c)
                       — é o "GROUP BY" do Insights
    sort <col> [desc]  ordena
    limit N            corta

É ASSÍNCRONA: devolve só um queryId. O resultado vem no get-query-results.

COBRANÇA: você paga pelo volume ESCANEADO, não pelo que casou. Por isso
estreite o período e filtre cedo — filtrar no fim custa igual.

Onde você pratica isto (6 atividades)

Cada uma é um pedido de trabalho real; você resolve digitando o comando, e o estado fica salvo pro exercício seguinte.

Sua primeira consulta (Insights)

Agora o Logs Insights, que tem linguagem de consulta. Inicie uma consulta no /climb/app pedindo os campos @timestamp e @message, com limit 10. <small>(--start-time e --end-time são obrigatórios; use 0 e 9999999999 pra pegar tudo)</small>

Só os erros, por favor

Num plantão você não quer ver tudo — quer o que quebrou. Rode uma consulta no /climb/app filtrando level = "ERROR".

Quantos de cada tipo?

A pergunta que o log solto não responde: quantas linhas de cada nível? Use stats count() by level — é o "GROUP BY" do Insights.

Qual rota está mais lenta?

A consulta que ganha o plantão: a latência média por rota, da pior pra melhor. Combine stats avg(latencia) by rota com sort decrescente. <small>(descubra qual endpoint está segurando a loja)</small>

Corte uma consulta cara

Inicie uma consulta no /climb/app e interrompa ela. <small>(no Insights você paga pelo volume escaneado — parar cedo economiza de verdade)</small>

A consulta de um ano inteiro

Alguém disparou uma consulta no /api/erros pegando o histórico todo, e ela vai escanear (e cobrar) gigabytes. Inicie essa consulta e interrompa antes que termine.

Outros comandos com página própria

Ler a sintaxe explica. Digitar fixa. No CLImb você roda aws logs start-query num terminal AWS simulado e vê a saída — inclusive a mensagem de erro, quando erra a flag.

Praticar no terminal
Todas as lições · Praticar no terminal · Sobre