将JSON从log4js发送到logstash和字段
我正在使用来记录我的应用程序,我想将日志发送到logstash 以下是log4js的defalt appender: 下面是日志存储配置文件:将JSON从log4js发送到logstash和字段,json,logging,logstash,log4js-node,Json,Logging,Logstash,Log4js Node,我正在使用来记录我的应用程序,我想将日志发送到logstash 以下是log4js的defalt appender: 下面是日志存储配置文件: input { udp { port => 5000 type => "json" } } filter { date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { stdout {} } 发送日志工
input {
udp {
port => 5000
type => "json"
}
}
filter {
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
stdout {}
}
发送日志工作正常,但我正在发送JSON日志,在logstash中,我看到JSON的每个字符都有一个字段
2016-07-01T10:29:36.161Z 127.0.0.1
{“@version”:“1”,“时间戳”:“2016-07-01T10:29:36.160Z”,“消息”:“我的”
消息…,“字段”:{“0”:“{”,“1”:“\n”,“2”:”,“3”:”,“4”:“\”
我不熟悉logstash,但我喜欢将所有字段分组为一个大字符串。我如何才能做到这一点?为了让您的输入知道它是json,您需要在其中添加一个编解码器:
input {
udp {
port => 5000
type => "json"
codec => "json"
}
}
问候,
Artur您可能需要在udp中使用codec=>“json”来告诉它传入的日志是json日志。默认为plain@pandaadb好的,谢谢,如果你能添加它作为答案,我会检查它是否被接受,否则我会删除这个问题
input {
udp {
port => 5000
type => "json"
codec => "json"
}
}