继上一篇文章《使用docker安装elk》后,我乘胜追击,想一鼓作气的完成采集日志的功能,结果在这栽了跟头,原因是因为我对docker理解不够深刻。这一篇文章讲的是使用filebeat采集日志发送到elk(可以假想成多个服务器采集日志然后发送到elk中心去)
配置要求
Linux centos
elk(我使用的是docker安装的elk,可能和普通的安装的有些不一样)
1.docker拉取filebeat
docker pull docker.elastic.co/beats/filebeat:7.1.1
2.配置filebeat
在usr/local/filebeat(任意选择在哪个文件夹下下载)下下载filebeat.docker.yml
wget https://raw.githubusercontent.com/elastic/beats/8.3/deploy/docker/filebeat.docker.yml
我们在宿主机上配置好filebeat后挂载到docker filebeat(待会启动的容器)上,想要更改配置就可以直接在filebeat.docker.yml上更改然后重启容器就行
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:
# 需要收集的日志所在的位置,可使用通配符进行配置
- /usr/share/filebeat/logs/*
output.elas