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

基于日志处理的ElasticSearch的学(gen)习(feng)

最近学了点solr,然后有听说了ElasticSearch,就想着也学一下ElasticSearch,然后看见了ElasticSearch用于日志的收集的分析,这里就来学习一下。百度一下Elast

最近学了点solr,然后有听说了ElasticSearch,就想着也学一下ElasticSearch,然后看见了ElasticSearch用于日志的收集的分析,这里就来学习一下。

百度一下ElasticSearch 日志这个关键词组,会出现一下的搜索结果:

  1. ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
  2. Flume+Elasticsearch搭建实时日志分析系统
  3. 基于 Kafka 和 ElasticSearch,LinkedIn是如何构建实时日志分析系统的?
  4. 用Kibana和logstash快速搭建实时日志查询、收集与分析系统
  5. 开源实时日志分析ELK平台部署
  6. 用ElasticSearch存储日志
  7. 使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
  8. Logstash+ElasticSearch+Kibana4日志分析系统安装详解
  9. elasticsearch logstash kibana日志分析监控套件部署使用
  10. 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引

就直接从博客开始学习,看下别人是怎么用这玩意儿的。

之前处理日志的有Log4j+Kafka,然后又出来了一个叫ELK的,也就是ElasticSearch,Logstash和Kibana的结合。

日志主要包括系统日志、应用程序日志和安全日志。平常用System.out.println的我忍不住捂脸,涉及到日志的处理少,主要是看控制台。但是其实日志的作用很大的:

系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

其实,日志还有一个作用啊,比如说你在处理数据的时候,由于某些原因,导致了和你预期冲突的事件发生,导致数据遗失,这时候还可以通过日志找回来,几乎是最后一种方法了。

日志是很重要的,但是不就是输出了“几行”信息么,需要花这么大力气去搜索和分析日志?其实这个不是别人问的,正是我啊!因为没接触过淘宝京东那么大的系统,也没有经历过在小一点的公司工作的经历,所以对日志的印象还停留在一个比较初级的阶段(我归结为环境陷阱,没有参考别的,这个是我自创的,表述的含义是:因为没经历过,所以认知和境界没达到)。

但是事实上,在稍具规模的系统中,日志都是分散在不同的设备当中(Thinking about that you start up a five tomcats cluster,这他妈就有五个地方出日志,不要信我,我猜的)。再拓展一下,假如你要管理数十台乃至上百台的服务器,除了问题,你还得一台一台地去找,这得多麻(要)烦(命)啊。

问题一:我们要对日志的管理集中化

此外,当日志进行集中化处理之后就是查找分析,linux玩的很溜的你说,尼玛,这不简单,linux那么多好用的命令,譬如三贱客,哦不,三剑客grep,sed和awk,随你用啊。你说啥,不会用?滚一边玩蛋去(某明经常搞这句,反正别人看不到)。呵呵呵,突然来一个10G的PV(就是pageview,经常看见PV这个简写,以为有多高大上)的日志,来来来(此处应有MMP)看你的命令用的多熟!其实说了这么多要引出的就是,以前的方法已经玩不溜的(怕玩的溜的打我的脸),我们要有新工具了。

问题二:要有高效的工具完成日志的:统计、检索和排序

当,当,当,那么是“当,当,当”呢,就是今天要学习的ELK。

下面的介绍是借(潮)鉴(汐)的:

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

Kibana 也是一个开源和免费的工具,它(Kibana)可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

来丰富一下词汇量:

  1. elastic:弹性的,可伸缩的,灵活的
  2. stash:隐(贮)藏物; (旧) 藏身处
  3. Kibana:野蛮人(来自google翻译的)

Logstash和ElasticSearch我觉得都还好理解,Logstash就像一个漏斗一样收集来自不同地方放的日志,ElasticSearch刚好可以来对日志进行检索,但是Kibana(基巴拉,我自己翻译的,这个锅就不给google了,想歪了的自己敲100遍hello world)是来干哈的?

这个图画得比较清晰,也很好理解,原图在这儿。
P. S. 我知道盗图可耻,但是画图真的费时间
enter image description here

如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。

我觉得这个架构看上去还挺简单的,继续看吧。

ELK平台搭建
系统环境
System: CentOS 版本暂定
ElasticSearch: 2.1.0
Logstash: 2.1.1
Kibana: 4.3.0
Java: openjdk version 版本暂定

注:由于Logstash的运行依赖于Java环境, 而Logstash 1.5以上版本不低于java 1.7,因此推荐使用最新版本的Java。因为我们只需要Java的运行环境,所以可以只安装JRE,不过这里我依然使用JDK,请自行搜索安装。

啥时候给整出了一套意见部署安装的脚本再PO上来,我表示干这种事还挺有趣。

原文地址:

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

P. S. 字放大一点,免得被人说~


推荐阅读
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • Logstash安装配置
    阅读此文请先阅读上文:[大数据]-Elasticsearch5.3.1IK分词,同义词联想搜索设置,前面介绍了ES,Kiba ... [详细]
  • 「驭龙」开源主机入侵检测系统了解一下
    「驭龙」开源主机入侵检测系统了解一下 ... [详细]
  • 10分钟带你搞定 Linux awk命令
    欢迎加入JackTian技术交流群!CSDN海量资源免费下载!简介awk是一个强大的文本分析工具,相对于grep的查找,se ... [详细]
  • 一生热爱回头太难。在mysql5.5之前,默认使用的是Myisam引擎,5.5之后,默认使用InnoDB引擎。关于二者区别一直是重要的问题 ... [详细]
  • #!usrbinkshPATHusrbin:bin:usrsbinexportPATHtime$(date%F)rq$(perl-eusePOSIXqw(strftime);pr ... [详细]
  • “近年来最大计算机漏洞”被中国程序员发现!
    头条中国程序员,计算机漏洞头条(观察者网讯)据美联社12月11日报道,中国阿里云安全团队在Web服务器软件阿帕奇(Apache)下的开源日志组件Log4j内,发现一个漏洞Log4S ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 在Linux系统中,find和grep是两个常用的命令,用于文件和文本的查找。本文将详细介绍这两个命令的区别及其常见用法。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • Java程序员必会的40个Linux命令!
    你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起 ... [详细]
  • 文章目录一、awk简介二、awk的两种形式语法格式1options:2command:三、awk工作原理四、记录与字段相关内部变量:五、格式化输出:printf函数六、awk模式和 ... [详细]
author-avatar
斗就斗D_994
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有