Logstash多行输入在本地工作,但不在EC2实例上工作

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

我曾尝试使用json、json_行甚至多行输入插件解析它,但都没有用。多行在我的本地机器上运行良好,但在我的s3和ec2实例上似乎不起作用

我将如何编写grok过滤器来解析它

这就是我的JSON文件的样子

{  
       "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标记,文档中都应该有一个单独的字段