ELK技术介绍与应用
- 简介 ELK
a. ELK由三部分组成,分别是ElasticSearch(E),Logstach(L) 以及 Kibana(K) , 这里一个简单的理解方式,就是log可以是由Kubernetes, MySQL 等工具中stream过来的streaming component,也可以是json形式的文件。而ElasticSearch就是我们这里的分布式数据库,用来把logfile indexing进去。最后就是Kibana,这里Kabana用作User Interface 使得我们可以以自己需要的方式展示数据库中的data。
b. ELK非常的方便便捷,如果我们有一个分布式系统有1000台设备,如果系统出故障,我希望看日志,需要一台一台登上去的看,十分的麻烦。然而有了ELK系统。如果日志接入了ELK系统,在运行过程中,突然出现异常,日志就会及时反馈,我们直接就可以再Kibana中看到日志情况,还可以在接入一些实时计算模块或者做一些实时报警功能。 - 介绍ElasticSearch
a. 要了解elasticsearch,首先要了解里面的几个专有名词,索引,类型,文档。
i. 首先是索引,最开始我理解ES的时候我理解索引为一个搜索引擎倒排索引key-value pair里面的一个key,但是后来发现这么理解其实是有偏差的,在elasticsearch里,索引是存放数据的地方,更像是mysql里的一个数据库。有了这个概念,那么后面的两个就好理解多了。
ii. 类型就是用来定义数据结构的,相当于是mysql中的一张表
iii. 而文档就是最终的数据了,可以理解为文档就是一条记录。
b. 举例:比如我们有一首诗,有题目,作者,朝代,七律五律,内容等字段,那么首先,我们需要建立一个库,比如叫做诗歌合集,然后创建一个类型,叫诗。类型是通过Mapping来定义每个字段的类型。比如题目,作者,朝代,都是Keyword类型,内容是Text类型,字数可以是Integer类型。这里我们把数据组织成json作为案例。
i. 索引:诗歌合集
ii. 类型相当于表结构的描述,这里是poem,文档用json形式描