선행으로 보면 도움 되는 글
Docker Filebeat 설치
docker pull docker.elastic.co/beats/filebeat:7.15.2
docker 를 통해 pull 받는다. (생략 가능)
위와 같은 로그들이 출력되면 설치가 정상적으로 진행된 것이다.
Docker Filebeat 환경 설정 파일 작성(yml)
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.15/deploy/docker/filebeat.docker.yml
위 명령어를 통해 환경 설정 파일을 다운로드한다.
filebeat.config:
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
#filebeat.autodiscover:
# providers:
# - type: docker
# hints.enabled: true
processors:
- add_cloud_metadata: ~
filebeat.inputs:
- type: log
enabled: true
paths:
- /hostFiles/logs/*.log
output.elasticsearch:
hosts: '${ELASTICSEARCH_HOSTS:elasticsearch:9200}'
- filebeat.config.modules
- path - 사용할 모듈의 설정 파일 경로 지정
- reload.enabled - 활성화 시 주기적으로 설정 파일 변경 사항 확인
- filebeat.autodiscover.providers - 현재 상태로 filebeat를 실행하면 elasticsearch, kibana의 모든 로그를 수집하여 로그파일이 어마어마하게 많이 잡힌다.(참고) -> 해당 부분이 input 부분을 덮어버리므로 해당부분을 사용하지 않고 input을 작성
- processors.add_cloud_metadata - filebaet가 로그를 수집할 때 추가할 메타데이터를 아래와 같이 정의 -> 추가된 정보를 통해 kibana에서 실시간 검색 및 분석에 활용 가능
{
"provider": "ec2"
}
- filebeat.inputs - 모듈을 사용하지 않고 수동으로 입력을 구성
- type - 수집할 데이터 유형
- paths - 수집할 데이터의 경로
- output.elasticsearch - elasticsearch로 출력 환경 구성 (공식 문서 참고)
- hosts. elasticsearch 주소 및 포트
Filebeat container 실행
다음 명령어를 통해 filebaet container를 실행한다.
docker run -d --name filebeat \
--network test-network \
--user=root \
-v /Users/burger/Desktop/Docker/filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro \
-v /Users/burger/Desktop/Docker:/hostFiles/logs \
-v /var/lib/docker/containers:/var/lib/docker/containers:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
docker.elastic.co/beats/filebeat:7.15.2 \
-E output.elasticsearch.hosts=easticsearch:9200
- --user = root - root 권한으로 filebeat실행
- -v - filebeat 환경 설정 파일 바인딩 마운트
- -E - 로그를 전달할 elasticsearch 주소 및 포트
Kibana를 통해 로그 인덱스 확인
먼저 elasticsearch + kibana를 docker compose로 실행하고 input path로 지정한 경로에 log파일을 생성한다.
spring boot slf4j를 통해 남긴 로그 파일이다. kibana를 통해 인덱스를 확인해보면
filebeat에서 elasticsearch로 전달된 로그 파일이 Kibana 인덱스에 생성되었다.
'Docker' 카테고리의 다른 글
[Docker] Docker Nginx, Reverse Proxy로 서버 구동 및 보안 설정(with kibana) - 2 (0) | 2021.12.07 |
---|---|
[Docker] Docker Nginx, Reverse Proxy로 서버 구동 및 보안 설정(with kibana) - 1 (0) | 2021.12.07 |
[Docker] Elasticsearch, Kibana를 docker-compose로 구동 (0) | 2021.11.25 |
[Docker] Docker Compose 사용 (0) | 2021.11.24 |
[Docker] Docker 데이터 저장 (볼륨 / 바인드 마운트 / tmpfs) (0) | 2021.11.23 |