Keyword: Filebeat
alpine
docker
简介
filebeat是用来将各式各样的日志文件发送给logstash或者elasticsearch做index然后做分析,鉴于这样的实时性,快速部署与启动显得尤为重要,当前,elastic.co公司所提供的官方docker images全部基于centos的basic image来做镜像,并且官方说明短时间内不会考虑用其他basic image,包括alpine这样的最轻量级的image,这样会导致size高达170MB甚至更大,对于部署启动的时候尤其依赖网络传输的速度来决定启动的速度
目标
经过长时间的实践,结合微服务和容器化的思想,将无关的、无用的资源去掉,封装成一个单一,纯净的image镜像,使用当前最轻量级的OS-alpine来封装filebeat,更轻量级,大小只有16M左右,方便快速启动
Prerequisite
OS : Centos 7.x
Docker engine > 1.12.x
Docker-compose > 1.11.x
下面介绍如何使用并启动filebeat-alpine
-
Clone GIT Folder
git clone https://github.com/easonlau02/filebeat-alpine.git
使用eason02/filebeat-alpine,一些你需要配置的properties
-
确保你的日志文件在如下的路径格式中,其中PATH需要做docker-compose配置的,application这一层可以有很多的app name,每个app folder下面有一个叫做logs的folder,然后下面才是具体的*.log文件
PATH/application/logs/*.log
-
用上面的PATH来修改 docker-compose file
volumes: - PATH:/home/user/
filebeat会通过如下的路径自动扫描日志:
PATH/
*/logs
/*.log
-
使用docker-compose启动
docker-compose up -d
-
docker ps | grep filebeat-alpine
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8b7a1d8a35c0 eason02/filebeat-alpine:5.3.1 "filebeat -e filebeat" 18 seconds ago Up 17 seconds filebeat-alpine-5.3.1
** 文章所有步骤都是经过实践检验并可行,若有问题,下方请评论。
——END——
作者 : Eason
,专注各种技术、平台、集成,不满现状,喜欢改改改
文章、技术合作
Email : eason.lau02@hotmail.com