CodeGym /행동 /Docker SELF /중앙 집중식 로깅 시스템

중앙 집중식 로깅 시스템

Docker SELF
레벨 22 , 레슨 1
사용 가능

7.1 ELK Stack의 구성 요소

ELK Stack는 Elasticsearch, Logstash 및 Kibana로 구성된 강력한 중앙화된 로그 관리와 데이터 분석 도구야. 이 도구는 다양한 소스, 포함 Docker 컨테이너에서 로그를 수집, 저장, 분석 및 시각화할 수 있게 해줘. 이번 강의에서는 Docker 컨테이너의 중앙화된 로그 관리를 위해 ELK Stack를 어떻게 설정하는지 자세히 알아볼 거야.

ELK Stack의 구성 요소

  1. Elasticsearch — 분산 검색 및 분석 시스템으로, 로그를 저장하고 검색하는 데 사용돼.
  2. Logstash — 로그를 수집, 처리하고 Elasticsearch로 전송하기 위한 도구야.
  3. Kibana — Elasticsearch에 저장된 데이터를 시각화하고 분석하기 위한 웹 인터페이스야.

7.2 Elasticsearch 설치

Linux에서

1. Elasticsearch 리포지토리 추가하기

공개 키 리포지토리를 다운로드하고 설치해줘:

Terminal

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

Elasticsearch 리포지토리를 추가해줘:

Terminal

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 설치

Terminal

sudo apt-get install elasticsearch

3. Elasticsearch 시작 및 자동 시작 활성화

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

MacOS에서

1. Homebrew로 설치

Terminal

brew update
brew install elasticsearch

2. Elasticsearch 시작

Terminal

elasticsearch

Windows에서

1. 설치 파일 다운로드

공식 웹사이트에서 최신 버전 Elasticsearch를 다운로드해줘: https://www.elastic.co/downloads/elasticsearch.

2. Elasticsearch 설치

다운로드한 설치 파일을 실행하고 화면에 나오는 지침을 따라줘.

3. Elasticsearch 시작

설치 후 Elasticsearch가 있는 폴더로 이동해서 PowerShell을 통해 서비스를 시작해줘:

PowerShell

.\bin\elasticsearch.bat

자동 시작을 위해 Elasticsearch를 services.msc를 통해 Windows 서비스에 추가해줘.

7.3 Logstash 설치

Linux에서

1. Logstash 설치

Elastic 리포지토리에서 Logstash 설치:

Terminal

sudo apt-get install logstash

2. Logstash 설정

logstash.conf 설정 파일 생성:

Terminal

sudo nano /etc/logstash/conf.d/logstash.conf

Docker 로그 수집을 위한 설정 예시:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Logstash 시작 및 자동 시작 활성화

Logstash를 시작하고 자동 시작을 활성화:

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

MacOS에서

1. Homebrew로 Logstash 설치

Terminal

brew update
brew install logstash

2. Logstash 설정

Logstash 설정 디렉토리에 logstash.conf 설정 파일 생성:

Terminal

nano /usr/local/etc/logstash/logstash.conf

설정 예시:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Logstash 시작

Homebrew를 통해 Logstash 시작:

Terminal

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 설정 파일 생성:

PowerShell

notepad C:\logstash\config\logstash.conf

설정 예시:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Logstash 시작

설정을 사용하여 Logstash 시작:

PowerShell

cd C:\logstash
bin\logstash.bat -f config\logstash.conf

7.4 Kibana 설치

Linux에서

1. Kibana 설치

Kibana를 설치해줘:

Terminal

sudo apt-get install kibana

2. Kibana 시작 및 자동시작 설정

Kibana를 실행하고 자동시작을 설정해줘:

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

Kibana는 http://localhost:5601에서 접근 가능해.

MacOS에서

1. Homebrew로 Kibana 설치

Terminal

brew update
brew install kibana

2. Kibana 실행

Homebrew를 사용해서 Kibana를 실행해줘:

Terminal

brew services start kibana

Kibana는 http://localhost:5601에서 접근 가능해.

Windows에서

1. Kibana 다운로드 및 설치

공식 웹사이트에서 최신 버전 Kibana를 다운로드해줘: https://www.elastic.co/downloads/kibana.

Kibana 압축 파일을 적당한 위치에 풀어줘 (예: C:\kibana).

2. Kibana 실행

Kibana를 실행해줘:

PowerShell

cd C:\kibana\bin
kibana.bat

Kibana는 http://localhost:5601에서 접근 가능해.

8.5 Docker 로그를 수집하기 위한 Filebeat 설정

Linux에서

1. Filebeat 설치

Elastic 저장소에서 Filebeat 설치:

Terminal

sudo apt-get install filebeat

2. Filebeat 설정

Docker 로그를 수집하도록 Filebeat 설정:

Terminal

sudo nano /etc/filebeat/filebeat.yml

설정 예제:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Filebeat 시작 및 자동 시작 활성화

Filebeat를 시작하고 자동 시작을 활성화하세요:

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

MacOS에서

1. Homebrew를 통한 Filebeat 설치

Terminal

brew update
brew install filebeat

2. Filebeat 설정

filebeat.yml 파일을 편집하여 Filebeat를 설정:

Terminal

nano /usr/local/etc/filebeat/filebeat.yml

설정 예제:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Filebeat 시작

Homebrew를 통해 Filebeat를 시작하세요:

Terminal

brew services start filebeat

Windows에서

1. Filebeat 다운로드 및 설치

공식 웹사이트에서 최신 버전의 Filebeat를 다운로드하세요: https://www.elastic.co/downloads/beats/filebeat.

Filebeat 압축 파일을 적합한 위치에 압축 해제하세요 (예: C:\filebeat).

2. Filebeat 설정

filebeat.yml 파일을 편집하세요:

PowerShell

notepad C:\filebeat\filebeat.yml

설정 예제:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Filebeat 시작

Filebeat를 시작하세요:

PowerShell

cd C:\filebeat
filebeat.exe -e -c filebeat.yml
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION