在Logstash中匹配完整输入的模式是什么?

在Logstash中匹配完整输入的模式是什么?,logstash,logstash-grok,elastic-stack,Logstash,Logstash Grok,Elastic Stack,我使用麋鹿堆栈和filebeat filebeat.conf filebeat: prospectors: - paths: - /home/ubuntu/logs_* input_type: log output: logstash: hosts: [${LOGSTASH_PORT_5044_TCP_ADDR}] index: filebeat console: pretty: true 这是从文件logs\

我使用麋鹿堆栈和filebeat

filebeat.conf

filebeat:
  prospectors:
    -
      paths:
        - /home/ubuntu/logs_*
      input_type: log
output:
  logstash:
    hosts: [${LOGSTASH_PORT_5044_TCP_ADDR}]
    index: filebeat
  console:
    pretty: true
这是从文件logs\u测试传递日志

日志样本

{"name":"test","statusCode":0,"deployment":"production","hostname":"ip-random-address","level":30,"jobName":"testJob","date":"2016-07-18T03:15:02.075Z","jobType":"script","msg":"","time":"2016-07-18T03:15:02.076Z","v":0}
当字段statusCode为1时,我想对外部URL进行HTTP调用

整个日志对象正在传递给logstash

我的日志存储配置

input {
    beats { 
        port => 5044
        codec => "json"
    }
}



output {
  if ([statusCode] and [statusCode] == 1) {
        http {
            format=>"message"
            http_method=>"post"
            url=>"http://www.example.com"
            message=>'{"text": "%{some_pattern_matcher}"}'
             }
      }
}
[问题]要将所有字段发送到HTTP请求,“某些模式匹配器”应该是什么

PS:%{mesage}不起作用

input {
    beats { 
        port => 5044
        codec => "json"
    }
}
filter{
     grok{
          match => { "message" => "%{GREEDYDATA:data}" }
     }
}
output {
  if ([statusCode] and [statusCode] == 1) {
        http {
            format=>"message"
            http_method=>"post"
            url=>"http://www.example.com"
            message=> %{data}
           }
      }
}

我还没有试过。所以试试这个,让我知道这个解决方案是否有效。如果没有,请张贴您收到的错误

你试过%{source}吗?当然,让我试试。首先尝试%{source}。我认为它应该是“%{data}”。如果这不起作用,那么我们可以考虑另一种方法。我实际上尝试了“{data}”,因为我有其他字段以这种方式工作“{fieldName}”。但是,“{data}”不起作用。