Kibana——Discover
作者:互联网
前言
Kibana 是一款开源的数据分析和可视化平台,它是Elastic Stack 成员之一,旨在与 Elasticsearch 配合使用。
在Kibana中 搜索、查看存储在 Elasticsearch 索引中的数据并与之交互,轻松地执行高级数据分析并在各种图表、表格和地图中可视化数据。
基于Kibana 7.10.0
版图分解
首先,Kibana的几大功能模块如图所示,大块上来分为5个大类:
- Kibana —— 基础功能
- Observability —— 可观测性
- Security —— 安全
- Enterprise search —— 企业级搜索
- Management —— 管理设置
可以看出来整个Elastic生态和目前的使用情况,Kibana也在左上角提供了浮层导航来方便快速切换功能模块,本文作为系列文章的开篇,先就Kibana基础功能中最高频场景Discover进行拆解和分析。
作为查询数据,快递定位和挖掘价值的入口,Discover扮演了Kibana中最重要的角色,一般情况下我们通过Discover得到一些特定问题的答案,了解当下的发了了什么情况,官方给出来的定位分为以下三个方面:
- 选择(Select):通过对数据集和时间范围的选择,来过滤和查询结果
- 探索(Explore):通过对数据的详细分析,快速得到数据内容的分析结果
- 展示(Present):将数据结构可视化或者存储下来
整体Discover的交互体验在7.0之后没有太多的变化,可以简单总结为
- 头部:输入模块,query输入、时间选择、保存查询、设置分享等
- 左侧:目录切换、Field操作、快速分析
- 核心区域:分布直方、文档详情
针对一些细节,下面进一步分析。
头部
- 1. 保存查询
Kibana支持将查询语句、查询时间返回、当前查询的Filter一起保存为一个SAVED QUERIES。
Kibana更多功能是让当下的保存更完备,支持保存当前的时间区间、语句以及Filter参数:
-
2. 查询分析语句输入
在7.0.0,Kibana将KQL(Kibana Query Language)作为默认的查询分析语言,从而替代了6.x版本中Lucene查询语法,不难看出语法这一块Kibana还是想降低用户使用的门槛,也在KQL的输入上做了很多autoComplete的工作:
与此同时Kibana还将Filter作为一个单独的功能提取出来,本质上来说是一个Filter Query Builder的功能,通过Filed + Operator + Value
的形式来进行可视化配置,同时也支持转换为一个Query DSL。每一个Filter也支持加上对应的标签,并且可以对同类标签进行批量设置,方便快速变化分析维度,在7.x之后,Filter还支持了单独的下拉列表,可以对其进行Enable、Disabled、Pin、UnPin、Invert和Remove等操作。
- 3. 时间选择器
Kibana在7.x之后升级了其时间选择器,看起来十分强大,支持秒、分钟、小时、天、周、月、年等时间粒度,我们也可以将其分为两个大类:
- 快速设置
- 快速选择(Quick select)
支持过去时间、将来时间的配置,而且支持设置范围和粒度来动态选择时间,并且支持快速访问前一个时间窗口和后一个时间窗口,对于时间前后分析来说十分有用 - 常见选择(Commonly used)
提供一些常见的时间窗口配置,帮助快速查看一个大概的范围 - 最近选择(Recently used date ranges)
历史时间选择记录 - 自动刷新(Refresh every)
- 自定义设置
Kibana提供了时间描述的语言,可以自己通过编写去得到一个自定义的窗口,分类如下:
- 绝对时间
获取一个具体的时间点,不会因为时间而改变 - 相对时间
类似快速选择,提供就当前时间点之前,之后的粒度选择,自定义一个范围。同时支持了整点设置(Round),抹去选择粒度之后的时间毛刺,部分相对时间会随着时间流逝而动态变化。
可以通过一个格式来定义具体的相对时间点,比如当前时间点3小时前可以描述为~ 3 hours ago
,当前时间点15分钟之后可以描述为~ in 15 minutes
- 当前(Now)
左侧
Kibana的左侧主要提供的都是和Index Pattern相关的内容。
- 1. 切换index pattern
- 2. 快速筛选index中的Filed信息
- 3. 操作可视区域Filed
- 4. 获取Filed快速预览
核心区域
核心区域作为主视觉中最关键的地方,支持了分布直方图和日志文档的展示,如果字段中没有@timestamp,则不会出现时间选择器和分布直方图。
- 1. 分布直方图
分布直方图用于查看当前时间范围的日志分布概览,分析异常的波峰或波谷,Kibana在分布直方图上支持了手势事件,拖拽和点击都可快速缩小时间范围进行更精确的分析。
- 2. 日志主体
Kibana默认为Time
字段(需要有@timeStamp)和_source
字段进行展示,可以通过左侧来变换字段是否为一列进行展示。在日志主体上,Kibana并未添加太多的事件触发,更多的是提供日志的预览,Kibana把这个交互变成了单一document的预览:
在单一日志上,纵向平铺了所有的字段,也可以将该条日志切换为JSON显示,非常直观方便。
除此之外支持快速将这一字段的值变成一个Filter或者操作这个Filed为显示列:
当然,不可缺少的Kibana也支持当前日志的上下文查询,到另外一个界面去预览前后的文档:
引用:
标签:Discover,Kibana,查询,Filter,时间,日志 来源: https://www.cnblogs.com/caoweixiong/p/16550674.html