Node.js NodeJS Bunyan Logstash日志索引
我正在使用Bunyan和bunyas lumberjack将我的日志发送到日志存储库,并在弹性搜索中为它们编制索引。我所面临的问题是,当我过滤日志时:我使用一个用于日志存储的基本过滤器:Node.js NodeJS Bunyan Logstash日志索引,node.js,logstash,logstash-forwarder,bunyan,Node.js,Logstash,Logstash Forwarder,Bunyan,我正在使用Bunyan和bunyas lumberjack将我的日志发送到日志存储库,并在弹性搜索中为它们编制索引。我所面临的问题是,当我过滤日志时:我使用一个用于日志存储的基本过滤器: filter { if [type == "json"]{ json { source => "message" } } } 这会将来自bunyan的JSON放入source.message字段,并在弹性搜索中对其进行索引。我如何将
filter {
if [type == "json"]{
json {
source => "message"
}
}
}
这会将来自bunyan的JSON放入source.message字段,并在弹性搜索中对其进行索引。我如何将每个字段从班扬索引到一个特定的弹性搜索字段中,以便在其上搜索或在Kibana中使用它
我附上我现在所得到的和我想得到的作为例子。
目前:
{
"_index": "logstash-2015.10.26",
"_type": "json",
"_id": "AVCjvDHWHiX5VLMgQZIC",
"_score": null,
"_source": {
"message": "{\"name\":\"myLog\",\"hostname\":\"atnm-4.local\",\"pid\":6210,\"level\":\"error\",\"message\":\"This should work!\",\"@timestamp\":\"2015-10-26T10:40:29.503Z\",\"tags\":[\"bunyan\"],\"source\":\"atnm-4.local/node\"}",
"@version": "1",
"@timestamp": "2015-10-26T10:40:31.184Z",
"type": "json",
"host": "atnm-4.local",
"bunyanLevel": "50"
},
通缉:
{
"_index": "logstash-2015.10.26",
"_type": "json",
"_id": "AVCjvDHWHiX5VLMgQZIC",
"_score": null,
"_source": {
"message": {
"name": example,
"hostname": example,
"etc": example
logstash中的每个输入可以有不同的编解码器和类型。在您的例子中,如果您想要索引bunyan和syslog,您将有两个具有两种不同类型的输入。系统日志将有编解码器“平原”,班扬将有“json”。你不需要任何过滤器为班扬消息。json将被解析,字段将自动显示。您必须有一个过滤器来解析系统日志输入。似乎通过在lumberjack中将编解码器添加为json,一切都会正常工作:编解码器=>json,但我不认为我仍然可以索引系统日志,对吗?