ELK + grafana 구축

개발 2019. 1. 8. 04:33

ELK + grafana 구축하기

  1. 구축 현황 

  2.  

  3. elasticsearch 설치 및 설정

    • 데이터 저장
    • 다운로드
    • 설치: tar.gz 압축해제
      $ tar xvfz elasticsearch-6.5.2.tar.gz
      
    • 설정: {ES 압축 해제한 폴더}/conf/elasticsearch.yml

      # JVM이 memory 영역을 관리할 수 있도록 설정 - /etc/security/limits.conf 에 사용자 설정 추가 필요
      bootstrap.memory_lock : true
      
      # 외부에서 접속 가능하도록 network 설정
      network_host: 0.0.0.0
      network.bind_host: 0.0.0.0 # 설정값이 없어서 key 등록 부터 해줘야 한다
      
    • 설정: {ES 압축 해제한 폴더}/conf/jvm.properties
      # ES 는 heap memory 를 32GB 정도로 잡아주는 것이 일반적이다
      -Xms32g
      -Xmx32g
      
    • 실행:
      ${ES 압축 해제한 폴더}/bin/elasticsearch
      
    • 동작 확인:
      $ curl http://localhost:9200
      
  4. logstash 설치 및 설정

    • 데이터 수집/필터링하여 저장소에 전송
    • 설정: {logstash 압축 해제한 폴더}/conf/logstash.conf # 새로 만들어줘야 한다
      input {
           beats {
                   codec => json     # input type 을 json 으로 해주면 값을 치환하지 않아도 된다
                   port => 5044      # default port 사용
           }
      }
      filter {
       date {                        # elasticsearch 에서 사용할 timestamp 로 치환해주는 것이 좋다
               match => [ "datetime" , "ISO8601" , "yyyy-MM-dd HH:mm:ss" ]
               target => "@timestamp"  #Replacing timestamp
       }
      }
      output {
           elasticsearch {
                   hosts => ["localhost:9200"]
                   index => "INDEX_NAME-%{+YYYY.MM.dd}"  # 데일리 형태로 index 를 만들면 삭제하기 용이하다
           }
      }
      
    • 실행:
      ${logstash 압축 해제한 폴더}/bin/logstash -f {logstash 압축 해제한 폴더}/conf/logstash.conf
      
  5. filebeat 설치 및 설정

    • 데이터를 logstash 로 전송한다
    • 설정: {filebeat 압축 해제한 폴더}/filebeat.yml

       filebeat.inputs:
       - type: log
      
         # Change to true to enable this input configuration.
         enabled: true
      
         # Paths that should be crawled and fetched. Glob based paths.
         paths:
           - /Users/mr.sense/Dev/application/logs/*.log
       output.elasticsearch:
         # Array of hosts to connect to.
         hosts: ["localhost:9200"]
      
    • 실행:
      ${filebeat 압축 해제한 폴더}/filebeat -f {filebeat 압축 해제한 폴더}/filebeat.yml
      
  6. kibana 설치 및 설정

  7. grafana 설치 및 설정

    • 다운로드 링크
    • 설치: tar.gz 압축해제
      $ tar -zxvf grafana-5.4.2.linux-amd64.tar.gz
      
    • 실행:
      ${grafana 압축 해제한 폴더}/bin/grafana-server

         elasticsearch 를 data source 로 설정:


'개발' 카테고리의 다른 글

자바스크립트의 비동기 처리  (0) 2019.01.27
성공적인 Git 브랜치 모델  (0) 2018.10.18
React 튜토리얼  (0) 2018.04.15
vi 사용하기  (0) 2018.02.08
React 의 특징  (0) 2017.12.20
Posted by 감각적신사
,