Todos os produtos
Search
Central de documentação

Simple Log Service:Instruções de agregação

Última atualização: Jul 03, 2026

As instruções de agregação executam análises estatísticas, ordenação e limitação de linhas nos resultados de consultas de log.

stats

A instrução stats executa análises estatísticas em logs, semelhante às funções de agregação SQL, como COUNT, SUM e AVG. Ela agrupa e agrega campos específicos nos dados de log.

Importante
  • Use esta instrução apenas para consulta e análise em um LogStore. Ela não se aplica a cenários como transformação de dados, consumo de regras da Structured Process Language (SPL), Ingest Processors ou configurações do Logtail.

  • Por padrão, a instrução stats retorna os primeiros 100 resultados de agregação. Para obter mais resultados, use a instrução limit.

Sintaxe

stats <output>=<aggOperator> by <group>,[<group>...]

Parâmetros

Parâmetro

Tipo

Obrigatório

Descrição

output

String

Sim

Define um alias para o campo de resultado estatístico.

aggOperator

SQLExp

Sim

Funções de agregação compatíveis:

  • count

  • count_if

  • min

  • max

  • sum

  • avg

  • skewness

  • kurtosis

  • approx_percentile

  • approx_distinct

  • bool_and

  • bool_or

  • every

  • arbitrary

  • array_agg

group

String

Não

Especifique a dimensão para agregação. Equivale ao campo GROUP BY em SQL.

Exemplos

  • Exemplo 1: Calcular o pv dos logs de acesso por ip.

    • Instrução SPL

      * | stats pv=count(*) by ip
    • Dados de entrada

      ip: 192.168.1.1
      latencyMs: 10
      
      ip: 192.168.1.1
      latencyMs: 20
      
      ip: 192.168.1.2
      latencyMs: 10
    • Dados de saída

      ip: 192.168.1.2
      pv: 1
      
      ip: 192.168.1.1
      pv: 2
  • Exemplo 2: Calcular a latência min/max para todos os endereços ip no accesslog.

    • Instrução SPL

      * 
      | extend latencyMs=cast(latencyMs as bigint)
      | stats minLatencyMs=min(latencyMs), maxLatencyMs=max(latencyMs) by ip
    • Dados de entrada

      ip: 192.168.1.1
      latencyMs: 10
      
      ip: 192.168.1.1
      latencyMs: 20
      
      ip: 192.168.1.2
      latencyMs: 10
    • Dados de saída

      ip: 192.168.1.2
      minLatencyMs: 10
      maxLatencyMs: 20
      
      ip: 192.168.1.1
      minLatencyMs: 10
      maxLatencyMs: 10
  • Exemplo 3: Calcular o total de pv em um log de acesso.

    • Instrução SPL

      * | stats pv=count(*)
    • Dados de entrada

      ip: 192.168.1.1
      latencyMs: 10
      
      ip: 192.168.1.1
      latencyMs: 20
      
      ip: 192.168.1.2
      latencyMs: 10
    • Dados de saída

      pv: 3

sort

A instrução sort ordena os resultados da consulta com base nos valores dos campos ou resultados estatísticos, em ordem crescente (asc) ou decrescente (desc).

Importante

Use esta instrução apenas para consulta e análise em um LogStore. Ela não se aplica a cenários como transformação de dados, consumo de regras SPL, Ingest Processors ou configurações do Logtail.

Sintaxe

sort <field> [asc/desc] ,(<field> [asc/desc])

Parâmetros

Parâmetro

Tipo

Obrigatório

Descrição

field

String

Sim

Especifique o campo de ordenação. Tipos de campo compatíveis:

  • Campos originais do log, como status e request_time.

  • Campos estatísticos, como count(*) e avg(response_time).

  • Campos de tempo, como @timestamp.

asc/desc

String

Não

  • asc: Ordena em ordem crescente (padrão).

  • desc: Ordena em ordem decrescente.

Exemplo

Ordenar o accesslog por latencyMs.

  • Instrução SPL

    * 
    | extend latencyMs=cast(latencyMs as bigint) 
    | sort latencyMs desc
  • Dados de entrada

    ip: 192.168.1.1
    latencyMs: 10
    
    ip: 192.168.1.1
    latencyMs: 20
    
    ip: 192.168.1.2
    latencyMs: 15
  • Dados de saída

    ip: 192.168.1.1
    latencyMs: 20
    
    ip: 192.168.1.2
    latencyMs: 15
    
    ip: 192.168.1.1
    latencyMs: 10

limit

A instrução limit restringe o número de linhas de log retornadas nos resultados da consulta e ajuda a evitar problemas de desempenho causados por conjuntos de resultados muito grandes.

Importante
  • Use esta instrução apenas para consulta e análise em um LogStore. Ela não se aplica a cenários como transformação de dados, consumo de regras SPL, Ingest Processors ou configurações do Logtail.

  • Sem a instrução sort para definir uma ordenação, a saída da instrução limit será apresentada em ordem aleatória, pois a ordem natural dos logs não é garantida durante o armazenamento.

Sintaxe

limit (<offset>,) <size>

Parâmetros

Parâmetro

Tipo

Obrigatório

Descrição

offset

Integer

Não

Ignora as primeiras offset linhas.

size

Integer

Sim

O limite de linhas.

Exemplo

Ordenar um log de acesso pelo campo latencyMs e recuperar a primeira linha.

  • Instrução SPL

    * 
    | extend latencyMs=cast(latencyMs as bigint) 
    | sort latencyMs
    | limit 1
  • Dados de entrada

    ip: 192.168.1.1
    latencyMs: 10
    
    ip: 192.168.1.1
    latencyMs: 20
    
    ip: 192.168.1.2
    latencyMs: 15
  • Dados de saída

    ip: 192.168.1.1
    latencyMs: 20