메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


http://www.bicdata.com/bbs/board.php?bo_table=news_article&wr_id=89

로그 파일에 대해 Elasticsearch 사용하기


--------------------------------------------------------------------------------------------

로그를 저장하기 위해 Elasticsearch를 사용하고자 한다면, 이 문서를 통해서 Elasticsearch를 구성하는 방식에 대한 도움을 얻을 수 있다.


다수의 장비에서 로그를 수집하여 Elasticsearch에 저장하고자 한다면, 아래에서 하나를 선택해볼 수 있다.

  • Graylog2 
    Graylog2를 중앙 서버에 설치하면, 
    Graylog2가 알아서 Elasticsearch에 로그를 저장해준다. 그러면 깔끔한 인터페이스를 사용해서 저장된 로그를 검색할 수 있다.

  • Logstash
    꽤 다양한 기능을 제공한다. 저장할 수 있는 로그의 종류(input)가 다양하며, 로그를 변환할 수 있는 방식(filter)도 많고, 변환된 로그를 저장할 수 있는 대상(output) 또한 다양하다. 무엇보다도 Elasticsearch에 직접 저장할 수 있는데, 이때
     RabbitMQ의  Elasticsearch river를 사용할 수 있다.

  • Apache Flume
    플럼(Flume)을 사용하면 로그를 데이터소스(data source)로부터 수집한 후, 데코레이터(decoratro)를 사용하여 변환한 다음, 다양한 싱크(sink)를 이용해서 로그를 저장할 수 있다. 그중에서도 elasticflume sink를 살펴보라.


  • rsyslog에 대한 omelasticsearch output 모듈
    어플리케이션 서버에서 rsyslog를 사용하여 로그를 Elasticsearch에 직접 저장하거나, 또는 중앙 서버에서 rsyslog를 사용하여 로그를 저장할 수도 있다. 또한 2가지 방식을 모두 활용할 수도 있다. 설정 방식에 대해서는 rsyslog 위키를 살펴보라.

  • 직접 구현
    예를 들어 로그를 Elasticsearch에 저장하도록 커스텀 스크립트를 직접 만들어볼 수도 있다.

위의 방법 중 어느 방식을 사용하느냐에 따라 최적화 방식 또한 달라진다. 하지만 어느 방식을 사용하느냐에 관계 없이, 아래의 가이드는 도움이 될 것이다.


메모리와 열린 파일 갯수

인덱스의 갯수

인덱스 삭제 및 최적화

샤드와 복제본

매핑. _source과 _all

리프레쉬 주기

쓰리프트

비동기 복제

쿼리보다는 필터 사용하기

벌크 인덱싱하기

번호 제목 날짜 조회 수
641 centsOS vsftpd설치하기 2013.12.17 1602
640 sqoop에서 oracle관련 작업할때 테이블명, 사용자명, DB명은 모두 대문자로 사용할것 2014.05.15 1599
639 FAILED: IllegalStateException Variable substitution depth too large: 40 오류발생시 조치사항 2014.08.19 1597
638 ExWordCount jar파일 file 2013.03.06 1563
637 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 2014.05.22 1560
636 마이바티스(MyBatis)쿼리로그 출력및 정렬하기 2015.12.01 1546
635 apt-get install mysql-server수행시 "404 Not Found" 오류발생시 조치방법 2014.09.10 1507
634 The disk drive for uuid= is not ready yet or not present 오류 해결방법 2014.04.21 1501
633 resouce manager에 dr.who가 아닌 다른 사용자로 로그인 하기 2018.06.28 1487
632 ubuntu 커널 업그레이드 방법 2018.09.02 1486
631 build.gradle을 pom.xml로 변환하는 방법 2016.08.18 1483
630 Mybatis foreach 문법정리(상황에 따른 사용법) 2015.11.10 1465
629 avro 사용하기(avsc 스키마 파일 컴파일 방법, consumer, producer샘플소스) 2016.07.08 1458
628 mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 2017.06.30 1437
627 solr vs elasticsearch 비교2 2014.09.29 1432
626 crypto관련 기생충 박멸 스크립트 2018.05.11 1421
625 lagom-linux용 build.sbt파일 내용 2017.10.12 1417
624 Oozie 설치, 환경설정 및 테스트 2014.04.08 1405
623 우분투 root 패스워드 설정하기 2013.03.04 1395
622 자주쓰는 유용한 프로그램 2018.03.16 1385
위로