====== Logstash ====== * [[http://logstash.net/|Logstash]] * 파일등으로 남은 로그를 읽어서 파싱하고 정제하여 중앙 저장소에 저장하는 역할을 한다. * [[logging:kibana|Kibana]] 등의 UI 툴과 함께 사용할 수 있다. ===== logback 연동 ===== * [[java:logback|Logback]] * [[https://github.com/logstash/logstash-logback-encoder#async-appenders|logstash/logstash-logback-encoder: Logback JSON encoder and appenders]] 에서 JSON encoder와 AsyncAppender 를 제공해준다. * JSON Encoder 사용시에 key value 를 로그 남길때 남겨주면 json 으로 남는다. * [[https://www.innoq.com/en/blog/structured-logging/|logstash]] * [[https://github.com/logstash/logstash-logback-encoder/blob/master/src/main/java/net/logstash/logback/argument/StructuredArguments.java|StructuredArguments]]의 ''kv'', ''keyValue'' 메소드를 사용한다. import static net.logstash.logback.argument.StructuredArguments.kv; log.info("정보 {}, {}, {}", kv("key1", value1), kv("key2", value2), kv("key3", value3)); ===== 참조 ===== * [[https://logz.io/blog/docker-logging/|Managing Docker Logs with the ELK Stack | Logz.io]]