LogStash的配置文件为logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
file {
path => ["d:/2/log.txt"]
start_position => "beginning"
}
}
output {
http {
http_method => "post"
url => "http://localhost:8765/scan/file"
format => "json_batch"
mapping => {
"message" => "%{message}"
}
}
stdout {
codec => rubydebug {
}
}
}
output{
rabbitmq {
id => "my_plugin_id"
exchange => "response-scan-exchange"
key =>"response-scan-file"
exchange_type =>"direct"
host => "localhost"
port => 5672
user =>"abc"
password=>"123"
message_properties => {
"content_type" => "application/json"
"priority" => 1
}
}
}
启动命令为:
logstash -f 路径/logstash.conf
http服务代码:
@PostMapping("/scan/file")
public void logScan(@RequestBody String messages){
JSONArray ms = JSON.parseArray(messages);
for (Object o:ms
) {
rabbitTemplate.convertAndSend(responseExchange, responseRouteKey, ((JSONObject)o).get("message"));
}
}
接到logstash发过来json数组后,可以自行处理,我是发到了mq里
直接发送到mq中的截图: