DevOps/ELK

Filebeat - Dockerfile

게임이 더 좋아 2023. 7. 1. 07:40
반응형
728x170

맨날 다운받아서.. 서비스로 이용하다보니까 귀찮아서 도커파일로 말아서 어디서든 쓸 수 있게 만들고 싶다.

알아보자

 


 

Dockerfile

# 공식적인 이미지 사용
FROM docker.elastic.co/beats/filebeat:7.13.2

# Filebeat Configuration 경로 환경변수 -> 여기서 정의한 ENV 같은 변수들은 Container 내부에서 쓰이거나 Dockerfile에서 쓰임
ENV FILEBEAT_CONFIG_PATH /usr/share/filebeat/filebeat.yml

# Filebeat Configuration 파일 ★★★
COPY filebeat.yml ${FILEBEAT_CONFIG_PATH}

# 추가적인 Configuration 파일 필요하면 복사
# COPY modules.d/ /usr/share/filebeat/modules.d/


# 추가적으로 파일비트 모듈을 설치할 수 있음 - `filebeat modules enable` command
# RUN filebeat modules enable apache2


# 추가적으로 파일비트 프로세서 설치할 수 있음 - `filebeat processors add` command
# RUN filebeat processors add_fields.fields.name=myfield


# Logstash Server의 값 추가적으로 변수 선언하여 yml 파일에서 쉽게 이용 가능
# ENV LOGSTASH_HOST=logstash.example.com ★★★
# ENV LOGSTASH_PORT=5044


# 파일비트가 쓸 디렉토리를 만들어놓음 -> 호스트 머신에 마운트가능 -v 옵션 사용 ★★★
# docker run -v /host/log/filebeat:/var/log/filebeat my-filebeat-container

# Expose the Filebeat logs directory as a volume ★★★
VOLUME /var/log/filebeat

# Start Filebeat when the container starts -> 선언하지 않아도 Filebeat에서아래 명령어는 Default로 실행됨
#CMD ["filebeat", "-e", "-strict.perms=false"] ★★★
CMD [ "sudo", "filebeat", "-e","-strict.perms=false", "-d",""publish""]

 

 

Dockerfile + filbeat.yml 이 한 세트가 되어 실행되는 것이다.

 


 

컨테이너 환경을 구성했을 때 이점

까다로운 install  과정이 줄어듦

Dockerfile 하나로 어디서든 같은 환경에서 실행 가능

반응형
그리드형

'DevOps > ELK' 카테고리의 다른 글

Elasticsearch  (2) 2023.04.01
Logstash vs Filebeat  (0) 2023.01.04
Filebeat Tutorial, 파일비트 튜토리얼  (0) 2022.12.29
ELK, Elasticsearch+Logstash+Kibana  (0) 2022.12.29
Logstash Tutorial, 로그스태시 튜토리얼  (2) 2022.12.29