Windows系统搭建ELK日志收集服务器
一、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;"
classpath:
验证:cmd模式输入“Java --version”,如下:
记得添加完环境变量后,重启一个cmd窗口
三、安装node.js
双击安装包直接安装,安装完成后验证,cmd下输入 node -v。
四、安装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”。
出现以下错误,说明版本不对
执行成功后在浏览器输入“http://127.0.0.1:9200/”,出现以下界面说明elasticsearch启动成功
五、安装elasticsearch-head
我下载的是网盘压缩文件,先解压,把解压后的“elasticsearch-head-master”文件夹拷贝到“D:\elk”下面一份。
cmd模式下进入“D:\elk\elasticsearch-head-master”目录,执行以下命令:
npm install -g grunt-cli
npm install
配置文件是:elasticsearch-head/Gruntfile.js,里面可以修改服务器监听地址和端口信息。
安装完成后执行“npm run start”启动,浏览器打开“http://127.0.0.1:9100/”,出现以下界面说明启动成功。
六、安装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”命令。
启动完成后,浏览器打开“http://127.0.0.1:9600/”,出现以下界面成功
七、安装kibana
将加压后的“kibana-7.10.2-windows-x86_64”文件夹拷贝到“D:\elk”下面一份。
cmd进入“D:\elk\kibana-7.10.2-windows-x86_64\bin”目录,执行“kibana.bat”
执行成功后,浏览器打开“http://127.0.0.1:5601”,出现kibana图形界面。依次点击下面三个按钮,导入上面logstash配置文件里设置的日志信息。
点击 “Index Patterns”后进入下面界面,然后点击右上的“Create index pattern”按钮。
创建成功后点击discover,页面展现获取的数据。
如果没有数据,根据上面“logstash”配置文件,找到抓取日志的目录,在里面创建一个log日志文件,随便出入几行内容,logstash窗口会实时抓取你输入的内容,并输出到elasticsearch。
输入“lisi”测试,出现以下结果。ELK环境框架搭架完成。