1
현재 ELK 스택이 도커 (https://github.com/deviantony/docker-elk)에서 실행 중이며 log4j SocketAppender를 사용하여 로그를 보내려는 독립형 Java 응용 프로그램이 있습니다. Kibana에서 로그를 볼 때 메시지가 잘못 인코딩 된 것 같습니다. 나는 ELK 스택에 대해 매우 익숙하며 여기에서 발견 한 많은 다른 솔루션을 시도했지만 아무 것도 시도하지 않는 것으로 보인다. 모든 도움을 미리 감사드립니다.log4j 및 ELK 스택으로 잘못 인코딩 된 로그 메시지
logstash.conf :
input {
log4j {
mode => "server"
host => "0.0.0.0"
port => 5000
type => "log4j"
}
}
## Add your filters/logstash plugins configuration here
filter {
# All lines that does not start with %{TIMESTAMP} or ' ' + %{TIMESTAMP} belong to the previous event
multiline {
pattern => "(([\s]+)20[0-9]{2}-)|20[0-9]{2}-"
negate => true
what => "previous"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
log4j.properties :
log4j.rootLogger=info,tcp
log4j.appender.tcp=org.apache.log4j.net.SocketAppender
log4j.appender.tcp.Port=5000
log4j.appender.tcp.RemoteHost=localhost
log4j.appender.tcp.ReconnectionDelay=10000
log4j.appender.tcp.Application=hello-world
log4j.appender.myappender.encoding=UTF-8