[EFK로 서버 로그 수집하기] Open Dashboard로 로그 시각화하기

Hyunjun Kim·2025년 5월 28일
0

Data_Engineering

목록 보기
85/153

5. Open Dashboard(Kibana)로 로그 시각화하기

5.1 Open Dashboard 설치하기

5.1.1 다운로드 및 설치

다운로드 링크 에서 자신의 환경에 맞는 바이너리 다운로드

# x64
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.0/opensearch-dashboards-2.4.0-linux-x64.tar.gz

# ARM64
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.0/opensearch-dashboards-2.4.0-linux-arm64.tar.gz

압축 해제 (자신의 architecture 별로, 일반 EC2라면 x64)

# x64
tar -zxf opensearch-dashboards-2.4.0-linux-x64.tar.gz

# ARM64
tar -zxf opensearch-dashboards-2.4.0-linux-arm64.tar.gz
cd opensearch-dashboards-2.4.0
export OPENSEARCH_DASHBOARDS_HOME=$(pwd)
  • 이하에서 $OPENSEARCH_DASHBOARDS_HOME 사용.

5.1.2 설정변경

vi config/opensearch_dashboards.yml
server.host: $your_ec2_public_dnsname
server.port: 5601
opensearch.hosts: [http://localhost:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanaserver
# opensearch.requestHeadersWhitelist: [authorization, securitytenant]
# opensearch_security.multitenancy.enabled: false
# opensearch_security.multitenancy.tenants.preferred: [Private, Global]
# opensearch_security.readonly_mode.roles: [kibana_read_only]
# Use this setting if you are running opensearch-dashboards without https
# opensearch_security.cookie.secure: false
  • server.host 를 브라우저에 입력할 주소 이름을 입력해야 CORS이슈가 발생하지 않는다.
  • opensearch.hosts 연결 실습을 위해서 https가 아닌 http 를 사용.
  • security 관련 설정을 지운다. (실습의 편의를 위해)

security 플러그인도 삭제한다.

./bin/opensearch-dashboards-plugin remove securityAnalyticsDashboards
./bin/opensearch-dashboards-plugin remove securityDashboards

잘 삭제된 모습


디렉토리까지 삭제되었는지 확인해보자.

5.1.3 실행

./bin/opensearch-dashboards

웹브라우저를 통해서 $your_ec2_public_dnsname:5601 로 접속한다.

  • 첫화면에서 로딩이 오래 된다면, $your_ec2_public_dnsname:5601/app/home 경로로 접속한다.


5.2 Open Dashboard 에서 인덱스 패턴 생성하기

앞서 배운 rollover 기능을 활용해서 한 종류의 데이터라도 index는 여러개가 생성될 수 있다. Kibana에서 인덱스 개별로 대시보드를 만들면, 라이프사이클이 끝나면 또다시 만들어야하는 번거로움이 있다.

보통 rollover 규칙과 같이 asterisk 를 넣은 인덱스 패턴을 생성하고, discover, visualize 에서는 해당 인덱스 패턴을 이용해서 검색하고 규칙을 정한다.

5.2.1 Create index pattern

Stack Management > Index Patterns > Create Index Patterns

  1. $indexprefix* 인덱스 pattern name을 설정하고 next step

    • 여기서 * 로 묶이는 인덱스들은 유사한 schema를 가지는 것이 좋다.
      • 필드 이름이 같은데 데이터 형식이 다른 두 개 이상의 document가 있다면, 해당 필드는 conflict 경고가 뜨고, 인덱싱 되지 않는다.
  2. Time field 를 선택한다. Discover에서는 여기서 선택된 time field를 기준으로 정렬된다.

  3. Create Index Pattern

  4. index pattern이 생성되면, refresh 버튼을 한 번 눌러준다.

    • 새로운 필드가 추가되는 경우, 해당 필드에 대한 타입추론과 인덱싱이 안되어있기 때문에, 그 때도 refresh를 눌러야,
      OpenDashboard에서 검색할 수 있다.

마지막을 Disover 탭에서 해당 인덱스 패턴으로 데이터가 보이는지 확인한다.



5.3 Open Dashboard에서 검색하기

5.3.1 필드에서 원하는 데이터만 보기

Discover 탭

  • 좌측 필드 리스트에 마우스를 올린 뒤, add 버튼을 누르면 가운데 화면에 해당 필드만 보인다.

5.3.2 원하는 조건 필터링하기

필터링 바에서 + 를 누른 후

  • 원하는 필드를 선택
  • 조건을 선택
  • 조건을 판단할 값 선택

5.3.3 공유 링크 만들기

우측 상단에 Share 버튼

  • copy


5.4 Open Dashboard 에서 다양한 시각화하기

UI위주로 학습할 예정

Visualize

  • 시각화 도구를 선택하고, 내가 원하는 시각화에 맞추어서 설정을 할 수 있다.
  • 저장을 하고 공유할 수 있다.

Dashboard

  • 여러 시각화 지표를 한눈에 보기위한 대시보드.
  • Visualize 에서 만든 지표를 add 로 가져와서 구성할 수 있다.
  • 모니터링할때는 dashboard를 통해서 시간범위를 조정해가며 한 눈에 모니터링 하고 인사이트를 얻을 수 있다.
profile
Data Analytics Engineer 가 되

0개의 댓글