분산 시스템에서 profiling (ELK)

EEEFFEE·2024년 1월 28일

Perf

목록 보기
3/4

24.01.28 최초 작성

1. 분산 시스템 (Distributed System)

  • 네트워크를 통해 연결된 여러 컴퓨터/노드로 구성됨
  • 각각이 공동의 목표를 가지며 대량의 데이터 처리, 연산 가속 등의 작업을 수행

1.1 분산 시스템에서 profiling시 고려사항

시간 동기화복잡성성능 오버헤드데이터의 양

2. ELK

  • 3개의 오픈 소스를 결합한 profiling 스택

    • Elasticsearch : 분산형 검색 엔진
    • Logstash : 로그 수집
    • Kibana : 시각화 및 사용자 인터페이스 제공
장점
실시간 분석 제공스케일 아웃다양한 데이터 소스 지원강력한 검색 기능 제공시각화

단점
복잡성리소스 사용량시간 동기화데이터 보안 및 개인정보 보호장기 데이터 저장

2.1 Elasticsearch

분산 및 확장성이
뛰어남
실시간 검색 및 분석다양한 검색 기능 지원풀 텍스트 검색 기능 지원Json기반 Restful APISchema-less
동적 schma 지원

2.2 Logstash

다양한 데이터 소스로부터 입력받을 수 있음데이터 변환 기능 제공다양한 데이터 형식으로 변환 가능

2.3 Kibana

  • Elasticsearch데이터를 시각화하는데 사용
데이터 탐색 및 검색을 위한
인터페이스 제공
대화식 시각화 지원대시보드 생성시계열 분석 지원머신러닝 기능 지원

3. ELK 설치 과정


sudo apt-get install default-jdk
# Java -version 확인

3.1 Elasticsearch


wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

sudo apt-get update

sudo apt-get install elasticsearch

#	설치 확인
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch

3.2 Logstash & kibana


sudo apt-get install logstash kibana

# 설치 확인
sudo systemctl start logstash
sudo vi /etc/kibana/kibana.yml -> server.host
sudo systemctl start kibana

# 메모리 부족 시 swap space 확보
sudo allocate -l 8g /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 보안

3.2.1 메모리 부족 시


sudo allocate -l 8g /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

3.2.2 보안 관련 패키지


sudo apt-get install ufw

# 포트 허용
sudo ufw allow 5601
sudo ufw allow 9200

0개의 댓글