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