Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


1. OpenSearch 개요

OpenSearch는 Apache Lucene 를 기반으로 하는 분산 검색 및 분석 엔진입니다.
데이터를 OpenSearch에 추가한 후 OpenSearch에서 제공하는 기능을 사용하여 전체 텍스트 검색을 수행할 수 있습니다.

  • OpenDistro는 EOL 되었고, OpenSearch로 업그레이드하라는 공식사이트의 내용 입니다.
    https://opendistro.github.io/for-elasticsearch/

    OpenDistro 프로젝트는 사용자에게 엔터프라이즈급 기능, 보안 및 분석 도구를 제공하는 
    Apache-2.0 라이선스 플러그인과 함께 Elasticsearch 및 Kibana의 오픈 소스 배포판을
    번들로 제공했습니다. 
    
    오픈소스 Elasticsearch 및 Kibana 7.10.2는 2022년 5월 11일에 지원이 종료되었으며
    더 이상 개발, 보안 패치 또는 버그 수정을 받지 않습니다.
    이로 인해 OpenDistro 프로젝트가 Archived 됩니다.
    
    사용자들은 OpenSearch 프로젝트로 업그레이드하여, Elasticsearch 및 OpenDistro 사용자가
    보안 및 새로운 혁신에 액세스 할 수 있습니다.

OpenSearch 특징

  • 빠르고 확장 가능한 전체 텍스트 검색

    • 사용자가 애플리케이션, 웹 사이트 또는 데이터레이크 카탈로그 내에서 올바른 정보를 찾을 수 있도록 도와줍니다.

  • 애플리케이션 및 인프라 모니터링

    • 로그 데이터를 쉽게 저장 및 분석하고 성능 저하에 대한 경로를 설정할 수 있습니다.

  • 보안 및 이벤트 정보 관리

    • 로그를 중앙집중화하여 실시간 보안 모니터링 및 포렌식 분석을 가능하도록 합니다.

  • 운영 상태 추적

    • 가시성 로그, 메트릭 및 추적을 사용하여 애플리케이션과 비즈니스를 실시간으로 모니터링합니다.

OpenSearch 구조

Node Type

Description

Cluster Manager

클러스터의 전반적인 작업을 관리하고 클러스터 상태를 추적
인덱스 생성 및 삭제, 클러스터에 가입 및 탈퇴하는 노드 추적 및 각 노드 상태 확인(ping) 노드에 샤드 할당이 포함

Cluster Manager eligible

Voting 프로세스를 통해 하나의 노드를 Cluster Manager 노드로 선출

Data

클러스터의 Worker Node로 써, 데이터를 저장하고 검색
로컬에서 모든 데이터 관련 작업(인덱싱, 검색, 집계)을 수행하기 떄문에 다른 노드 유형보다 더 많은 디스크 공간이 필요

Ingest

데이터를 클러스터에 저장하기 전에 사전 처리
인덱스에 데이터를 추가하기 전에 데이터를 변환하는 수집 파이프라인을 실행

Coodinating

클라이언트 요청을 데이터 노드의 샤드에 위임하고 결과를 수집하여 하나의 최종 결과로 집계한 다음 이 결과를 다시 클라이언트로 보내짐

Dynamic

Machine Learning 작업과 같은 사용자 지정 작업을 위해 특정 노드를 위임하여 다른 데이터 노드의 리소스 소비를 방지

OpenSearch Requirement

  • OS

OS Type

Version

RHEL

7, 8

CentOS

7, 8

Ubuntu

18.04, 19.04, 20.04

Amazone Linux 2

-

Windows

2019

  • JAVA

OpenSearch Version

호환되는 Java Version

1.0 - 1.2.X

11, 15

1.3.X

8, 11, 14

2.0.0

11, 17

  • Network

Port Number

Description

443

OpenSearch 대시보드(TLS)

5601

OpenSearch 대시보드

9200

오픈서치 REST API

9250

클러스터 간 검색

9300

노드 통신 및 전송

9600

성능 분석기

  • Enviroment (환경설정)
    max_map_count 설정하지 않는 경우 Pod가 정상 동작하지 않습니다.

cat /etc/sysctl.conf
vm.max_map_count=262144

# 확인
cat /proc/sys/vm/max_map_count

2. OpenSearch 사용

Stack 리스트

  • OpenSearch(ElasticSearch), Fluent-bit(Logstash), OpenSearch-Dashboard(Kibana)

OpenSearch-Dashboard 확인

  • OpenSearch 최초 배포 후, Username: admin, Password: admin 계정으로 로그인이 가능합니다.

  • Add data를 선택하여, Sample 페이지를 확인할 수 있지만, 저희는 Fluent-bit을 통한 확인을 위해 Explore on my own을 선택하겠습니다.

Fluent-bit ↔︎ OpenSearch-Dashboard 연동

  • Management → Stack Management 탭으로 이동하여, Stack을 관리할 수 있습니다.

  • Index Patterns 탭으로 이동하여 Index Patterns을 생성하도록 하겠습니다.

  • Index Patten Filter를 통해 Patten Source를 확인 후 Time Field 부분의 값을 설정하도록 하겠습니다.

  • Fluent-bit을 통해 수집 된 Field는 총 77개의 값이 있습니다.

OpenSearch-Dashboard 활용

Discover

  • OpenSearch-Dashboard Discover 탭에서 생성한 Index Patten에 대한 값을 확인할 수 있습니다.

  • Available field에서 필요한 정보를 추가 또는 Selected field 에서 삭제 할 수 있으며, 환경에 맞춰 사용하면 됩니다.

  • field 값 옆에는 Charts와, Selected fields의 값들이 표출됩니다.

Visualize

  • Fluent-bit 수집 기준으로 Data Field를 구성할 수 있으며, 원하는 Aggregation, Field를 지정 후, 결과 값을 얻을 수 있습니다.

  • 구성한 Field는 아래 Dashboard에서 나열하여 사용할 수 있습니다.

DashBoard

  • Visualize에서 생성한 Field를 기준으로 DashBoard를 생성할 수 있습니다.

  • Edit 버튼을 이용하여, 새로운 Visualize를 생성(Create new) 및 기 생성된 Visualize를 DashBoard에 추가(Add) 할 수 있습니다.

3. OpenSearch 기술자료

https://opensearch.org/

https://github.com/opensearch-project

4. OpenSearch 릴리즈 노트

https://opensearch.org/docs/latest/version-history/

https://github.com/opensearch-project/OpenSearch/releases

 

 

 

 

 


 

 

  • No labels