filebeat可以减少logstash的资源损耗
filebeat是轻量级日志采集器
es,kibana,filebeat三个版本一定要一样,可以参考下面的链接安装es和kibana
docker拉取filebeat
docker pull docker.elastic.co/beats/filebeat:8.1.0
创建日志文件夹
mkdir -p /usr/share/filebeat/demo1
mkdir -p /usr/share/filebeat/demo2
cd /usr/share/filebeat
vi /usr/share/filebeat/filebeat.yml
内容
定义demo1、demo2等应用的input类型、以及存放的具体路径
/var/log/demo1/ docker容器的目录
/var/log/demo2/ docker容器的目录
dm1,dm2,在es创建的索引
username: "elastic" es的账号 如果你的没有设置 可以删除掉
password: "hVdm3ICXpNkT9zozGlzc" es的密码 如果你的没有设置 可以删除掉
hosts :es集群的地址,也可以为单节点
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/demo1/*.log
fields:
index: dm1
- type: log
enabled: true
paths:
- /var/log/demo2/*.log
fields:
index: dm2
# 自定义ES的索引需要把ilm设置为false
setup.ilm.enabled: false
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
hosts: ["http://192.168.1.11:9200","http://192.168.1.12:9200","http://192.168.1.13:9200"]
username: "elastic"
password: "hVdm3ICXpNkT9zozGlzc"
indices:
- index: "dm1"
when.equals:
fields:
index: "dm1"
- index: "dm2"
when.equals:
fields:
index: "dm2"
启动容器
docker run -d -v /usr/share/filebeat/demo1/:/var/log/demo1/ \
-v /usr/share/filebeat/demo2/:/var/log/demo2/ \
-v /usr/share/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
--name filebeat docker.elastic.co/beats/filebeat:8.1.0
查看日志
docker logs -f filebeat
我们在开一个窗口
cd /usr/share/filebeat/demo1
vi cc.log
随便输入一个1234567
我们可以看到filebeat的日志立马刷新了
![](https://i-blog.csdnimg.cn/blog_migrate/9664d068eef61c75d38ca8034389fff1.png)
我们来kibana控制台看下索引下的内容
GET dm1/_search
![](https://i-blog.csdnimg.cn/blog_migrate/6e648151d7c98800e4a0f363e6a2e3f8.png)
我们在来demo2目录写一个日志
cd /usr/share/filebeat/demo2
vi dd.log
随便输入一个78910
我们在来kibana控制台看一下dm2索引下的内容
![](https://i-blog.csdnimg.cn/blog_migrate/952db02cd262a0083d0a217c2a328085.png)