Logstash多行输入在本地工作,但不在EC2实例上工作
我曾尝试使用json、json_行甚至多行输入插件解析它,但都没有用。多行在我的本地机器上运行良好,但在我的s3和ec2实例上似乎不起作用 我将如何编写grok过滤器来解析它 这就是我的JSON文件的样子Logstash多行输入在本地工作,但不在EC2实例上工作,logstash,logstash-grok,logstash-configuration,Logstash,Logstash Grok,Logstash Configuration,我曾尝试使用json、json_行甚至多行输入插件解析它,但都没有用。多行在我的本地机器上运行良好,但在我的s3和ec2实例上似乎不起作用 我将如何编写grok过滤器来解析它 这就是我的JSON文件的样子 { "sourceId":"94:54:93:3B:81:6F1", "machineId":"c1VR21A0GoCBgU6EMJ78d3CL", "columnsCSV":"timestamp,state,0001,0002,0003,0004
{
"sourceId":"94:54:93:3B:81:6F1",
"machineId":"c1VR21A0GoCBgU6EMJ78d3CL",
"columnsCSV":"timestamp,state,0001,0002,0003,0004",
"tenantId":"iugcp",
"valuesCSV":"1557920277890,1,98.66,0.07,0.1,0.17 ",
"timestamp":"2019-05-15T11:37:57.890Z"
}
这是我的配置-
input {
file{
codec => multiline
{
pattern => '^\{'
negate => true
what => previous
}
path => "/home/*myusername*/Desktop/data/*.json"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
mutate
{
replace => [ "message", "%{message}}" ]
gsub => [ 'message','\n','']
}
if [message] =~ /^{.*}$/
{
json { source => message }
}
}
//输出标签是正确的,没有包括在这里
我得到的结果只是“message”字段中的json文件。
我想要的是,对于每个json标记,文档中都应该有一个单独的字段