Linux에 ELK 설치하기

박정호·2025년 1월 23일

ubuntu에 ELK 설치

ELK 설치

  • Elasticsearch 설치
# Elasticsearch의 GPG 키를 추가
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

# Elasticsearch 저장소를 추가
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

# 패키지 업데이트 후 Elasticsearch 설치
sudo apt update
sudo apt install elasticsearch

# Elasticsearch 시작 및 부팅 시 자동 실행 설정
sudo systemctl enable elasticsearch

# Elasticsearch 실행
sudo systemctl start elasticsearch
  • Logstash 설치
# Logstash 설치
sudo apt install logstash

# Logstash 시작 및 부팅 시 자동 실행 설정
sudo systemctl enable logstash
sudo systemctl start logstash
  • kibana 설치
# Kibana 설치
sudo apt install kibana

# Kibana 시작 및 부팅 시 자동 실행 설정
sudo systemctl enable kibana
sudo systemctl start kibana
  • Elasticsearch 실행하기
# Elasticsearch 상태 확인
sudo systemctl status elasticsearch

# 실행 중이 아니라면 서비스를 시작합니다
sudo systemctl start elasticsearch

# 서비스가 부팅 시 자동으로 시작되도록 설정
sudo systemctl enable elasticsearch

Elasticsearch 실행 안될 시 해결법

  • es 설치 후 실행 안되는 문제가 생겼다. 문제를 확인해보니 es를 실행하는 데에는 2GB정도의 메모리가 필요한데 서버 메모리가 부족한 것이었다. 아마도 logstash와 kibana까지 모두 다운받고 실행시켜서 생긴 문제인 것 같아서 메모리를 확인해봤다.

메모리 문제

  • 메모리 로그 확인

    메모리 used가 3.7G나 되어있던 것 이를 위해 시스템 부하가 큰 것들을 모두 꺼줬다.


이후 ES 실행 명령어로 실행시키면 된다.

sudo systemctl start elasticsearch

보안 상 문제 해결

  • 나는 아직 로컬에서만 접속할거여서 해결됐지만 외부에서 접속을 시도할 시, 위의 과정을 거쳐도 접속이 안될 수도 있다. 보안 문제일 가능성이 있으므로 elasticsearch의 yml파일에 가서 보안을 false로 해결해주면 된다.
# elasticsearch yml파일
sudo nano /usr/lib/systemd/system/elasticsearch.service


xpack이라는 것은 유료버전이라는 것을 의미한다고 한다.

  • https 비활성화
  • ES 재시작 후 접속 시도
sudo systemctl restart elasticsearch

curl -X GET "localhost:9200"

외부 접속 풀어주기

  • 위 과정을 거치면 접속이 가능하다 하지만, 외부 ip에서 접속 시에 문제가 생길 수 있다. 이때, 외부 접속을 위한 host ip를 0.0.0.0으로 모두 풀어준다.

  • 포트 열어주기

0개의 댓글