文主要介绍 Kibana 的使用,文中所使用到的软件版本:Elasticsearch 8.5.1、Kibana 8.5.1、Centos 7.9。
1、安装示例数据集
Kibana 自带有 3 个数据集,一个数据集描述了过去 10 天的航班信息,一个数据集代表电子商务平台的订单,还有个数据集表示 WEB 日志;把这三个数据添加到 Elasticsearch 中:
这样我们就把数据加载到 Elasticsearch 中,并自动分别创建它们的 index patterns(索引模式)。
打开 Kibana 的菜单,可以看到 Kibana 分为如下的几个功能模块:
- Analytics, 在这里,你可以找到工具来分析及可视化数据
- Observability,对日志、指标、APM 以及运行状态检测数据进行统一分析
- Security,通过 XDR、SIEM 和 Endpoint Security 实现对威胁的防御、检测和响应
- Management,用来管理你的部署
本文主要展示 Analytics 模块部分的功能。
2、发现(Discover)
发现是你可以搜索和过滤原始文档的地方。
每个记录都表示为一行,可以展开各行以查看每个记录中的所有字段及其值。在左侧,你会看到一个列出所有字段的侧边菜单。 发现是搜索特定记录的好地方。 你可以通过多种方式搜索数据。你可以执行自由文本搜索,Elasticsearch 将在你的文档中进行搜索,并将返回包含你要搜索的关键字的所有文档。
Discover 还可以以表格格式显示数据。 通过从左侧菜单中选择字段,你将看到与表的列相同的字段。 表格上方的直方图是查看文档随时间分布的快速方法。 如果单击特定时间范围,将放大到该时间范围,并且页面将刷新以仅显示该时间范围内的文档。
3、仪表板(Dashboard)
Kibana 仪表板是收集在一起的图表、图形、指标、搜索和地图的集合。 仪表板从多个角度提供对数据的一目了然的见解,并使你能够深入了解细节。在安装示例数据集时,会自动创建仪示例表盘:
在 Kibana 中,最容易创建仪表板的工具就是使用 Lens。flight 数据包含有关过去几周的一些(虚构)航班的信息,使用这些数据创建一个仪表板,其中显示:
- 航班数量
- 每个运营商的延误次数,以垂直条形图表示
- 包含每天延误次数的日期直方图,按延误类型细分
- 每个运营商包含几个指标的表格
3.1、Lens 介绍
进入 Lens 页面:
如上所示整个区域被分为几大块。就像在其它的 Analytics 工具中的一样,最重要的是选择索引模式以及相应的时间范围。否则我们可能什么数据都没有。针对我们的情况,我们选择 kibana_sample_data_flights 索引模式以及过去 10 天的数据。
我们可以查看左边的字段。在它们的左边含有一个图标,它代表数据的不同类型。比如上面的 # 代表的是一个数值类型,而 t 则代表是一个 text 数据类型。点击其中的一个字段:
可以看到该字段各个值的分布情况。这样可以对一些字段做快速的分析。接下来,通过拖拽的方式来把一些字段拖到工作区:
可以根据需要选择不同的水平轴数据,修改垂直轴数据的计算方法。
3.2、指标
最基本的 Lens 类型是指标,它简单地显示一个数值。
点击记录计数,修改名称为 航班数:
点击 保存并返回,这样就完成了第一 Lens。
3.3、垂直条形图
我们使用 垂直条形图 来可视化航班的晚点时间状况:
和上面的方法一样,拖拽 记录 到工作区并添加筛选条件:
接下来配置 水平轴。点击 timestamp:
点击 保存并返回 按钮,这样就得到了我们的第二个可视化图。
3.4、垂直堆积条形图
堆积 意味着叠加到一起。 垂直堆积条形图 允许你按类别分解条形图中的条形。 这里建立一个叠加条形图,显示一段时间内的航班数量,按延误类型细分。
当你想要创建新的 Lens 可视化时,你不必从头开始。 这也是可以克隆现有的可视化并对其进行编辑。 点击一个之前创建的指标可视化右上角的齿轮。 这将打开面板选项对话框:
这样,就得到了一个一模一样的指标可视化图:
编辑克隆的图形:
点击 timestamp, 定制 timestamp 的时间间隔:
增加 细分方式:
点击 保存并返回,这样就得到了我们的第三个可视化图。
3.5、表格
表格类似网格的行和列格式显示信息;这里创建一个显示每个航空公司平均票价的表格。
筛选出数组类型字段:
根据需要添加字段:
点击 保存并返回 按钮,这样就得到了我们的第四个可视化图:
3.6、保存并共享仪表盘
填写仪表盘的标题并保存。
点击 共享 按钮可以共享改仪表盘,有两种共享方式:固定链接和嵌入代码;可以根据需要选择合适的方式来共享。
这样一个仪表盘就创建完成了。