参考资料(官网):https://www.elastic.co/guide/en/logstash/6.0/plugins-inputs-tcp.html
通过tcp的发送数据到logstash需要设置好ip+port就好,用你熟悉的方式发送数据即可。
log4j2 tcp 方式 发送json数据到logstash
log4j2.xml的配置参考
<Configuration>
<Appenders>
<Socket name="Socket" host="localhost" port="12345">
<JsonLayout compact="true" eventEol="true"
</Socket>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Socket"/>
</Root>
</Loggers>
</Configuration>
logstash的配置参考
input {
tcp {
host => "192.168.0.153"
port => 4567
#codec => plain { charset => "GB2312" }
codec => json
}
}
filter {
json {
source => "message"
add_field => ["type", "%{dtype}"]
remove_field => [ "server", "server.fqdn", "timestamp" ]
}
}
output {
if "_jsonparsefailure" not in [tags] {
stdout { codec => rubydebug }
elasticsearch {
hosts => "192.168.2.181:9200"