1、Elastic Stack 与 Kibana
Elastic Stack 数据平台由 Logstash、Beats、ElasticSearch 和 Kibana 四大核心产品组成,在数据摄取、存储计算分析及数据可视化方面有着无可比拟的优势。
Logstash 和 Beats作为底层核心引擎组成数据摄取平台,可以将数据进行标准化,便于后续分析使用。其中,Beats作为轻量级的数据搬运工,集合了多种单一用途数据采集器,将数据发送给 Logstash 或ElasticSearch,其可扩展的框架及丰富的预置采集器将使工作事半功倍。Logstash 是开源的服务器端数据处理管道,可同时从多个来源采集、转换数据,并将数据发送到存储库中。在存储、计算和分析方面,ElasticSearch允许执行和合并多种类型的搜索,解决不断涌现的各种用例,并具有极高的可用性及容错性,充分保障集群安全。
Kibana 作为用户界面的核心,集成了丰富的可视化工具、界面交互开发工具和管理工具,帮助开发人员将数据轻松分享给任何人,甚至还能通过机器学习来监测数据中的隐藏异常并追溯其来源。
以这四大核心产品为基础构建的 Elastic 数据平台实现了数据实时性、相关性及扩展性的完美结合,不仅可以处理各种数据,还能深入挖掘数据的内在关联并迅速呈现,彻底解决企业的大数据实时处理难题。
之前咱们的文章围绕 Elasticsearch 展开写的多一些,Kibana 介绍的相对少一些。今天想围绕 Kibana 的发展历史、核心功能、企业级使用场景好好介绍一下。
2、Kibana 发展历史
在 Elastic 官方发布的发布历程中提及:“在 Elasticsearch Inc. 成立前后,另外两个开源项目也正在跨越式发展。一个是一款开源的可插拔数据采集工具——logstash;另外一个是一款名为 Kibana 的开源 UI”。
三位作者(Elastic 作者、Kibana 作者、logstash 作者)对各自的产品也颇为了解,所以他们最终决定携手共同发展,才有了 ELK Stack,后面衍生为现在的 Elastic Stack。
Kibana 的创始人为:Rashid Khan
。
Rashid 是一名运维工程师出身的软件开发人员,其 Twitter 对自己的介绍:数据极客、黑客、Kibana、Timelion、Canvas的创始人。
https://github.com/rashidkpc
https://www.elastic.co/cn/blog/author/rashid-khan
可惜,2017年之后未再更新。
Elastic 官网最早集成 Kibana 的版本是 3.0.0, 3.0.0 正式发布的时间为:2014 年 3 月 19 日。其后的版本历史如下:
版本 | 发布时间 |
---|
3.0.0 | 2014年3月19日 |
4.0.0 | 2015年2月20日 |
5.0.0 | 2016年10月27日 |
6.0.0 | 2017年11月14日 |
7.0.0 | 2019年4月10日 |
8.0.0 | 2022年2月11日 |
3、Kibana 核心功能
2014 年 在 Kibana 3.0 官方文档中对 Kibana 的介绍如下:
Kibana 是用于 ElasticSearch 的开源(Apache 许可)、基于浏览器的分析和搜索仪表板。
Kibana 可以轻松设置和开始使用。
完全用 HTML 和 Javascript 编写,它只需要一个普通的网络服务器,Kibana 不需要花哨的服务器端组件。
Kibana 力求易于上手,同时也像 Elasticsearch 一样灵活且强大。
8 年的发展和演变,2022 年在 Elastic 官方文档“What is kibana” 中这样写道:
“Kibana 是一款免费开源的前端应用程序,其基础是 Elastic Stack,可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。尽管人们通常将 Kibana 视作 Elastic Stack的制图工具,但也可将 Kibana 作为用户界面来监测和管理 Elastic Stack 集群并确保集群安全性,还可将其作为基于 Elastic Stack 所开发内置解决方案的汇集中心。Elasticsearch 社区于 2013 年开发出了 Kibana,现在 Kibana 已发展成为 Elastic Stack 的窗口,是用户和公司的一个门户。”
如上所述,Kibana 核心功能(不含付费功能)可以概述为如下节点:
3.1 数据可视化
如果把 Elasticsearch 比作数据落地存储的“存储池”,那么 Kibana 则是直观可视化展示数据的平台。
可以对已存储在 Elasticsearch 的全量数据根据自己不同类型的人员(架构师、开发工程师、运维工程师、产品经理、项目经理、BI分析师、运营人员)业务需求做多种维度的自定义分析。
数据仅存储在 Elasticsearch 是“死”的,但是在 Kibana 中,数据变得“鲜活”、“灵动”、“美丽”、“可爱”。
3.2 dev tool 开发工具
这是开发工程师、运维工程师、架构师的必备利器。
有读者可能会有疑惑:“head 插件、postman工具、cerebro 第三方工具 等不香吗?”
可以毫不夸张的说:如上这几个工具相比于 kibana 是“小巫见大巫”,相当于“王先生碰到王麻子,不知道差多少点”。
每每看到有人用 head 插件调试 DSL,我都会推荐 Kibana。
3.3 安全和监控
6.8 和 7.1 之前的 Elastic 集群版本的基础安全都是没法保证的,因为之前 X-Pack 功能收费。有先见之明的团队在集群外包裹了一层 nginx 或者 第三方安全插件“search guard” 等作为基础防护,但是当时绝大多数集群都属于“裸奔”状态,这也导致了Elastic 集群安全事件频发。
而 7.1 版本后,X-Pack 基础功能免费,至少我们的 Elasticsearch集群、kibana 可视化能加了一层“账号、密码”安全防备,必要时多节点的TCP 通信层也可以加上 SSL 通信加密。
更为可喜的事,7.X 的自定义安全机制在 8.X 版本变成了自动和必须。8.X 集群会自动帮我们“上锁”,安全成为了必须而非“可选”。
其实:安全更进一步讲,又细分为:Space空间、role 角色、user用户 等三个维度。
Space 空间——比如:开发人员、市场人员等大类划分。
Role 角色——比如:开发工程师、运维工程师、前端、后端等细分小类划分。
user 用户——除了 elastic、kibana-system 等自带用户外,其他按需自己定义。
如上三者是由大到小逐步细化的概念。
以上:kibana 7.1+版本全部包含且免费。
“安全是头等大事”,除了安全,作为开发和运维人员,我们也非常关注集群的各项指标数据。这点 Kibana 的 Stack Monioting 也做的非常细致、出色和完备。
不止于监控 Elasticsearch 集群本身,kibana 还可以监控:mysql、redis、Kafka、ActiveMQ 等 N 多组件,包含但不限于如下截图内容:
有了指标数据的监控可视化,我们才能真正从全局“掌控”集群的全貌,“防患于未然”。
4、Kibana 可视化企业级使用场景
前面我们讲了 Kibana 核心功能和应用场景,其中提到和着重介绍了可视化。
Kibana 对于数据的可视化“驾轻就熟”,那么在企业里面用数据的可视化可以做哪些事情呢?
4.1 数据的统计、可视化分析
当处理数据达到一定规模之后,单纯的检索、聚合都可以借助 kibana dev tool 搞定。
但是,我想实际看到数据的聚合效果、相对数据做定制可视化分析。之前咱们讲过的“长津湖影评数据可视化分析”就是基于此场景实现。
4.2 前后端联调接口可视化呈现
互联网数据可视化分析
应用市场数据可视化分析
前后端联调接口时,涉及聚合统计基本上后端人员自己借助 kibana 实现数据可视化呈现。一方面验证看到聚合的结果;另一方面双向验证自己 DSL 语法的正确性。
4.3 向上级 boss 汇报用
boss 关注结果,不关注过程。如果你口头汇报往往不够直观。有了可视化,“有图有真相”,基本不用说话即可完成汇报。
5、Kibana 可视化功能实战
上面的数据分析图非常炫酷,企业级开发人员、运维人员、数据分析人员等也都需要。
但,到底如何动手实现呢?
鉴于大家对于 kibana 数据可视化的分析的呼声非常高,我准备抽出2小时时间和大家一起分享一下。
5.1 分享主题
看着非常炫酷的 Kibana 可视化,你也可以搞定!
以 kibana 自带航班飞行数据为例,一步一步实现如下的可视化图。
kibana_sample_data_flights 航班飞行数据可视化
5.2 分享大纲
5.3 分享目标
扫码预约,等待直播>>
参考
https://www.elastic.co/cn/about/history-of-elasticsearch
https://towardsdatascience.com/exploring-kibana-ae8a770e0303
Elastic 产品生命周期:https://www.elastic.co/cn/support/eol
https://www.elastic.co/cn/about/history-of-elasticsearch
https://en.wikipedia.org/wiki/Kibana
https://jaxenter.com/elasticsearch-founder-interview-112677.html