- ELK 스택 (ElasticStack) 이란?
Elk 스택은 Elasticsearch, Logstash, Kibana의 약어입니다. 이것은 데이터 분석 및 시각화를 위한 오픈 소스 도구 세트.
최근에는 + Beats 까지 묶어 공식적으로 Elastic Stack 이라고 명명하고 있습니다.
- Elasticsearch: 실시간으로 데이터를 저장하고 검색하는 데 사용되는 분산형 검색 및 분석 엔진입니다. 대량의 데이터를 처리하고 효과적으로 쿼리할 수 있습니다.
- Kibana: Elasticsearch에서 데이터를 시각화하고 탐색하기 위한 대시보드 및 분석 도구입니다. 다양한 시각화 옵션을 제공하여 데이터를 이해하고 인사이트를 발견하는 데 도움이 되는 클라이언트 도구 입니다.
- Logstash: 다양한 소스에서 데이터를 수집하고 변환하여 Elasticsearch에 전송하는 ETL 도구입니다. 로그 및 이벤트 데이터의 수집, 처리 및 전송을 용이하게 합니다.
- Beats : 다양한 소스에서 데이터를 수집하고 Elasticsearch 또는 Logstash와 같은 데이터 저장소로 전송합니다. 주로 로그 파일, 메트릭, 네트워크 데이터 등을 수집하는 데 사용됩니다.
Logstash는 Elastic searck 뿐만아니라 다양한 데이터 시스템들에서 사용되고 있었다. 다른 데이터 장비에 모두 Logstash를 설치하는 것이 어려웟 그 부분을 담당하는 Beats를 만들게 되었다.

- ELK doker에 설치
mkdir elk
cd ./elk
git clone https://github.com/deviantony/docker-elk.git
디렉토리 구조
├── LICENSE
├── README.md
├── docker-compose.yml
├── docker-stack.yml
├── elasticsearch
│ ├── Dockerfile
│ └── config
│ └── elasticsearch.yml
├── extensions
│ ├── README.md
│ ├── apm-server
│ │ ├── Dockerfile
│ │ ├── README.md
│ │ ├── apm-server-compose.yml
│ │ └── config
│ │ └── apm-server.yml
│ ├── curator
│ │ ├── Dockerfile
│ │ ├── README.md
│ │ ├── config
│ │ │ ├── curator.yml
│ │ │ └── delete_log_files_curator.yml
│ │ └── curator-compose.yml
│ ├── enterprise-search
│ │ ├── Dockerfile
│ │ ├── README.md
│ │ ├── config
│ │ │ └── enterprise-search.yml
│ │ └── enterprise-search-compose.yml
│ ├── logspout
│ │ ├── Dockerfile
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── logspout-compose.yml
│ │ └── modules.go
│ └── metricbeat
│ ├── Dockerfile
│ ├── README.md
│ ├── config
│ │ └── metricbeat.yml
│ └── metricbeat-compose.yml
├── kibana
│ ├── Dockerfile
│ └── config
│ ├── 1
│ └── kibana.yml
└── logstash
├── Dockerfile
├── config
│ └── logstash.yml
└── pipeline
└── logstash.conf
- docker-compose.yml : elasticsearch, logstash, kibana 각 컨테이너에 대한 셋팅
elasticsearch password의 경우 초기에 "changeme"로 되어 있고, 이를 수정할 경우 각 컨테이너 별(bold체 경로)로 .
yml내의 elasticsearch password를 동일하게 변경해주면 된다.
docker-compose up setup
docker-compose up -d
* -d위 명령에 플래그를 추가하여 백그라운드(분리 모드)에서 모든 서비스를 실행할 수도 있습니다 .
출처
https://dong-guri.tistory.com/3