docker-compose.yml의 모습은 아래와 같다.
version: "3.7"
services:
fluent-bit:
image: fluent/fluent-bit
volumes:
- ./fluent-bit/fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf
- /var/log/efk:/var/log/efk
depends_on:
- server
- elasticsearch
server:
build: .
volumes:
- /var/log/efk:/var/log/efk
ports:
- "8080:8080"
elasticsearch:
image: elasticsearch:7.6.2
ports:
- "9200:9200"
environment:
- discovery.type=single-node
kibana:
image: docker.elastic.co/kibana/kibana:7.6.2
container_name: kibana
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http:/elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
depends_on:
- elasticsearch
kibana를 추가했다.
Good to know: kibana와 elasticsearch docker 이미지의 버전이 차이나면 오류가 나는 것 같다. 버전을 맞춰주니 잘 동작한다.
localhost:5601
에 접속하면 kibana 화면이 나타난다.
좌측 메뉴 중 나침반 모양이 “Discover” 메뉴인데 여기서 로그를 조회할 수 있다.
처음 들어가면 index pattern을 등록해야 한다고 나온다.
https://yeo0.tistory.com/entry/Kibana-키바나-기본개념-Index-Pattern-Discover-Visualize-Dashboard
이 블로그 참고해서 kibana에서 띄워주는 인덱스 패턴을 그대로 인덱스 패턴으로 등록했다. timestamp를 이용했다.
이후 다시 Discover 메뉴에 들어가 보니 정상적으로 로그가 조회된다.