私はfilebeatでELKスタックを使用しています。Logstashで完全な入力と一致するパターンは何ですか?
これは、ファイルからログを渡している
filebeat:
prospectors:
-
paths:
- /home/ubuntu/logs_*
input_type: log
output:
logstash:
hosts: [${LOGSTASH_PORT_5044_TCP_ADDR}]
index: filebeat
console:
pretty: true
filebeat.conf 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}
私は、外部へのHTTP呼び出しを作りたいですフィールドstatusCodeが1の場合のURL
ログオブジェクト全体が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}を試しましたか? –