728x90
반응형
기존에 사용 중이던 ElasticSearch 서버가 근래에 자주 다운됐었다.
그래서 새로운 방식으로 로그를 수집해보려고 했었다.
Hadoop에 JSON으로 저장해서 Zeppelin에서 보려고 하니 불편 사항이 많았다.
다른 것들이 더 있을까 하고 찾아봤지만 ElasticSearch와 Kibana 만큼 로그를 검색하고 조회하는 도구가 없었다.
결국 두 개를 사용하기로 하고 Logstash 만 다른 걸 이용해보려고 하다가 Apache Flume이 생각나서 적용해보려고 했다.
구조는 Source -> Channel -> Sink 로 돼있고 설정이 어려워 보이지 않아 시도해보았다.
하지만 java.lang.NoClassDefFoundError: org/elasticsearch/common/io/BytesStream
에러가 발생하면서 종료됐다.
찾아보니 ElasticSearch jar 파일을 별도로 추가해야한다고 해서 추가했는데도 되지 않았다.
무엇인가 이상하여 찾아보니 Flume에서 제공하는 라이브러리에서
org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder
를 임포트하여 사용하는데
해당 패키지는 ElasticSearch 6.x 이상에서는 없어진 패키지였다.
Flume을 굳이 사용하고자 한다면 sink 를 직접 만들어서 사용해야 해서 Logstash로 선회했다.
(물론 fluentd를 사용해도 되지만 다른 곳에서 사용하여 다른 것을 써보고 싶었다)
참고 문헌
반응형
'Log' 카테고리의 다른 글
[Log] Logstash k8s로 이전하기 (0) | 2023.01.26 |
---|---|
[Log] Logstash 메모리 문제 (0) | 2022.08.25 |
[Log] Grafana 이전 하기 (0) | 2021.01.28 |
[Log] Kubernetes에 ElasticSearch 올리기 (0) | 2021.01.14 |
[Log] Logstash 메모리 누수? (0) | 2020.12.03 |