다보리 - ElasticDB 운영 서버 설치 방법

1. Elasticsearch과 Kibana 개념 정리

1. Elasticsearch과 Kibana 개념 정리

Elasticsearch(ElasticDB) 개념

   1. Elasticsearch란?

Elasticsearch는 분산형 검색 및 분석 엔진으로 데이터를 분산 관리하고 빠르게 검색할 수 있는 기능을 제공함.         여러 서버를 연결해 클러스터를 구성하는 것이 특징이며, 주로 대량의 데이터를 저장, 검색, 분석하는데 사용되며,    JSON 형식의 데이터를 기본 단위로 처리함

주로 로그 분석, 실시간 검색, 위치 기반 데이터 검색 등에서 널리 사용됨

    2. Elasticsearch 주요 개념

1-1 노드(서버)

1-2 클러스터

2-1 문서

2-2 인덱스

2-3 샤드

2-4 복제본

1. Elasticsearch과 Kibana 개념 정리

Kibana 개념

Kibana란? 

Elasticsearch 데이터의 시각화를 위한 도구이며 Elasticsearch에 저장된 데이터를 쉽게 검색, 분석하고 차트, 그래프, 웹 등 다양한 형태로 시각화하여 사용자는 Elasticsearch의 데이터를 시각적으로 확인이 가능함                                                          

Kibana의 주요 기능
Kibana의 활용 예시

2. Elastic 서버 설치 전 설정 방법

2. Elastic 서버 설치 전 설정 방법

Elasticsearch와 Kibana 설치 방법

설치 절차

1. Elastic 다운로드 페이지 방문
2. Elasticsearch 다운로드
3. Kibana 다운로드
4. 설치 및 설정 진행
2. Elastic 서버 설치 전 설정 방법

Elsticsearch, Kibana 설정 가이드

1. Elasticsearch 설정

  Elasticsearch-8.xx.x/config/elasticsearch.yaml 파일 접근

ELastic.PNG

  • cluster.name : "eye"
  • node.name : "eyeE2"     # 클러스터와 노드의 이름을 설정
  • security.enabled : true   # 보안 기능 활성화
  • security.http.ssl.enabled : true                                                                                                                      # Kinaba나 Logstash 그리고 다른 클라이언트가 HTTPS를 통해 안전하게 연결할 수 있도록 하는 설정
  • security.transport.ssl.enable : true                                                                                                              # 클러스터 내부의 노드들과 안전하게 통신하고, SSL을 통해 상호 인증을 수행                                          #  SSL : 웹 브라우저와 웹 서버 사이의  전송되는 데이터를 암호화하여 도청하거나 변조를 방지
  • keystore.path : certs/transport.p12     # 노드 간 SSL 인증서 경로
  • truststore.path : certs/transport.p12   # 신뢰할 수 있는 SSL 인증서 경로
  • cluster.initail_master_nodes : ["eyeE2"]                                                                                                      # 클러스터를 처음 생성할 때, 초기 마스터 노드로 eyeE2를 지정                                                                    # 마스터 노드 : 클러스터를 관리하고 중요한 결정을 내리는 하나의 노드 (1노드 -> 1클러스터만 관리)
  • http:host : 0.0.0.0                                                                                                                                        # 클러스터에 외부 IP가 접근할 수 있도록 설정, 보안이 활성화되어 있으므로 사용자 인증이 필요함

2. Kibana 설정

  Kibana/config/kibana.yml 파일 접근

Kibana.PNG

3. Elasticsearch 서버 설치 방법

3. Elasticsearch 서버 설치 방법

서버 접속 방법

    방법 1. SSH 접속

        ssh.PNG

     방법 2. 스크립트 파일로 접속 (자동화 스크립트 파일이 있다는 가정)

         캡처fff.PNG

    

3. Elasticsearch 서버 설치 방법

서버 설치 방법

Elasticsearch와 Kibana를 서버에 설치하는 방법

Elasticsearch

image.png

1. Elasticsearch 다운로드
2. 압축 해제
3. Elasticsearch 실행
4. Elasticsearch 상태 확인

Kibana

image.png

1. Kibana 다운로드
2. 압축 해제
3. kibana 실행
4. Kibana 접속 확인


4. Elastic과 Kibana의 계정 생성

4. Elastic과 Kibana의 계정 생성

Elastic 사용자 계정 생성 방법

사용자 계정의 용도

      1. Elasticsearch와 Kibana 보안 설정  

      보안 기능(security.enabled)이 활성화된 환경에서는 Elasticsearch와 Kibana에 접속할 때 사용자 계정이 필요

      2. Kibana 로그인에 사용

      Kibana URL에 접속하면 로그인 화면이 나타나고, 사용자 계정을 입력하여 접속 가능

      3. Elasticsearch API 접근 제어

      Elasticsearch API를 사용할 때도 인증된 계정으로 접근해야 함 (권한에 따라 API 접근을 제어)

사용자 생성 명령어

    ./bin/elasticsearch-users useradd <username> -p <password> -r <role>

    <username> : 생성할 사용자 이름

    <password> : 사용자 비밀번호

    <role> : 사용자의 역할 (superuser, kibana_user 등)

사용자 역할과 권한

    1. superuser

     모든 권한을 가진 최고 관리자 역할

     2. kibana_admin

     Kibana 설정을 관리할 수 있는 관리자 역할

     3. kibana_user

     Kibana 대시보드와 시각화 기능을 사용할 수 있는 일반 사용자 역할

     4. read-only user (viewer)

     읽기 전용 권한을 가진 역할, 데이터 조회만 가능 (변경이나 삭제 x)