O literal do formato UNIX
pode manipular segundos fracionários, portanto, ele poderá analisar um campo $msec
.
Estou tentando lidar com um log de acesso do nginx no logstash.
Para obter precisão em milissegundos para meus timestamps, estou usando a variável $msec
. Isso significa que os timestamps terão o formato 1430832725.814
, em que a parte inteira é um timestamp do UNIX e a parte da fração é em milissegundos. Infelizmente, não consigo encontrar um formato de data logstash que possa analisar os timestamps do UNIX.
Existe outra maneira de obter o nginx para registrar com precisão de milissegundos? Ou uma maneira de obter o filtro de data logstash para analisar os timestamps do UNIX?
em primeiro lugar, usando o filtro grok para mapear o campo $ msec para um campo de saída
grok {
match => { "message" =>\[%{GREEDYDATA:unix_timestamp}\]
}
usando outro filtro de data para convertê-lo para o campo @timestamp
date {
match => ["unix_timestamp", "UNIX"]
}
Se você deseja mapear para campos diferentes de @timestamp, consulte Referência do Logstash