메뉴 건너뛰기

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

리프레쉬 주기

쓰리프트

비동기 복제

쿼리보다는 필터 사용하기

벌크 인덱싱하기

번호 제목 날짜 조회 수
101 centsOS vsftpd설치하기 2013.12.17 1602
100 Journal Storage Directory /data/hadoop/journal/data/mycluster not formatted 오류시 조치사항 2016.07.29 1603
99 우분투 16.04 LTS에 apache2와 tomcat7 연동하여 설치하기 2014.05.09 1605
98 oozie의 meta정보를 mysql에서 관리하기 2014.05.26 1605
97 flume 1.5.2 설치및 테스트(source : file, sink : hdfs) in HA 2015.05.21 1609
96 upsert구현방법(년-월-일 파티션을 기준으로) 및 테스트 script file 2018.07.03 1616
95 jsoup 사용 예제 2014.06.06 1630
94 Jena 2.3를 Hadoop 2.7.2의 NFS로 mount하고 fuseki를 이용하여 start할때 오류 메세지 2016.12.02 1644
93 [CDP7.1.7]BDR작업후 오류로 Diagnostic Data를 수집하는 동안 "No content to map due to end-of-input at [Source: (String)""; line: 1, column: 0]" 오류 발생시 조치 2024.02.20 1670
92 centos 5.X에 hadoop 2.0.5 alpha 설치 2013.12.16 1674
91 Ubuntu 16.04 LTS에서 sendmail설치및 설정(수신,발신 가능)및 메일서버 만들기 2017.05.23 1711
90 Cloudera Manager설치및 Uninstall 방법(순서) 2018.05.28 1730
89 physical memory used되면서 mapper가 kill되는 경우 오류 발생시 조치 2018.09.20 1759
88 index생성, 삭제, 활용 2014.04.25 1766
87 access=WRITE, inode="staging":ubuntu:supergroup:rwxr-xr-x 오류 2014.07.05 1793
86 hive에서 생성된 external table에서 hbase의 table에 값 insert하기 2014.04.11 1820
85 hue db에서 사용자가 가지는 정보 확인 2020.02.10 1830
84 [ftgo_application]Unable to infer base url오류 발생시 조치방법 2023.02.20 1830
83 갑자기 DataNode가 java.io.IOException: Premature EOF from inputStream를 반복적으로 발생시키다가 java.lang.OutOfMemoryError: Java heap space를 내면서 죽는 경우 조치방법 2017.07.19 1836
82 impald에서 idle_query_timeout 와 idle_session_timeout 구분 2021.05.20 1870
위로