欢迎来到天天文库
浏览记录
ID:34451593
大小:2.70 MB
页数:57页
时间:2019-03-06
《elk日志分析系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ELK日志分析系统一、ELK日志分析系统介绍1.1传统的日志统计及分析方式日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情
2、,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。1.2ELK介绍开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。(1)、Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。(2)、Logstash是一个完全开源的工具,可以对日志进行收集、过滤,并将其
3、存储供以后使用(如:搜索)。(3)、Kibana也是一个开源和免费的可视化工具,可以为Logstash和ElasticSearch资料提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。1.2.1Elasticsearch介绍Elasticsearch是一个基于ApacheLucene(TM)的开源搜索引擎,Lucene是当前行业内最先进、性能最好的、功能最全的搜索引擎库。但Lucene只是一个库。无法直接使用,必须使用Java作为开发语言并将其直接集成到应用中才可以使用,而且Lucene非常复杂,需要提前深入了解检索的相关知识才能理解它是如何工作
4、的。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTfulAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。但Elasticsearch不仅仅值是Lucene库和全文搜索,它还有以下用途:►分布式的实时文件存储,每个字段都被索引并可被搜索►分布式的实时分析搜索引擎►可以扩展到上百台服务器,处理PB级结构化或非结构化数据1.2.2Elasticsearch基础概念Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。(1)、接近实时(NRT
5、)Elasticsearch是一个接近实时的搜索平台。意味着检索一个文档直到这个文档能够被检索到有一个轻短暂的延迟(通常是1秒)。(2)、集群(cluster)集群就是由一个或多个节点组织在一起,它们共同持有资料整个的数据,并一起提供索引和搜索功能。集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字很重要,因为一个节点只能通过指定某个集群的名字,来加入这个集群。在产品环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也可以。(3)、节点(node)节点是值集群中的具体服务器,作为集群的一部分,它可存储数据,参与集群的
6、索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机名字,这个名字会在服务启动时赋予节点。这个名字对于管理者非常重要,因为在管理过程中,需要确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着如果在网络中启动了若干个节点,并假定它们能够相互发现彼此,那么各节点将会自动地形成并加入到一个叫做“elasticsearch”的集群中。在一个集群里,可以拥有任意多个节点。并且
7、,如果当前网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。(4)、索引(index)索引是指一个拥有相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。每个索引均由一个名字来标识(必须全部是小写字母的),并且当要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。“索引”有两个意思:资料A.作为动词,索引指把一个文档“保存”到ES中的过程,某个文档被索引后,就可以使用ES搜索到这个文档B.作为名词,索引指
此文档下载收益归作者所有