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

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

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

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

准备数据

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

点击 Add data:

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

创建 script field

我们打开 kibana_sample_data_logs 的 index pattern 界面:

点击上面的 Stack Management:

点击 Scripted fields:

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

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

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

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

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

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

创建可视化

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

点击 Update:

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

点击 Update:

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

猜你喜欢

转载自blog.csdn.net/UbuntuTouch/article/details/107537690