Logstash 的配置,分别有A和B两台服务器,两台服务器的配置一样的
input {
#开启远程输入日志服务
tcp {
port => "4560"
mode => "server"
type => "log4j2"
proxy_protocol => true #开启后只能通过nginx代理连接,不能直接连接
}
}
filter {
#使用json格式日志,将日志转成json对象
json {
source => "message"
}
#将远程客户端的日志设置为插入时间,不设置默认为当前系统时间,可能会存在时间误差
date {
match => ["time", "yyyy-MM-dd HH:mm:ss.SSS"]
remove_field => ["time"]
}
}
output {
elasticsearch {
hosts => ["192.16.19.101:9200"]
index => "log4j2-%{+YYYY.MM.dd}"
}
}
nginx 配置
stream {
upstream logstash {
hash $remote_addr consistent;
server A:4560;
server B:4560;
}
server {
listen 5560;
proxy_pass logstash;
proxy_protocol on;
}
}
log4j2 的配置,参考下面连接,ip地址改为nginx的地址
https://blog.csdn.net/lnktoking/article/details/79563460