7.1 ELK Stack의 구성 요소
ELK Stack는 Elasticsearch, Logstash 및 Kibana로 구성된 강력한 중앙화된 로그 관리와 데이터 분석 도구야. 이 도구는 다양한 소스, 포함 Docker 컨테이너에서 로그를 수집, 저장, 분석 및 시각화할 수 있게 해줘. 이번 강의에서는 Docker 컨테이너의 중앙화된 로그 관리를 위해 ELK Stack를 어떻게 설정하는지 자세히 알아볼 거야.
ELK Stack의 구성 요소
- Elasticsearch — 분산 검색 및 분석 시스템으로, 로그를 저장하고 검색하는 데 사용돼.
- Logstash — 로그를 수집, 처리하고 Elasticsearch로 전송하기 위한 도구야.
- Kibana — Elasticsearch에 저장된 데이터를 시각화하고 분석하기 위한 웹 인터페이스야.
7.2 Elasticsearch 설치
Linux에서
1. Elasticsearch 리포지토리 추가하기
공개 키 리포지토리를 다운로드하고 설치해줘:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Elasticsearch 리포지토리를 추가해줘:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update
2. Elasticsearch 설치
sudo apt-get install elasticsearch
3. Elasticsearch 시작 및 자동 시작 활성화
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
MacOS에서
1. Homebrew로 설치
brew update
brew install elasticsearch
2. Elasticsearch 시작
elasticsearch
Windows에서
1. 설치 파일 다운로드
공식 웹사이트에서 최신 버전 Elasticsearch를 다운로드해줘: https://www.elastic.co/downloads/elasticsearch.
2. Elasticsearch 설치
다운로드한 설치 파일을 실행하고 화면에 나오는 지침을 따라줘.
3. Elasticsearch 시작
설치 후 Elasticsearch가 있는 폴더로 이동해서 PowerShell을 통해 서비스를 시작해줘:
.\bin\elasticsearch.bat
자동 시작을 위해 Elasticsearch를 services.msc를 통해 Windows 서비스에 추가해줘.
7.3 Logstash 설치
Linux에서
1. Logstash 설치
Elastic 리포지토리에서 Logstash 설치:
sudo apt-get install logstash
2. Logstash 설정
logstash.conf 설정 파일 생성:
sudo nano /etc/logstash/conf.d/logstash.conf
Docker 로그 수집을 위한 설정 예시:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstash 시작 및 자동 시작 활성화
Logstash를 시작하고 자동 시작을 활성화:
sudo systemctl start logstash
sudo systemctl enable logstash
MacOS에서
1. Homebrew로 Logstash 설치
brew update
brew install logstash
2. Logstash 설정
Logstash 설정 디렉토리에 logstash.conf 설정 파일 생성:
nano /usr/local/etc/logstash/logstash.conf
설정 예시:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstash 시작
Homebrew를 통해 Logstash 시작:
logstash -f /usr/local/etc/logstash/logstash.conf
Windows에서
1. Logstash 다운로드 및 설치
공식 웹사이트에서 최신 Logstash 버전 다운로드: https://www.elastic.co/downloads/logstash.
Logstash 압축 파일을 편리한 위치에 압축 해제 (예: C:\logstash).
2. Logstash 설정
Logstash 설정 디렉토리에 logstash.conf 설정 파일 생성:
notepad C:\logstash\config\logstash.conf
설정 예시:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstash 시작
설정을 사용하여 Logstash 시작:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Kibana 설치
Linux에서
1. Kibana 설치
Kibana를 설치해줘:
sudo apt-get install kibana
2. Kibana 시작 및 자동시작 설정
Kibana를 실행하고 자동시작을 설정해줘:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana는 http://localhost:5601에서 접근 가능해.
MacOS에서
1. Homebrew로 Kibana 설치
brew update
brew install kibana
2. Kibana 실행
Homebrew를 사용해서 Kibana를 실행해줘:
brew services start kibana
Kibana는 http://localhost:5601에서 접근 가능해.
Windows에서
1. Kibana 다운로드 및 설치
공식 웹사이트에서 최신 버전 Kibana를 다운로드해줘: https://www.elastic.co/downloads/kibana.
Kibana 압축 파일을 적당한 위치에 풀어줘 (예: C:\kibana).
2. Kibana 실행
Kibana를 실행해줘:
cd C:\kibana\bin
kibana.bat
Kibana는 http://localhost:5601에서 접근 가능해.
8.5 Docker 로그를 수집하기 위한 Filebeat 설정
Linux에서
1. Filebeat 설치
Elastic 저장소에서 Filebeat 설치:
sudo apt-get install filebeat
2. Filebeat 설정
Docker 로그를 수집하도록 Filebeat 설정:
sudo nano /etc/filebeat/filebeat.yml
설정 예제:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeat 시작 및 자동 시작 활성화
Filebeat를 시작하고 자동 시작을 활성화하세요:
sudo systemctl start filebeat
sudo systemctl enable filebeat
MacOS에서
1. Homebrew를 통한 Filebeat 설치
brew update
brew install filebeat
2. Filebeat 설정
filebeat.yml 파일을 편집하여 Filebeat를 설정:
nano /usr/local/etc/filebeat/filebeat.yml
설정 예제:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeat 시작
Homebrew를 통해 Filebeat를 시작하세요:
brew services start filebeat
Windows에서
1. Filebeat 다운로드 및 설치
공식 웹사이트에서 최신 버전의 Filebeat를 다운로드하세요: https://www.elastic.co/downloads/beats/filebeat.
Filebeat 압축 파일을 적합한 위치에 압축 해제하세요 (예: C:\filebeat).
2. Filebeat 설정
filebeat.yml 파일을 편집하세요:
notepad C:\filebeat\filebeat.yml
설정 예제:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeat 시작
Filebeat를 시작하세요:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION