728x90
EFK(Elasticsearch, Fluentd, Kibana) 스택을 Docker Compose를 사용하여 구성하는 방법
이 스택은 로그 수집, 분석 및 시각화를 위한 도구들을 포함하고 있습니다.
1. Docker Compose 파일 생성
프로젝트 디렉토리에 docker-compose.yml 파일을 생성합니다.
2. Docker Compose 구성
docker-compose.yml 파일에 Elasticsearch, Fluentd 및 Kibana 서비스를 정의합니다.
vim docker-compose.yml
version: '3.9'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
environment:
- discovery.type=single-node
ports:
- "9200:9200"
networks:
- efk-network
fluentd:
image: fluent/fluentd:v1.14-1
volumes:
- ./fluentd/conf:/fluentd/etc
environment:
- FLUENTD_CONF=fluent.conf
- ELASTICSEARCH_HOST=elasticsearch
- ELASTICSEARCH_PORT=9200
links:
- elasticsearch
networks:
- efk-network
kibana:
image: docker.elastic.co/kibana/kibana:7.14.0
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
links:
- elasticsearch
networks:
- efk-network
networks:
efk-network:
driver: bridge
3. Fluentd 설정 파일 작성
프로젝트 디렉토리에 fluentd 디렉토리를 생성하고 그 안에 fluent.conf 파일을 작성합니다.
vim fluent.conf
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match **>
@type elasticsearch
host elasticsearch
port 9200
logstash_format true
logstash_prefix fluentd
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
</match>
4. Docker Compose 실행
터미널에서 프로젝트 디렉토리로 이동한 후 아래 명령을 실행하여 Docker Compose를 실행합니다.
docker-compose up -d
728x90
5. Kibana 사용
웹 브라우저에서 http://localhost:5601에 접속하여 Kibana 대시보드를 사용하여 로그를 시각화하고 분석합니다.
http://efk-stack:5601
- Elasticsearch 노드
docker-compose exec elasticsearch bin/elasticsearch-create-enrollment-token -s kibana
docker-compose exec elasticsearch bash
bin/elasticsearch-create-enrollment-token --scope kibana
elasticsearch@6fa025e294cd:~$ bin/elasticsearch-create-enrollment-token --scope kibana
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
eyJ2ZXIiOiI4LjEuMyIsImFkciI6WyIxNzIuMjIuMC4yOjkyMDAiXSwiZmdyIjoiZGY2ODI4MTAyZmU3ZTMwNDVlNDViNmE0YWJhMDBlMzg1NjFhMWIxYWE4NTU3YmQ5MTI4MDYxNWUyOWNmMmFiOCIsImtleSI6IjVVU21qSUFCb0lWaHgxbDJUNG9sOi0tSDdtdjlIUUNTMlR1cEx0VVZMV1EifQ==
- Kibana 노드
docker-compose exec kibana bin/kibana-verification-code
docker-compose exec kibana bash
bin/kibana-verification-code
kibana@b299b7a363e8:~$ bin/kibana-verification-code
Your verification code is: 001 189
위의 단계를 따라 Docker Compose를 사용하여 EFK 스택을 구성할 수 있습니다. Elasticsearch, Fluentd 및 Kibana가 함께 실행되며 로그 수집, 분석 및 시각화를 위한 환경이 구성됩니다.
728x90
'리눅스' 카테고리의 다른 글
[리눅스] Spring Boot 프로젝트 생성, Dockerfile로 이미지 생성 및 빌드 (0) | 2022.05.09 |
---|---|
오픈소스 소프트웨어 보안 가이드북(SK인포섹 EQST그룹) (0) | 2022.05.07 |
[draft] systemctl 명령을 찾을 수 없음 (0) | 2022.05.03 |
[리눅스] 도커 이미지(운영체제 이미지) (0) | 2022.05.03 |
[리눅스] docker centos 8 systemctl 실행(/sbin/init) (0) | 2022.04.28 |