一、简介
Elasticsearch(理解为数据库,存储日志信息)
分布式搜索和分析引擎。具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。
Logstash(接受日志存储到Elasticsearch)
日志收集器。搜集各种数据源,并对数据进行过滤、分析、格式化等操作,然后存储到 Elasticsearch。
Kibana(可视化页面,用于查询)
数据分析和可视化平台。与 Elasticsearch 配合使用,对其中数据进行搜索、分析、图表展示。
Filebeat(日志监控,日志新增后传递数据至Logstash)
一个轻量级开源日志文件数据搜集器,Filebeat 读取文件内容,发送到 Logstash 进行解析后进入 Elasticsearch,或直接发送到 Elasticsearch 进行集中式存储和分析。
二、下载
下载地址:https://www.elastic.co/cn/downloads/past-releases注:不要下载最新版本,我用的版本7.12.1的zip安装;jdk用本地电脑的1.8版本
三、配置和启动
Elasticsearch
12.7.1版本无需配置,可直接启动。
点击bin目录下elasticsearch.bat直接启动
启动后无报错,网页输入http://localhost:9200/展示如是页面,表示启动成功。
Kibana
直接启动。
点击bin目录下kibana.bat直接启动
启动后无报错,网页输入http://localhost:5601/展示如是页面,表示启动成功。
Logstash
在bin目录下新建logstash.conf文件
input {
beats {
host => "localhost"
port => "5044" # filebeat输出端口
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
#server为索引,配置索引时需要
index => "server-%{+YYYY.MM.dd}"
}
}
cmd切换到bin目录下
logstash -f logstash.conf
启动
FileBeat
修改filebeat.yml文件
filebeat.inputs:
- type: log
enabled: true
paths:
#- /var/log/*.log
#日志路径
- D:\file\mylog\*.log
multiline: # 多行处理,正则匹配
pattern: '^\d{4}' # 开头为4个数字
negate: true # true开启正则。默认false
match: after # 不匹配放在上一行后面
# 目标源logstash
output.logstash:
# logstash主机,可配置多个
hosts: ["localhost:5044"]
cmd切换到filebeat.yml所在目录
filebeat -e -c filebeat.yml
启动
四、创建索引
创建时需要在日志中更新一条记录,否则索引列表里没有配置的server索引,导致无法创建。
选择@timestamp创建。
五、查看日志