我们知道在之前的版本中,可视化图中添加一个参考线以表示一个阈值或者目标(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 的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)