https://github.com/litsynp/docker-example 프로젝트를 위한 로깅 세팅입니다.
- 단일 compose 파일 실행시 동작하지 않습니다.
- NGINX의 로그파일을 Filebeat로 수집
- 수집한 로그를 Logstash에 전달
- 전달 받은 로그를 Elasticsearch에 저장
- 저장된 로그를 Kibana를 통해 분석
$ docker compose -f docker-compose.prod.yml -f docker-compose.logging.yml up --build
- localhost:5601 접속
- 상단 메뉴에서 index management 검색
- 수집된 로그 인덱스 확인 weblogs-yyyy.MM.dd 형식
- 좌측 메뉴의 Analytics의 Dashboard 클릭
- Create data view를 통해 인덱스 선택
- 전체 조회 : Index Pattern에
weblogs-*
입력 및 저장 - 선택 조회 : Index Pattern에 보고싶은 날짜입력 (eg.
weblogs-2023.01.01
)
- 전체 조회 : Index Pattern에
- Create Visualization 클릭
- 보고 싶은 필드를 화면에 드롭다운 하여 시각화
docker-example
├── backend
│ └── ...
├── frontend
│ └── ...
├── logging-example
│ ├── elasticsearch
│ │ ├── config
│ │ │ └── elasticsearch.yml
│ │ └── Dockerfile
│ ├── filebeat
│ │ ├── config
│ │ │ └── filebeat.yml
│ │ └── Dockerfile
│ ├── kibana
│ │ ├── config
│ │ │ └── kibana.yml
│ │ └── Dockerfile
│ └── logstash
│ ├── config
│ │ └── logstash.yml
│ ├── pipeline
│ │ └── logstash.conf
│ └── Dockerfile
├── nginx
│ ├── nginx.conf
│ └── log # 실행시 자동 생성
│ ├── access.log
│ └── error.log
├── docker-compose.logging.yml
└── docker-compose.prod.yml