ELK/Elasticsearch

Elasticsearch - 기본 구조

PSAwesome 2021. 1. 15. 01:29
반응형

 

데이터 저장 공간: Index

논리적인 인덱스 및 primary, replica 샤드

  • 인덱스 생성
  • 하나의 물리적인 Index
  • 여러 개의 논리적인 Index
  • 검색 시 여러 개의 논리적인 인덱스를 동시에 검색할 수 있다.
  • 인덱스 생성 시 분산 환경에 용이한 shard 세트를 생성

 

Kibana로 보는 인덱스 자동 생성 (product 환경에선 권장하지 않음)

before index push

 

send fluent-logger-java message

  final FluentLogger LOG = new FluentLoggerFactory().getLogger(getClass().getName(), "localhost", 5005);

  public void sendLog() {
    LOG.log("forJava",
            Map.of("id", "ps!!!! 33",
                    "name", "Awesome 33 ###",
                    "format", "자유롭군욥 3")
    );
    LOG.log("forJava",
            Map.of("id", "ps!!!! 33",
                    "format", "자유롭군욥 4")
    );
  }

  public static void main(String[] args) {
    final LogstashFluentTests tests = new LogstashFluentTests();
    tests.sendLog();
  }

 

send logback message

  Logger log = LoggerFactory.getLogger(this.getClass());

  @Test
  void initElasticAccess() {
    System.out.println(log.getName());
    log.info("hello psawesome!!");
  }

 

인덱스 생성 결과

자동 생성된 index

 

Kibana로 보는 인덱스 pattern 시각화

* 패턴에 해당하는 인덱스를 등록하여 시각화

 

  • Index Management: 다양한 패턴의 인덱스 생성
  • Index Pattern: 패턴을 기준으로 시각화

 

물리적 공간(Index)에 여러 개의 파티션: Shard

클러스터 환경

  • 색인된 문서를 담는 Shard == Partition

 

인덱스의 논리적 구조: Type

6.0 기점으로 type의 역할이 달라짐

Index 당 여러 Type이 가능했으나 6.1 이후 1:1 매칭을 권장

 

데이터가 저장되는 최소 단위: Document

 RDBMS의 Row인 행의 형태로 매칭

Json Data 형식의 Document

 

Document의 속성: Field

하나의 필드에 다수의 데이터 타입 설정 가능

 

여러 analyzer 설정으로 검색 가능

 

문서의 색인 방법을 정의하는 프로세스: Mapping

인덱스의 매핑 정보에는 여러 데이터 타입 지정 가능

필드명 중복 불가

 

 

 

반응형