前言
最近项目有很多日记需要记录,由于之前系统修改数据都是直接保存数据库,导致数据库单表的数据越来越多,后续查询越来越慢,在此基础上,急需一套日记采集系统来支撑。目前比较成熟的方案就是Filebeat+Logstash+ElasticSearch来实现,
笔者因此动手实现该系统,这套系统目前是基于elasticsearch-7.0.1实现的,在安装完三个主要软件之后,
接下来看看具体的配置文件:
Filebeat的配置
1 | filebeat.inputs: |
Logstash的配置
1 | input { |
这里重点在filter这里,由于filebeat收集到的message本身就是JSON字符串,所以这里要将json字符串进行转换,然后再输出到elasticsearch中。
elasticsearch 的配置
1 | cluster.name: elasticsearch ##集群的名字 |
启动方法
后台启动logstash
nohup ./logstash -f /opt/elk/logstash-7.0.1/config/logstash-sample.conf &后台启动filebeat
nohup ./filebeat -e -c filebeat.yml -d “publish” &elasticsearch的启动
./elasticsearch -d
如果测试filebeat,需要删除/opt/elk/filebeat-7.0.1-linux-x86_64/data下的registry的文件夹,因为它读取log每次是增量读取的。