Launch service pages are live SaaS, web app, indie game, and home server public-context handoffs. No secrets.
Services SaaS Web App Game Homelab

ELK stack 설치

데이터/로그 플랫폼 운영 관점에서 ELK stack 설치의 목적, 적용 범위, 실행 전 확인할 항목을 정리한 기술 노트입니다.

핵심 요약

  • 데이터/로그 플랫폼 운영 기준으로 글의 목적과 적용 범위를 먼저 확인할 수 있게 정리했습니다.
  • 원문의 명령어, 로그, 절차는 보존하고 운영자가 먼저 봐야 할 맥락을 앞쪽에 배치했습니다.
  • 실행형 명령은 대상 환경, 권한, 백업 또는 롤백 경로를 확인한 뒤 적용하는 것을 전제로 합니다.

적용 범위

이 글은 데이터/로그 플랫폼 운영 업무에서 ELK stack 설치를 빠르게 검토하기 위한 운영 노트입니다. 실습이나 변경 작업은 각자의 랩/운영 환경 기준으로 값과 절차를 재확인한 뒤 진행합니다.

정리된 본문

먼저, ELK 스택은 Elasticsearch, Logstash, Kibana의 약어로 로그 데이터 분석 및 시각화를 위한 오픈 소스 툴셋입니다. 이번에는 CentOS 7 기반으로 ELK 스택을 설치하는 방법을 설명해드리겠습니다.

Elasticsearch 설치

  1. Elasticsearch의 공식 YUM 저장소를 추가합니다.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /etc/yum.repos.d/elasticsearch.repo
  1. 아래 내용을 elasticsearch.repo 파일에 추가합니다.
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. Elasticsearch를 설치합니다.
sudo yum install elasticsearch
  1. Elasticsearch 구성 파일을 엽니다.
sudo vi /etc/elasticsearch/elasticsearch.yml
  1. Elasticsearch 구성 파일에서 cluster.name 및 node.name을 설정합니다.
cluster.name: mycluster
node.name: mynode
  1. Elasticsearch 서비스를 시작하고, 부팅시 자동으로 시작하도록 설정합니다.
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Logstash 설치

  1. Logstash의 공식 YUM 저장소를 추가합니다.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /etc/yum.repos.d/logstash.repo
  1. 아래 내용을 logstash.repo 파일에 추가합니다.
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. Logstash를 설치합니다.
sudo yum install logstash
  1. Logstash 구성 파일을 엽니다.
sudo vi /etc/logstash/conf.d/myconfig.conf
  1. Logstash 구성 파일에서 input, filter, output을 설정합니다. 예제 구성 파일은 다음과 같습니다.
input {
  file {
    path => "/var/log/messages"
    start_position => "beginning"
  }
}

filter {
  grok {
    match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
  }
  
  syslog_pri { }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
  stdout { codec => rubydebug }
}
  1. Logstash를 시작하고, 부팅시 자동으로 시작하도록 설정합니다.
sudo systemctl start logstash
sudo systemctl enable logstash

Kibana 설치

  1. Kibana의 공식 YUM 저장소를 추가합니다.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /etc/yum.repos.d/kibana.repo
  1. 아래 내용을 kibana.repo 파일에 추가합니다.
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. Kibana를 설치합니다.
sudo yum install kibana
  1. Kibana 구성 파일을 엽니다.
sudo vi /etc/kibana/kibana.yml
  1. Kibana 구성 파일에서 server.host를 설정합니다.
server.host: "0.0.0.0"
  1. Kibana 서비스를 시작하고, 부팅시 자동으로 시작하도록 설정합니다.
sudo systemctl start kibana
sudo systemctl enable kibana

위의 방법을 참고하여 ELK 스택을 설치해보세요. 각 구성 요소의 구성은 상황에 따라 달라질 수 있으므로, 필요한 구성 요소를 추가하거나 구성을 변경할 수 있습니다.

운영 체크리스트

  • 대상 OS, 버전, 네트워크 구간, 권한 범위가 현재 환경과 일치하는지 확인합니다.
  • 운영 장비에서 실행하기 전 테스트 환경 또는 읽기 전용 명령으로 먼저 검증합니다.
  • 설정 변경, 패키지 설치, 서비스 재시작이 포함되면 백업과 롤백 절차를 준비합니다.

실무 지원이 필요하다면

이 글의 내용을 실제 환경에 맞게 검증하거나 운영 절차로 정리해야 한다면, DB/로그 플랫폼 점검과 알림/모니터링 흐름 정리를 1회성 기술 리뷰 또는 짧은 운영 개선 스프린트로 도와드릴 수 있습니다.

  • 대상 환경과 현재 증상을 기준으로 실행 전 체크리스트를 정리합니다.
  • 명령어, 로그, 설정 변경이 필요한 경우 안전한 검증 순서와 롤백 포인트를 분리합니다.
  • ELK stack 설치와 연결된 작업을 보고서, Runbook, 자동화 초안 형태로 정리합니다.

서비스 안내 보기 · 주제별 글 읽기 · 작업 문의

\n\n\n