随着项目越来越庞大,日志的数量也随之增多,游戏上线后的日志量肯定更多了,所以对日志的收集、存储、查询就非常重要了,开源界第一日志分析系统ELK必不可少。
ELK系统由Elasticsearch(分布式存储搜索服务器)、Logstash(日志收集服务器)和Kibana(Elasticsearch前端展示工具)三个开源工具组成。
ELK工作原理展示图:
如上图所示,Logstash收集AppServer产生的Log,并存放到Elasticsearch集群中,而Kibana则从ES集群中查询数据,最后通过Browser(浏览器)展示查询结果。
下图是博主自己建立ELK系统的计划用时与实际用时对比图,大家可以参考下:
接下来,我们先学习ELK三个工具的部署安装,并试验你的第一个例子。
一、elasticsearch 部署安装
1、官网下载ZIP
2、解压
3、进bin目录:G:\elasticsearch-5.6.3\elasticsearch-5.6.3\bin,shift+右键 --》 “此处打开命令行”,输入:elasticsearch
4、报错:elasticsearch missing `server' JVM at `C:\Program Files (x86)\Java\jre1.8.0\bin\server\jvm.dll'.
解决办法:jdk1.8.0\jre\bin\server 整个文件夹,复制到 jre1.8.0\bin 里面
5、继续执行第3步,输入:elasticsearch
6、报错:
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
解决办法:G:\elasticsearch-5.6.3\elasticsearch-5.6.3\config\jvm.options,修改jvm.options文件的22,23行,
启动ES成功,打开地址:http://localhost:9200/
二、logstash 部署安装
1、下载ZIP
2、解压
3、找到 G:\ELK\logstash-5.6.3\config\jvm.options,修改其中JVM的内存配置为512m,6、7行
4、进行最简单的管道测试,进入 G:\ELK\logstash-5.6.3\bin 目录,shift+右键 "此处打开命令行" 输入:logstash -e 'input { stdin { } } output { stdout {} }'
5、可以看到Pipeline main started,此时命令行已经准备好你的输入了,我们输入“hello world”
6、至此,我们确认logstash安装部署成功。(你也可以试试执行命令: logstash -e '',看看会输出什么)
三、Kibana部署安装
1、下载ZIP
2、解压
3、进入G:\ELK\kibana-5.6.3-windows-x86\bin 目录,shift+右键 "此处打开命令行" ,运行kibana.bat,结果如下图:
注意:Kibana是基于Elastcisearch的前端显示工具,运行前要确认Elasticsearch服务已经开启,否则将会报错。
4、访问http://localhost:5601/,会看到:
5、至此,Kibana已经成功安装部署。