Como posso analisar um campo msg nginx no logstash?

1

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?

    
por leedm777 05.05.2015 / 15:42

2 respostas

0

O literal do formato UNIX pode manipular segundos fracionários, portanto, ele poderá analisar um campo $msec .

    
por 05.05.2015 / 20:16
0

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

    
por 23.05.2016 / 11:11