반응형
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 하나로 어디서든 같은 환경에서 실행 가능
728x90
반응형
그리드형
'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 |