作者:斗就斗D_994 | 来源:互联网 | 2023-05-24 01:41
最近学了点solr,然后有听说了ElasticSearch,就想着也学一下ElasticSearch,然后看见了ElasticSearch用于日志的收集的分析,这里就来学习一下。百度一下Elast
最近学了点solr,然后有听说了ElasticSearch,就想着也学一下ElasticSearch,然后看见了ElasticSearch用于日志的收集的分析,这里就来学习一下。
百度一下ElasticSearch 日志
这个关键词组,会出现一下的搜索结果:
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- Flume+Elasticsearch搭建实时日志分析系统
- 基于 Kafka 和 ElasticSearch,LinkedIn是如何构建实时日志分析系统的?
- 用Kibana和logstash快速搭建实时日志查询、收集与分析系统
- 开源实时日志分析ELK平台部署
- 用ElasticSearch存储日志
- 使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
- Logstash+ElasticSearch+Kibana4日志分析系统安装详解
- elasticsearch logstash kibana日志分析监控套件部署使用
- 开源分布式搜索平台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 界面,可以帮助您汇总、分析和搜索重要数据日志。
来丰富一下词汇量:
- elastic:弹性的,可伸缩的,灵活的
- stash:隐(贮)藏物; (旧) 藏身处
- Kibana:野蛮人(来自google翻译的)
Logstash和ElasticSearch我觉得都还好理解,Logstash就像一个漏斗一样收集来自不同地方放的日志,ElasticSearch刚好可以来对日志进行检索,但是Kibana(基巴拉,我自己翻译的,这个锅就不给google了,想歪了的自己敲100遍hello world)是来干哈的?
这个图画得比较清晰,也很好理解,原图在这儿。
P. S. 我知道盗图可耻,但是画图真的费时间
如图: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. 字放大一点,免得被人说~