ELK日志收集环境搭建
这是一个简化的elk日志收集,用filebeat替代了logstash,filebeat对内存的消耗要小于logstash。在下载的时候组建的版本号需要选择相同版本的。
环境准备
elasticsearch 下载
filebeat 下载
kibana 下载
文件配置
elasticsearch
elasticsearch.yml配置,可以不修改是用默认配置
path.data: C:\Users\xxx\Downloads\elasticsearch-6.2.2\path\to\data
path.logs: C:\Users\xxx\Downloads\elasticsearch-6.2.2\path\to\logs
network.host:10.40.1.141
jvm.options 修改jvm内存配置
-Xms1g
-Xmx1g
这2个值设置一样的
kibana
kibana.yml 修改es的端口地址,跟es配置中network.host用一个地址,端口是9200
elasticsearch.url: “http://10.40.1.141:9200”
filebeat
filebeat.yml 配置
#=========================== Filebeat prospectors =============================
filebeat.prospectors:
enabled: true #开启日志收集
- type: log # 收集器类型
- D:\logs\*.log #收集的文件目录
#==================== Elasticsearch template setting ==========================
setup.template.enabled: true
output.elasticsearch.index: "mysecendlog-%{[beat.version]}-%{+yyyy.MM.dd}" #输入到es的索引名称
setup.template.name: "mysecendlog" #es模板名称
setup.template.pattern: "mysecendlog-*" #模板匹配的索引前缀
setup.dashboards.index: "mysecendlog-*" #kibaba的仪表盘中显示的名称
setup.template.settings:
index.number_of_shards: 3 # 索引分片数
#============================== Dashboards =====================================
setup.dashboards.enabled: true #开启kibana仪表盘显示
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
hosts: ["10.40.1.141:9200"] #es地址
Elasticsearch template setting 中的设置可以不使用,这样filebeat会使用默认的设置
配置设置好以后,我们先启动es,然后启动kibana,在启动filebeat,启动成功之后filebeat会往es上建一个模板和一个索引。
我们在自己本机测试的时候如果修改了filebeat的配置,重启的时候有时会不生效,这时可以删除data目录下面的register文件
结果
这样一个简单日志收集就完成