Kibana:在 Kibana 中使用参考线可视化目标 - 7.16 发行版
Posted Elastic 中国社区官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kibana:在 Kibana 中使用参考线可视化目标 - 7.16 发行版相关的知识,希望对你有一定的参考价值。
我们知道在之前的版本中,可视化图中添加一个参考线以表示一个阈值或者目标(target)使用 Lens 或者使用 aggregation based 可视化都不可以添加一个参考线。在之前的教程 “Kibana:为可视化图添加一个 static 线” 我使用 TSVB 来实现这个。随着 7.16 发布版的发行,我们可以在 Lens 中也方便地实现添加一个 static 线,我们甚至可以动态地添加这个 static 线。除此之外,7.16 还推出更多的功能。
在今天的展示中,我将使用 7.16 发布版。
准备数据
在今天的展示中,我将使用 Kibana 自带的数据来进行展示。我将使用一个网路服务器的日志信息为例:
这样我们就在 Elasticsearch 中生成了一个叫做 kibana_sample_data_logs 的索引。
创建参考线
我们打开 Kibana:
创建 static 参考线
在上面,我选择 Lens 来做我们的可视化。
我们把 Records 拖动到中央的可视化区,并选择推荐的 Line chart。在默认的情况下,这个是以 horizontal axis 为时间轴的可视化图。Vertical axis 上显示的是事件的数量。我们点击右下角的 Add layer:
选择 Add reference layer:
我们定义一个 static 参考线。在上面,我们可以看到有一个事件为 10 的参考线。
使用 function 来创建参考线
我们重新选择 bytes 来创建一个可视化图:
向下滚动,我们可以做一些跟多的配置:
上面显示一条 80% 的 percentile 线,也即中位线。同样,我们可以拷贝这条线,做出一个 50% 的中位线:
在上面,我们添加了一条 50% 的中位线。
使用第三方索引提供参考线值
为了能使得我们的参考线可以是动态的,我们可以使用第三方的索引来提供这个数值。这个值可以由 API 来进行修改,从而实现动态的参考线值。
在我们的 Dev Tools 中,我们打入如下的命令:
PUT _ingest/pipeline/add-timestamp
"processors": [
"set":
"field": "@timestamp",
"value": "_ingest.timestamp"
]
PUT my_index/_doc/1?pipeline=add-timestamp
"threshold": 5000
上面的两个命令将创建一个叫做 my_index 的索引。它含有一个叫做 threshold 的字段:
GET my_index/_mapping
上面的命令返回的结果为:
"my_index" :
"mappings" :
"properties" :
"@timestamp" :
"type" : "date"
,
"threshold" :
"type" : "long"
在创建的过程中,我们使用 add_timestamp 来把当前电脑的时间标签写入到文档中。我们为这个 my_index 的索引创建一个索引模式 my_index*。
然后我们回到之前的 Lens 中:
为了说明问题的方便,我把上面的时间范围设置为 Last 24 hours。
我们在 Dev Tools 中修改这个值为2000:
PUT my_index/_doc/1?pipeline=add-timestamp
"threshold": 2000
我们再次重新刷新可视化,我们可以看到:
那么这个阈值现在也跟着变化了。也就是说我们可以动态地修改这个值。
创建 Vertical 参考线
在上面,我们创建了一个水平的
在上面的可视化中,X 轴代表 bytes 的范围,而 Y 轴 代表事件的多少。我们想找出来 80% 的中位线在哪个地方。点击上面的 Add layer:
我们首先去掉 Vertical left axis:
我们向下滚动做更进一步的配置:
也就是说 80% 的下载平均值是低于 8000 bytes 的。
以上是关于Kibana:在 Kibana 中使用参考线可视化目标 - 7.16 发行版的主要内容,如果未能解决你的问题,请参考以下文章