CentOS 7.9 + ELK Stack 설치 (작성 중 ~)

2021. 3. 27. 14:55·Linux

- OS : CentOS Linux release 7.9.2009 (Core)

- Kernel : 3.10.0-1160.21.1.el7.x86_64

- Java : 1.8.0_282

- ELK Stack : elasticsearch 7.12.x, logstash 7.12.x, kibana 7.12.x, filebeat 7.12.x

 

1. OS와 설치 버전 호환성 체크

  • https://www.elastic.co/kr/support/matrix 접속하여 OS별 설치 가능 버전 확인
  • 현 시점 기준 최신 버전인 7.12.x 버전으로 진행

 

2. JAVA 설치 확인

  • Elasticsearch 설치 전 JAVA 가 설치 되어 있는지 확인
  • # java -version

  • 참고 : CentOS 7.9에 Java 설치하기 (comengx.tistory.com/37)

 

ELK Stack 구성은 홈페이지를 참고하여 root 계정으로 설치 진행

  • Elasticsearch : https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
  • Logstash : https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
  • Kibana : https://www.elastic.co/guide/en/kibana/current/rpm.html
  • Filebeat : https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation-configuration.html

 

3. 공통 설정 

  • elasticsearch, logstash, kibana 구성 시 모두 사용 (한번만 설정하면 됨)
    • GPG 키 가져오기
      # rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    • elasticsearch.repo 생성
      # cd /etc/yum.repos.d/
      # vi elasticsearch.repo
        아래 내용을 등록 후 저장
        ---------------------------------------------------------------
        [elasticsearch]
        name=Elasticsearch repository for 7.x packages
        baseurl=https://artifacts.elastic.co/packages/7.x/yum
        gpgcheck=1
        gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
        enabled=0
        autorefresh=1
        type=rpm-md
        ---------------------------------------------------------------

4. Elasticsearch 설치

  • elasticsearch 설치
    #
    yum install -y --enablerepo=elasticsearch elasticsearch
  • 환경 설정
    • 설정파일 : /etc/elasticsearch/elasticsearch.yml
    • elasticsearch 환경 설정
      • 클러스터 이름, Data/Log 파일 위치, 네트워크 바인딩 설정값 변경
        # vi /etc/elasticsearch/elasticsearch.yml
        --------------------------------------------------------------
        cluster.name: elkstack                          // 클러스터 이름 
        path.logs: /ELK/logs/elasticsearch           // elasticsearch 로그 저장 위치
        path.data: /ELK/data/elasticsearch          // elasticsearch 데이터 저장 위치
        network.host: 0.0.0.0                           // elasticsearch 바인딩 네트워크
        http.port: 9200                                  // elasticsearch 서비스 포트 (default 9200)
        ---------------------------------------------------------------
      • 추가 - elasticsearch 7.x 부터는 elasticsearch.yml 아래 3가지 값 중 하나를 설정해야 서비스 실행이 됨
        • 설정값
          • discovery.seed_hosts
          • discovery.seed_providers
          • cluster.initial_master_nodes    -> 결국은 이넘을 설정해야 정상 가동 됨
        • 오류 내역
          • [ERROR][o.e.b.Bootstrap] node validation exceptioin
            [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] ust be configured
        • 참고 - Important Elasticsearch configuration
          • https://www.elastic.co/guide/en/elasticsearch/reference/master/important-settings.html
    • elasticsearch 디렉토리 생성 및 소유권 변경(elasticsearch)
      • Data 디렉토리 :
        # mkdir -p /ELK/data/elasticsearch
        # chown -R elasticsearch:elasticsearch /ELK/data/elasticsearch
      • Log 디렉토리 : /ELK/logs/elasticsearch
        # mkdir -p /ELK/logs/elasticsearch
        # chown -R elasticsearch:elasticsearch /ELK/logs/elasticsearch
  •  elasticsearch 실행 및 자동 실행 구성
    # systemctl start elasticsearch
    # systemctl enable elasticsearch
  •  elasticsearch 상태 확인
    # systemctl status elasticsearch

 

5. Logstash 설치

  • logstash 설치
    #
    yum install -y --enablerepo=elasticsearch logstash
  • 환경 설정
    • 설정파일 : /etc/logstash/logstash.yml
    • logstash 환경 설정
      • Data/Log 파일 위치 설정값 변경
        # vi /etc/logstash/logstash.yml
        --------------------------------------------------------------
        path.logs: /ELK/logs/logstash          // logstash 로그 저장 위치
        path.data: /ELK/data/logstash         // logstash 데이터 저장 위치
        ---------------------------------------------------------------
      • logstash 디렉토리 생성 및 소유권 변경(logstash)
        • Data 디렉토리 :
          # mkdir -p /ELK/data/logstash
          # chown -R logstash:logstash /ELK/data/logstash
        • Log 디렉토리 : /ELK/logs/logstash
          # mkdir -p /ELK/logs/logstash
          # chown -R logstash:logstash /ELK/logs/logstash
      • logstash 필터 생성
        • logstash 실행 시 데이터 수집 및 변환 출력을 위한 필터가 필요함.
        • 설정파일 : /etc/logstash/conf.d/logstash-filter.conf   // logstash-filter.conf 파일명은 사용자가 임의 생성
        • 기본구조
          • 필터 파일 기본 구조
            --------------------------------------------------------
            input { 
                            // 로그데이터를 수신할 프로토콜 및 포트, 코덱 등을 정의
            }

            filter {
                           // (옵션) 수신한 로그에 대한 파싱, 인덱싱 및 변환 작업
            }

            output {
                          // 변환한 데이터를 elasticsearch 등 외부 저장소로 출력
            }
            ----------------------------------------------------------
  • logstash 실행 및 자동 실행 구성
    # systemctl start logstash
    # systemctl enable logstash
  • logstash 상태 확인
    # systemctl status logstash

 

6. Kibana 설치

  • elasticsearch 설치
    # 
    yum install -y --enablerepo=elasticsearch kibana
  • 환경 설정
    • 설정파일 : /etc/kibana/kibana.yml
      -----------------------------------------------------
      server.port: 5601
      server.host: 0.0.0.0
      elasticsearch.hosts: "http://localhost:9200"
      -----------------------------------------------------
  • kibana 실행 및 자동 실행 구성
    # systemctl start kibana
    # systemctl enable kibana
  • kibana 상태 확인
    # systemctl status kibana
  • web 접속 테스트
    • 웹브라우저에서 http://elk_IP:5601 로 접속 

 

7. Filebeat 설치

  • 오늘은 여기까지~~~~~

 

저작자표시 (새창열림)
'Linux' 카테고리의 다른 글
  • ELK란? ELK Stack이란?
  • CentOS 7.9에 Java 설치하기
  • squid 로그 타임 포멧 변경
  • Mutt 를 이용한 메일 발송
기억보다는 기록을...
기억보다는 기록을...
내가 보려고 정리하는 글..
  • 기억보다는 기록을...
    메모장
    기억보다는 기록을...
    • 분류 전체보기
      • 클라우드(Azure, AWS, Alibaba)
      • 모니터링(Zabbix,Grafana)
      • 가상화(VMWare, Hyper-V)
      • Docker
      • Ansible
      • Linux
      • Windows
      • 이것저것
      • SQL
      • -------------------------
      • 재테크
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.2
기억보다는 기록을...
CentOS 7.9 + ELK Stack 설치 (작성 중 ~)
상단으로

티스토리툴바