一、简介

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版本

本地配置elk日志收集 elk收集windows日志_搜索

三、配置和启动

Elasticsearch

12.7.1版本无需配置,可直接启动。

点击bin目录下elasticsearch.bat直接启动

启动后无报错,网页输入http://localhost:9200/展示如是页面,表示启动成功。

本地配置elk日志收集 elk收集windows日志_搜索_02

Kibana

直接启动。

点击bin目录下kibana.bat直接启动

启动后无报错,网页输入http://localhost:5601/展示如是页面,表示启动成功。

本地配置elk日志收集 elk收集windows日志_elk_03

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

启动

四、创建索引

本地配置elk日志收集 elk收集windows日志_本地配置elk日志收集_04

本地配置elk日志收集 elk收集windows日志_本地配置elk日志收集_05


本地配置elk日志收集 elk收集windows日志_Elastic_06


创建时需要在日志中更新一条记录,否则索引列表里没有配置的server索引,导致无法创建。

本地配置elk日志收集 elk收集windows日志_elk_07


选择@timestamp创建。

五、查看日志

本地配置elk日志收集 elk收集windows日志_本地配置elk日志收集_08


本地配置elk日志收集 elk收集windows日志_搜索_09