在Logstash中匹配完整输入的模式是什么?
我使用麋鹿堆栈和filebeat filebeat.conf在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:
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}”不起作用。