【发布时间】:2016-07-18 07:04:46
【问题描述】:
我正在使用带有 filebeat 的 ELK 堆栈。
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_test
传递日志示例日志
{"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。
我的 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}"}'
}
}
}
[问题] "some_pattern_matcher" 应该是什么来将所有字段发送到 HTTP 请求。
PS:%{mesage} 不起作用。
【问题讨论】:
-
你试过%{source}吗?
标签: logstash logstash-grok elastic-stack