我正在尝试使用https://github.com/jlecren/logserver设置logstash转发到redis / logstash / elasticsearch(注意 - 这是我第一次尝试使用这些,所以我可能有些错误)。
但是,我想发送到弹性搜索的日志不是标准日志格式(它是自定义应用程序)。它们已经是JSON格式,所以我只是想把它们转发到redis。
我正在使用logstash和此配置将JSON转发到redis:
input {
file {
path => "/tmp/*.json"
tags => "restserver"
codec => "json"
}
}
output {
stdout { codec => rubydebug }
redis { host => "192.168.33.101" data_type => "list" key => "logstash" }
}
我正在尝试了解如何格式化JSON输出,以便我们可以在ES之后使用kibana进行搜索。但是,我想我不知道如何创建ES模板,以及如何正确格式化字段。
作为第一关,我开始使用这种JSON格式(注意 - 这只是第一次传递,需要添加更多字段):
{
"@timestamp": "2014-02-06T15:23:10-0000",
"tags": {
"serial": "XX2013111111",
"command": "Thumbnail"
},
"ip": "10.6.1.21",
"source": "XX2013111111",
"fields": {
"type": "Thumbnail",
"controller": "Image",
"thumbnail": {
"datetaken": [
"2014-02-06T13:22:35"
],
"name": [
"DCIM\\IMG_008736.JPG"
]
}
},
"message": "....."
}
但是,我对标签,字段以及如何在ES中创建模板感到困惑(我想我需要这样做,对吧?)。
是否有关于新日志格式以及如何集成到logstash / kibana / ES的指南?