ELK搭建开源日志系统(window版本)—图文详细

2022-09-27 10:29:44 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君

ELK搭建开源日志系统(window版本)—图文详细

日志对于排查错误非常重要,使用linux命令awk sed grep find等命令查询日志非常麻烦,而且很难做数据分析,使用免费开源的ELK可以支撑大规模的日志检索,本文将一步步教怎么快速搭建一个window版本的ELK日志收集系统。

下载elasticsearch、logstash、kibana、filebeat

注意同一系列的版本要一样,防止出现版本不兼容问题,本文使用7.16.0版本,在window系统演示

下载elasticsearch

访问地址为:https://www.elastic.co/cn/downloads/past-releases

点击Donload下载

跳转到访问地址为: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-16-0

可以选择window或者linux版本,本文下载window版本

下载logstash

点击Donload下载

跳转到访问地址为: https://www.elastic.co/cn/downloads/past-releases/logstash-7-16-0

选择window版本

下载kibana

访问地址为:https://www.elastic.co/cn/downloads/past-releases/kibana-7-16-0

选择window版本

跳转到访问地址为:https://www.elastic.co/cn/downloads/past-releases/filebeat-7-16-0

下载filebeat

选择window版本

下载jdk11

由于7.16.0版本需要依赖java jdk11版本,需要将本地java环境切换到jdk11

访问网站: http://www.codebaoku.com/jdk/jdk-oracle-jdk11.html

点击下载

全部下载完解压

安装jdk11、elasticsearch、kibana、logstash、filebeat

安装jdk11

使用win X键,并选择Windows终端

输入

代码语言:javascript复制
cd F:softelk
dir	

打开window搜索框搜索环境变量,打开编辑系统环境变量

点击环境变量

添加JAVA_HOME路径

代码语言:javascript复制
F:softelkjdk-11.0.13_windows-x64_binjdk-11.0.13

将java执行路径添加到Path变量中,输入

代码语言:javascript复制
%JAVA_HOME%bin
%JAVA_HOM%jrebin

新打开一个shell(一定要重新打开一个新的shell才会加载刚配置过的jdk11环境变量)

并执行命令,可以看到jdk11提示输出,表示jdk11安装成功

代码语言:javascript复制
java -version

启动elasticsearch

启动新的shell,并执行命令

代码语言:javascript复制
cd F:softelk
.elasticsearch-7.16.0-windows-x86_64elasticsearch-7.16.0binelasticsearch.bat

如果本地使用localhost访问,不需要修改配置文件,否则需要修改如下

代码语言:javascript复制
network.host: 0.0.0.0

可以看到elasticsearch执行成功

启动kibana

启动新的shell,并执行命令

代码语言:javascript复制
cd F:softelk
.kibana-7.16.0-windows-x86_64kibana-7.16.0-windows-x86_64binkibana.bat

可以看到执行成功

访问网站,可以看到启动成功

http://localhost:5601/app/home#/

点击Explore on my own

启动logstash

在logstash配置文件中,新增文件名log.conf

内容如下:

输入指定通过5044端口使用Filebeat接收数据。

指定在elasticsearch中创建test的索引,将数据输出到test索引中。

代码语言:javascript复制
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input { 
   
  beats { 
   
    port => 5044
  }
}

output { 
   
  elasticsearch { 
   
    hosts => ["http://localhost:9200"]
    index => "test"
    #user => "elastic"
    #password => "changeme"
  }
}

启动新的shell,并执行命令

代码语言:javascript复制
cd F:softelk
.logstash-7.16.0-windows-x86_64logstash-7.16.0binlogstash.bat -f D:conflogstash-8.1.0-windows-x86_64logstash-8.1.0configlog.conf

可以看到启动成功

启动filebeat

新建日志log测试日志文件夹

进入log文件夹,创建data.log文件

内容为

代码语言:javascript复制
[08/Nov/2019:11:40:24  0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:54ms
[08/Nov/2019:11:40:24  0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:63ms
[08/Nov/2019:11:40:24  0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:75ms

编辑filebeat文件

将enable改成true,同时设置日志路径为

代码语言:javascript复制
F:softelklog*.log

将filebeat.config.modules的enable改成true

将输出到elasticsearch中使用#注释去掉,并将输出到logstash注释删除掉

代码语言:javascript复制
cd F:softelk
.filebeat-7.16.0-windows-x86_64filebeat.exe -e -c F:softelkfilebeat-7.16.0-windows-x86_64filebeat.yml

可以看到filebeat运行成功

kibana查询日志

命令查询创建的索引数据

访问网站,并点击左上角

http://localhost:5601/app/home#/

左侧向下滑动,选中management,并点击Dev Tools

在Console输入下面命令

代码语言:javascript复制
GET /_cat/indices?v

在点击绿色执行按钮,可以看到,索引test已经创建

输入下面命令,查询索引test的数据,可以看到日志数据已经成功上传

代码语言:javascript复制
GET test/_search
{ 
   
    "query": { 
   
        "match_all": { 
   }
    }
}

通过界面查看和索引日志数据

点击Stack Management

选择Index Patterns

输入索引名称test,可以看到有匹配的,选择时间字段为@timestamp,点击Create Index pattern

看到创建成功

选择Discover

可以看到默认为test索引

选择时间范围大一点

点击Update

可以看到数据完全被加载出来

通过关键词totalTime搜索,点击Refresh,可以看到下面搜索高量的部分

总结

可以看到一个简单的日志收集系统搭建成功,我们可以根据这套系统收集日志,并做分析,本文只是针对window版本的介绍,后续会在linux版本搭建一套,步骤基本一致,更多实用搜索功能敬请期待。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179082.html原文链接:https://javaforall.cn

0 人点赞