Windows从零开始的ELK日志搜集系统搭建

462 阅读2分钟

从官网下载

elasticsearch

传送门:www.elastic.co/cn/download…

filebeat

传送门:www.elastic.co/cn/download…

kibana

传送门:www.elastic.co/cn/download…

logstash

传送门:www.elastic.co/cn/download…

在此上传8.4.2的解压包下载路径

elasticsearch-8.4.2-windows-x86_64.zip

filebeat-8.4.2-windows-x86_64.zip

kibana-8.4.2-windows-x86_64.zip

logstash-8.4.2-windows-x86_64.zip

使用nssm将elasticsearch、kibana注册成Windows服务

传送门:www.nssm.cc/download

nssm-2.24.zip

elasticsearch

image-20220928115022427

Kibana

Kibana配置文件修改

文件路径:kibana-8.4.2\config 配置文件的修改内容如下:

image-20220928144352420

image-20220928144435309

将下载后的nssm.exe文件复制到Kibana的bin目录里,双击执行

绑定启动文件和启动路径,服务就注册好了

使用nssm将Kibana注册成服务

image-20220928115138120

启动好之后

查看 elasticsearch http://127.0.0.1:9200

image-20220928133517330

查看 Kinbana http://127.0.0.1:5601

image-20220928133536711

配置logstash文件

在logstash-8.4.2\config解压的config文件夹下新建logstash的配置文件

image-20220928133759520

配置的文件内容如下

#input是日志文件的来源处,可以从log文件中读取,也可以从后台端口服务中启用
#这边配置的是从beats(filebeats)中上传读取的,
input {
  beats {
    port => 5044
  }
}
#filter是过滤器,可以用来匹配日志,利用自定义字段区分判断日志归属
filter{
    grok{
        #通过[和]来匹配对应数据
        match => {"message" => "[%{DATA:date}][%{DATA:level}][%{DATA:proc}] %{DATA:msg}"}
        
    }
    json{
            source => "message"
        }
        if [mptype] {
        mutate {
           add_field => {
             "index_name" => "%{mptype}-%{+YYYY.MM.dd}"
           }
          }
        } else {
          mutate {
           add_field => {
             "index_name" => "未知模块日志"
           }
          }
        }
}
#output主要是日志的输出,基本上都是发送到elasticsearch
output {
  elasticsearch {
   hosts => ["http://localhost:9200"]
   index => "mp_%{index_name}"
 }
 stdout { codec => rubydebug }
}
​

配置完之后启用cmd命令行启动logstash

命令如下:

D:\ELK\logstash-8.4.2\bin\logstash.bat  -f  D:\ELK\logstash-8.4.2\config\lostash-local.conf
#指定logstash.bat启动,并且以刚刚定义的config文件启动

当出现这个的时候就代表logstash启动成功

image-20220928134959250

查看 logstash页面

http://127.0.0.1:9600/

image-20220928135125912

beats(filebeat)配置启动文件

打开解压的文件夹filebeat-8.4.2-windows-x86_64

image-20220928140628955

修改配置文件 filebeat.yml

内容如下

image-20220928141252663

image-20220928142052738

配置完之后启用cmd命令行启动filebeat

命令如下:

D:\ELK\filebeat-8.4.2-windows-x86_64\filebeat.exe  -e -c  D:\ELK\filebeat-8.4.2-windows-x86_64\filebeat.yml

注意:要先启动logstash,再启动filebeat,不然会报端口错误

Kibana界面使用

image-20220928144959463

左边打开菜单栏,进入开发工具

这边显示的是一个控制台

image-20220928145429737

使用命令查看所有可用日志文件

GET /_cat/indices?v

image-20220928145618473

运行之后搜索出这些文件

下面进入到stack Management

image-20220928150800032

按步骤点击创建视图,关联上前面的索引

image-20220928150913566

image-20220928151439300

下面就是查看成果的时候了,进入discover视图

image-20220928151917057

从这边选择你刚刚创建的视图,进行日志查看

image-20220928152334880

如果出现这样的页面,不用担心,

image-20220928152534137

调整一下你日志的输出时间,然后点击刷新

image-20220928152611345

image-20220928152636040

这样的日志信息太杂乱了,我们要给他进行修剪一下

image-20220928153207237

将主要输出内容筛选出来,主要的输出内容都在【message】这个字段里

image-20220928153324576

顺带的,我们再把时间日期格式修改一下

image-20220928153445312

image-20220928153519653

image-20220928153613587

最后的结果,是不是就顺眼很多了 image-20220928153654684