Analise, extraia e padronize timestamps de log usando plugins de processamento de tempo nativos ou de extensão.
Exemplo de efeito do plugin
Comparação de dados de log brutos no SLS com e sem o plugin de análise de tempo (nativo).
|
Log bruto |
Sem plugin |
Plugin de análise de tempo (nativo) |
|
Timestamp com precisão de segundos:
|
Content: "{"level":"INFO","timestamp":"2025-09-29T09:56:01+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}" |
|
|
Timestamp com precisão de milissegundos:
|
Content: "{"time":"2026-01-05T11:58:40,647Z", "filename":"out_data.py","levelname": "INFO", "threadName":"MainThread"}" |
|
|
Timestamp com precisão de nanossegundos:
|
Content: "{"time": "2026-01-05T11:40:22,298837465Z07:00","filename":"out_data.py","levelname":"INFO","threadName": "MainThread"}" |
|
Plugins de processamento de tempo
O SLS oferece os seguintes plugins de processamento de tempo.
|
Nome |
Tipo |
Descrição |
|
análise de tempo |
nativo |
Analisa e padroniza o campo de tempo nos logs. |
|
extrair tempo do log |
extensão |
Analisa o campo de tempo bruto e o define como o timestamp do log. |
Ponto de entrada
Para usar um plugin do Logtail no processamento de logs, adicione-o ao criar ou modificar uma configuração do Logtail. Para mais informações, consulte Visão geral.
Diferenças entre plugins nativos e de extensão
Plugins nativos: implementados em C++ para maior desempenho.
Plugins de extensão: implementados em Go para um ecossistema mais rico e flexível. Use plugins de extensão quando os plugins nativos não conseguirem lidar com o formato do seu log.
-
Limites de desempenho dos plugins de extensão
Plugins de extensão consomem mais recursos (principalmente CPU). Ajuste os parâmetros do LoongCollector em gerenciamento de configuração se necessário.
Se os dados brutos excederem 5 MB/s, evite combinações complexas de plugins. Use um plugin de extensão simples e transfira o processamento adicional para a Transformação de Dados.
-
Limites de coleta de logs
Plugins de extensão processam logs de texto no modo de linha. Isso significa que metadados no nível de arquivo, como
__tag__:__path__e__topic__, são armazenados em cada entrada de log.-
Adicionar um plugin de extensão afeta recursos relacionados a tags:
A consulta de contexto e o LiveTail ficam indisponíveis, a menos que você adicione uma configuração de agregadores.
O campo
__topic__é renomeado para__log_topic__. Ao adicionar a configuração de agregadores, o log contém tanto o campo__topic__quanto o__log_topic__. Caso não precise do campo__log_topic__, use o plugin de descarte de campo para excluí-lo.Campos como
__tag__:__path__perdem seu índice de campo nativo. Crie um índice para eles.
Plugin de análise de tempo (nativo)
Analisa o campo de tempo em um log e atribui o resultado ao campo __time__.
Configuração
|
Parâmetro |
Descrição |
|
Original Field |
Campo que contém o conteúdo do log a ser analisado. Padrão: content. Nota
Ao usar o plugin de análise regex, defina o campo source como time e inclua time como um campo extraído na configuração regex. |
|
Time Format |
Formato do timestamp no log. Por exemplo, se o timestamp for 10/Sep/2023:12:36:49, o formato de tempo correspondente será %d/%b/%Y:%H:%M:%S. |
|
Time Zone |
Fuso horário do timestamp no log. Se deixado em branco, o plugin usa o fuso horário da máquina onde o Logtail está em execução. |
Por padrão, o Simple Log Service processa timestamps com precisão de segundos. Basta configurar o formato de tempo até os segundos, podendo omitir unidades menores como milissegundos ou microssegundos. Para manter a precisão de milissegundos, microssegundos ou nanossegundos, ative a precisão de nanossegundos conforme mostrado abaixo. Coleta de logs com suporte a timestamps em nanossegundos.
|
Log bruto |
Configuração do plugin de análise de tempo |
Formato de tempo |
|
|
%Y-%m-%dT%H:%M:%S,%f |
Para ativar a precisão de nanossegundos:
Na página de configuração do Logtail, acesse , ative Advanced Parameters e insira:
{
"EnableTimestampNanosecond": true
}
Ative também EnableTimestampNanosecond ao usar plugins de extensão para analisar timestamps com precisão de nanossegundos ou milissegundos.
Plugin extrator de tempo de log
Use processor_gotime ou processor_strptime para analisar o campo de tempo em logs brutos.
Para preservar a precisão sub-segundo, consulte Coleta de logs com suporte a timestamps em nanossegundos.
Formato de tempo Go (processor_gotime)
Formato de tempo Strptime (processor_strptime)
Formatos de tempo de log
Para formatos de tempo do processor_gotime, consulte https://pkg.go.dev/time#pkg-constants. O plugin nativo processor_parse_timestamp_native e o plugin de extensão processor_strptime suportam os formatos listados abaixo.
Em um servidor Linux, o Logtail suporta todos os formatos de tempo fornecidos pela função strftime.
|
Formato |
Descrição |
Exemplo |
|
%a |
Nome abreviado do dia da semana. |
Fri |
|
%A |
Nome completo do dia da semana. |
Friday |
|
%b |
Nome abreviado do mês. |
Jan |
|
%B |
Nome completo do mês. |
January |
|
%d |
Dia do mês como número decimal preenchido com zero (01-31). |
07, 31 |
|
%f |
Segundos fracionários, como milissegundos, microssegundos ou nanossegundos. |
123 |
|
%h |
Nome abreviado do mês. Igual a %b. |
Jan |
|
%H |
Hora (relógio de 24 horas) como número decimal preenchido com zero (00-23). |
22 |
|
%I |
Hora (relógio de 12 horas) como número decimal preenchido com zero (01-12). |
11 |
|
%m |
Mês como número decimal preenchido com zero (01-12). |
08 |
|
%M |
Minuto como número decimal preenchido com zero (00-59). |
59 |
|
%n |
Uma quebra de linha. |
quebra de linha |
|
%p |
AM ou PM. |
AM, PM |
|
%r |
Tempo no formato de 12 horas. Igual a %I:%M:%S %p. |
11:59:59 AM |
|
%R |
Hora e minuto no formato de 24 horas. Igual a %H:%M. |
23:59 |
|
%S |
Segundo como número decimal preenchido com zero (00-59). |
59 |
|
%t |
Um caractere de tabulação. |
Nenhum |
|
%y |
Ano sem século como número decimal preenchido com zero (00-99). |
04, 98 |
|
%Y |
Ano com século como número decimal. |
2004, 1998 |
|
%C |
Século como número decimal (00-99). |
16 |
|
%e |
Dia do mês como número decimal preenchido com espaço (1-31). |
7, 31 |
|
%j |
Dia do ano como número decimal preenchido com zero (001-366). |
365 |
|
%u |
Dia da semana como número decimal, onde segunda-feira é 1 (1-7). |
2 |
|
%U |
Número da semana no ano, com domingo como primeiro dia da semana (00-53). |
23 |
|
%V |
Número da semana ISO 8601 no ano, com segunda-feira como primeiro dia da semana (01-53). A semana 1 é a primeira semana do ano que contém pelo menos quatro dias. |
24 |
|
%w |
Dia da semana como número decimal, onde domingo é 0 (0-6). |
5 |
|
%W |
Número da semana no ano, com segunda-feira como primeiro dia da semana (00-53). |
23 |
|
%c |
Representação de data e hora específica do local. |
Tue Nov 20 14:12:58 2020 |
|
%x |
Representação de data específica do local. |
Tue Nov 20 2020 |
|
%X |
Representação de hora específica do local. |
11:59:59 |
|
%s |
Timestamp Unix. |
1476187251 |
Exemplos
Padrões de tempo comuns e suas expressões correspondentes:
|
Exemplo |
Expressão |
Padrão |
|
2017-12-11 15:05:07 |
%Y-%m-%d %H:%M:%S |
Personalizado |
|
[2017-12-11 15:05:07.012] |
[%Y-%m-%d %H:%M:%S.%f] |
Personalizado |
|
2017-12-11 15:05:07.123 |
%Y-%m-%d %H:%M:%S.%f |
Personalizado |
|
02 Jan 06 15:04 MST |
%d %b %y %H:%M %Z |
RFC822 |
|
02 Jan 06 15:04 -0700 |
%d %b %y %H:%M %z |
RFC822Z |
|
Monday, 02-Jan-06 15:04:05 MST |
%A, %d-%b-%y %H:%M:%S %Z |
RFC850 |
|
Mon, 02 Jan 2006 15:04:05 MST |
%a, %d %b %Y %H:%M:%S %Z |
RFC1123 |
|
2006-01-02T15:04:05Z07:00 |
%Y-%m-%dT%H:%M:%S%z |
RFC3339 |
|
2006-01-02T15:04:05.999999999Z07:00 |
%Y-%m-%dT%H:%M:%S.%f%z |
RFC3339Nano |
|
1637843406 |
%s |
Personalizado |
|
1637843406123 |
%s |
Personalizado (o Simple Log Service trunca timestamps para precisão de segundos) |
Documentos relacionados
-
API de configuração de pipeline do Logtail:
-
Configuração de plugin via console:
Coletar logs de contêiner de um cluster usando CRDs do Kubernetes (saída padrão/arquivo)






