Eu gostaria de perguntar sobre o fluentd.
Minhas versões fluentes estão abaixo.
td-agent-2.1.5-0.x86_64
fluentd 0.10.61
Agora tenho um plug-in de entrada de cauda usando o formato de várias linhas que analisa várias linhas do log e define como um único registro conforme abaixo.
2016-07-31T14:48:06+09:00 arm {"val1":"15:49:18.602384","val2":"5009","val3":"4896","val4":"3905","val5":"1811","val6":"10287","val7":"10271","val8":"1509","val9":"11064","val10":"10832","val11":"10673","val12":"9553","val13":"10660","val14":"9542","val15":"15:49:18.602509","val16":"3759","val17":"4758","val18":"2930","val19":"1261","val20":"7761","val21":"7767","val22":"1023","val23":"7905","val24":"7711","val25":"7918","val26":"7292","val27":"7940","val28":"6907"}
Vou precisar dividir todos os campos de 1 registro para 28 registros para o elasticsearch reconhecer como documentos diferentes.
Curti ,
val1
val2
val3
...
val28
Existe alguma maneira de conseguir isso na configuração do fluentd? Talvez incorporar código ruby?
Atenciosamente, Yu Watanabe
Você precisa fornecer um Regex para analisar os campos separadamente e definir a parte json da mensagem de log como o campo
message
e o carimbo de data/hora deve ser armazenado no campotime
ou@timestamp
deve funcionar conforme o esperado, onde o ElasticSearch interpreta a carga json automaticamente.