热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK新手教程——pomelo+log4js+ELK(一)

随着项目越来越庞大,日志的数量也随之增多,游戏上线后的日志量肯定更多了,所以对日志的收集、存储、查询就非常重要了,开源界第一

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

 

 

 

 

 


转:https://www.cnblogs.com/yourstars/p/7688642.html



推荐阅读
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文通过分析一个具体的案例,探讨了64位Linux系统对32位应用程序的兼容性问题。案例涉及OpenVPN客户端在64位系统上的异常行为,通过逐步排查和代码测试,最终定位到了与TUN/TAP设备相关的系统调用兼容性问题。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • JUC并发编程——线程的基本方法使用
    目录一、线程名称设置和获取二、线程的sleep()三、线程的interrupt四、join()五、yield()六、wait(),notify(),notifyAll( ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 本文深入解析了Elasticsearch写入与查询的底层机制。在数据写入过程中,首先会将数据暂存至内存缓冲区,在此阶段数据尚不可被搜索。同时,为了保证数据的持久性和可靠性,系统会将这些数据同步记录到事务日志(translog)中。当内存缓冲区接近满载时,系统会触发刷新操作,将缓冲区中的数据写入到磁盘上的段文件中,从而使其可被搜索。此外,文章还探讨了查询过程中涉及的索引分片、倒排索引等关键技术,为读者提供了全面的技术理解。 ... [详细]
author-avatar
田小多
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有