Kibana:在 Kibana 中使用参考线可视化目标 – 7.16 发行版
2021年12月15日 | by mebius
我们知道在之前的版本中,可视化图中添加一个参考线以表示一个阈值或者目标(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 拖动到中央的可视化区,并选择推荐tgcode的 Line chart。在tgcode默认的情况下,这个是以 horizontal axis 为时间轴的可视化图。Vertical axis 上显示的是事件的数量。我们点击右下角的 Add layer:
选择 Add reference layer:
我们定义一个 static 参考线。在上面,我们可以看到有一个事件为 10 的参考线。
使用 function 来创建参考线
我们重新选择 bytes 来创建一个可视化图:
向下滚动,我们可以做一些跟多的配置:
上面显示一条 80% 的 percentile 线tgcode,也即中位线。同样,我们可以拷贝这条线,做出一个 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 发行版
相关推荐: Enterprise:Web Crawler 基础 (一)
在 Elastic Enterprise Search 7.11 中,Elastic 宣布推出 Elastic App Search 网络爬虫,这是一种简单而强大的方式来提取公开可用的网络内容,以便在你的网站上立即搜索。 使网站上的内容可搜索可以采用多种形式。…