欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

 Kibana:使用 Script fields 来提高数据的可观测性

程序员文章站 2022-03-07 13:06:54
...

脚本化字段根据 Elasticsearch 索引中的数据即时计算数据。 数据作为文档数据的一部分显示在 “Discover” 所展示的数据中,并且你可以在可视化文件中使用脚本化字段。 你可以使用 Kibana 查询语言查询脚本化字段,并可以使用过滤器栏过滤它们。 脚本字段值是在查询时计算的,因此不会被索引,也无法使用 Kibana 默认查询语言进行搜索。

在我之前的文章 “Kibana: 如何在Kibana中生成Scripted fields” 中,我已经展示了如何使用 Scripted fields 来生成一个字段并对数据统计。在今天的例子中,我们将使用另外一个例子来展示它的一个用途。比如如下的一个统计图:

 

 Kibana:使用 Script fields 来提高数据的可观测性

 

在上面的显示图中,它显示了一个时序数据,同时他显示了一个叫做 tags.keyword 的不同值的一个分布情况,但是也许我们只是想知道 error 和其它所有信息的一个比较,而不是这样的每个分类的值的一个比较。这样有更加直观的一个统计图来表示 error 所占的一个比例。比如,我们可以把 error 的数量统计出来变为:

 Kibana:使用 Script fields 来提高数据的可观测性

 

准备数据

在今天的教程中,我们将使用 Kibana 自带的索引来进行展示。打开 Kibana 界面:

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

点击 Add data:

 Kibana:使用 Script fields 来提高数据的可观测性

这样我们的样本数据就导入进 Elasticsearch 了。通过上面的操作,我们在 Elasticsearch 中将生成一个叫做 kibana_sample_data_logs 的索引。

 

创建 script field

我们打开 kibana_sample_data_logs 的 index pattern 界面:

 Kibana:使用 Script fields 来提高数据的可观测性

点击上面的 Stack Management:

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

点击 Scripted fields:

 Kibana:使用 Script fields 来提高数据的可观测性

我们在上面已经看到一个叫做  hour_of_day 的 脚本化字段。上面有它的实现。我们点击  Add scripted field:

 Kibana:使用 Script fields 来提高数据的可观测性

我们把如下的内容输入进去:

if (doc['tags.keyword'].value.contains("error")) { return -1; } else { return 1;}

 Kibana:使用 Script fields 来提高数据的可观测性

点击上面的链接来测试我们的 script:

 Kibana:使用 Script fields 来提高数据的可观测性

 

如果我们没发现错误,就点击 Save field。接着打开 Discover  的界面:

 Kibana:使用 Script fields 来提高数据的可观测性

我们发现有一个新的叫做 error_success 的字段。它表明我们的 scripted filed 的生成是成功的。

 

创建可视化

我们接下来使用这个新生成的 error_success 来进行可视化的操作:

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

 Kibana:使用 Script fields 来提高数据的可观测性

点击 Update:

 Kibana:使用 Script fields 来提高数据的可观测性

我们接下来修改 Y-axis  里的 metric。该用 Sum 来统计:

 Kibana:使用 Script fields 来提高数据的可观测性

点击 Update:

 Kibana:使用 Script fields 来提高数据的可观测性

修改错的颜色为红色。上面就是我们最终看到的结果。