一、ELK是什么?
ELK是由Elasticsearch、Logstash、Kibana这3个软件的首字母缩写。

Elasticsearch是一个分布式搜索分析引擎,稳定、可水平扩展、易于管理是它的主要设计初衷,需要依赖java运行环境,所以要确保你本地已经安装了jdk。

ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具,要使用elasticsearch-head需确保安装了node.js.

Logstash是一个灵活的数据收集、加工和传输的管道软件。

Kibana是一个数据可视化平台,可以通过将数据转化为酷炫而强大的图像而实现与数据的交互将三者的收集加工,存储分析和可视转化整合在一起就形成了 ELK 。

ELK的大致工作顺序:应用程序产生log日志》Logstash收集日志》Logstash整理输出到Elasticsearch》通过Kibana展示。

各个安装包地址:

jdk:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

node.js:https://nodejs.org/en/

Elasticsearch:https://www.elastic.co/cn/downloads/elasticsearch

  • win7 建议下载7.6.1的版本,JDK1.7以上;
  • 7.17.3 需要 win8 和最低 node.js 12.0.0版本;

elasticsearch-head:https://pan.baidu.com/s/1uUaZ4-jONtwuAMTVydOk7w  提取码:kqt6  git下载:https://github.com/mobz/elasticsearch-head

Logstash:https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-windows-x86_64.zip

Kibana:https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-windows-x86_64.zip

下面我们安装顺序就安装Elasticsearch、Logstash、Kibana的顺序。

二、安装JDK,并验证(如果之前安装了JDK直接跳过)

双击JDK安装包安装,并设置了环境变量,如下图:

JAVA_HOME 和 PATH添加:";%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"

elk怎么收集java日志 elk收集windows日志_elasticsearch

 

 

 

elk怎么收集java日志 elk收集windows日志_elk怎么收集java日志_02

classpath:

 

elk怎么收集java日志 elk收集windows日志_elk怎么收集java日志_03

 

 

 

 验证:cmd模式输入“Java --version”,如下:

记得添加完环境变量后,重启一个cmd窗口

elk怎么收集java日志 elk收集windows日志_Elastic_04

 

 

 

三、安装node.js

双击安装包直接安装,安装完成后验证,cmd下输入 node -v。

elk怎么收集java日志 elk收集windows日志_elasticsearch_05

 

 

 

四、安装Elasticsearch

解压zip压缩文件,在D盘跟目录创建一个新的文件夹,命名“ELK”,把解压后的“elasticsearch-7.12.0-windows-x86_64”文件夹拷贝到下面。

打开“D:\elk\elasticsearch-7.12.0-windows-x86_64\config”下面的“elasticsearch.yml”文件,在最下面添加以下代码并保存。

http.cors.enabled: true
http.cors.allow-origin: "*"

cmd模式进入“D:\elk\elasticsearch-7.12.0-windows-x86_64\bin”目录,执行“elasticsearch.bat”。

elk怎么收集java日志 elk收集windows日志_Elastic_06

 出现以下错误,说明版本不对

elk怎么收集java日志 elk收集windows日志_node.js_07

 

 

 

 执行成功后在浏览器输入“http://127.0.0.1:9200/”,出现以下界面说明elasticsearch启动成功

elk怎么收集java日志 elk收集windows日志_elk怎么收集java日志_08

 

五、安装elasticsearch-head

我下载的是网盘压缩文件,先解压,把解压后的“elasticsearch-head-master”文件夹拷贝到“D:\elk”下面一份。

cmd模式下进入“D:\elk\elasticsearch-head-master”目录,执行以下命令:

npm install -g grunt-cli
npm install

配置文件是:elasticsearch-head/Gruntfile.js,里面可以修改服务器监听地址和端口信息。

elk怎么收集java日志 elk收集windows日志_elasticsearch_09

 

 

 安装完成后执行“npm run start”启动,浏览器打开“http://127.0.0.1:9100/”,出现以下界面说明启动成功。

elk怎么收集java日志 elk收集windows日志_elasticsearch_10

 

 

 

六、安装Logstash

将加压后的“logstash-7.12.0”文件夹拷贝到“D:\elk”下面一份。

cmd进入“D:\elk\logstash-7.12.0\bin”目录下,创建一个“logstash.conf”文件,并写入以下配置。

 

input {
    file {
        type => "nginx_access"
        path => "D:/WWW/log/crm6/*.log"
        start_position => "beginning"
    }
}
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "access-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => json_lines
    }
}

 

保存后在cmd下执行“logstash.bat -f ../config/logstash.conf”命令。

elk怎么收集java日志 elk收集windows日志_node.js_11

 

 

 启动完成后,浏览器打开“http://127.0.0.1:9600/”,出现以下界面成功

elk怎么收集java日志 elk收集windows日志_node.js_12

 

 

 七、安装kibana

将加压后的“kibana-7.10.2-windows-x86_64”文件夹拷贝到“D:\elk”下面一份。

cmd进入“D:\elk\kibana-7.10.2-windows-x86_64\bin”目录,执行“kibana.bat”

elk怎么收集java日志 elk收集windows日志_node.js_13

 

 

 执行成功后,浏览器打开“http://127.0.0.1:5601”,出现kibana图形界面。依次点击下面三个按钮,导入上面logstash配置文件里设置的日志信息。

elk怎么收集java日志 elk收集windows日志_node.js_14

 

 

 点击 “Index Patterns”后进入下面界面,然后点击右上的“Create index pattern”按钮。

 

elk怎么收集java日志 elk收集windows日志_node.js_15

 

 

 

 

elk怎么收集java日志 elk收集windows日志_elasticsearch_16

 

 

 

elk怎么收集java日志 elk收集windows日志_node.js_17

 

 

 创建成功后点击discover,页面展现获取的数据。

elk怎么收集java日志 elk收集windows日志_node.js_18

 

 

 

 

 

 如果没有数据,根据上面“logstash”配置文件,找到抓取日志的目录,在里面创建一个log日志文件,随便出入几行内容,logstash窗口会实时抓取你输入的内容,并输出到elasticsearch。

 

elk怎么收集java日志 elk收集windows日志_Elastic_19

 

 输入“lisi”测试,出现以下结果。ELK环境框架搭架完成。

elk怎么收集java日志 elk收集windows日志_node.js_20