随着项目越来越庞大,日志的数量也随之增多,游戏上线后的日志量肯定更多了,所以对日志的收集、存储、查询就非常重要了,开源界第一日志分析系统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行,

           22 -Xms2g
           23 -Xmx2g
          改成: -Xms512m
                      -Xmx512m
7、再次执行第3步:输入:elasticsearch 
 

启动ES成功,打开地址:http://localhost:9200/

二、logstash 部署安装

1、下载ZIP

2、解压

3、找到 G:\ELK\logstash-5.6.3\config\jvm.options,修改其中JVM的内存配置为512m,6、7行

   6 -Xms2g
           7 -Xmx2g
          改成: -Xms512m
                      -Xmx512m

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已经成功安装部署。

ELK新手教程——pomelo + log4js + ELK(一)的更多相关文章

  1. ELK新手教程(二)

    暂不排版,后面整理. logstash 使用配置文件 在bin目录下创建一个名为test.conf的文件,内容为: input { stdin {} } output { stdout{} } 执行命 ...

  2. Web项目的发布新手教程

    ASP.NET服务器发布新手教程 ——本文仅赠予第一次做Web项目,需要发布的新手们,转载的请注明出处. 首先我们说一下我们的需要的一个环境.我使用的是Visual Studio 2010,版本.NE ...

  3. APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)

    正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...

  4. ROS探索总结(三)——ROS新手教程【转】

    转自:http://blog.csdn.net/hcx25909/article/details/8811313 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 一ROS的 ...

  5. 新手教程之使用Xib自定义UITableViewCell

    新手教程之使用Xib自定义UITableViewCell 前言 首先:什么是UITableView?看图 其次:什么是cell? 然后:为什么要自定cell,UITableView不是自带的有cell ...

  6. MATLAB新手教程

    MATLAB新手教程   .MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如 ...

  7. 【OpenCV十六新手教程】OpenCV角检测Harris角点检测

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...

  8. hibernate官方新手教程 (转载)

    hibernate官方新手教程第一部分 - 第一个Hibernate程序 首先我们将创建一个简单的控制台(console-based)Hibernate程序.我们使用内置数据库(in-memory d ...

  9. Groovy新手教程

    Groovy新手教程 kmyhy@126.com  2009-5-13 一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也执行在 JVM 中. 作为跑在JVM ...

随机推荐

  1. :nth-of-type(n) 与 :nth-child(n) 区别

    :nth-of-type(n):选择器匹配同类型中的第n个同级兄弟元素. :nth-child(n):选择器匹配父元素中的第n个子元素.

  2. Golang 端口复用测试

    先给出结论: 同一个进程,使用一个端口,然后连接关闭,大约需要30s后才可再次使用这个端口. 测试 首先使用端口9001连接服务端,发送数据,然后关闭连接,接着再次使用端口9001连接服务端,如果连接 ...

  3. TCP加速锐速SS(ServerSpeeder)破解版一键安装

    速(serverspeeder),是一款TCP加速程序,能够增强VPS/服务器连接的稳定性,且有效的提高服务器的带宽利用率,进而提高访问速度.老左经常看到论坛.群里有用户提到锐速这款软件可以提高VPS ...

  4. FPGA中关于SPI的使用

    FPGA中关于SPI的使用 信息来源 SPI Flash的编程 最新的SPI不止有4根信号线,可以增加到支持4bit的数据宽度 SPI Flash Basics 能够扩展成4bit数据的是MOSI信号

  5. 黄聪:wordpress获取hook所有function

    list_hooked_functions('wp_footer'); function list_hooked_functions($tag=false) { global $wp_filter; ...

  6. SELinux杂谈

    ----------------------------- 文末有推荐参考文档列表--------------------------- SELinux(Security Enhanced Linux ...

  7. [LeedCode]921. 使括号有效的最少添加

    题目描述: 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字 ...

  8. ALGO-30_蓝桥杯_算法训练_入学考试DP)

    问题描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个 ...

  9. PHP在Linux下的套件LNMP

    LNMP官网:https://lnmp.org/install.html 另外不要忘了Azkaban和WhereHows

  10. QHBoxLayout移除控件

    def clear_layout(widget, layout): buttons = widget.findChildren(QtGui.QPushButton) while layout.item ...