首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kibana4中聚合基于字符串前缀的术语?

如何在Kibana4中聚合基于字符串前缀的术语?
EN

Stack Overflow用户
提问于 2015-05-22 21:17:19
回答 1查看 369关注 0票数 0

进入Kibana实例的一个字段包含Python应用程序的记录器名称。这些名称表示应用程序结构,用点分隔。例如,我们可以使用以下记录器:

代码语言:javascript
复制
a
a.b
a.b.c
a.d
b.c

我想在Kibana4中使用顶级记录器(ab)作为内部切片,使用第二级记录器(a.ba.db.c)作为外部“甜甜圈”,来建立一个2级饼图。

“展开”饼图和ASCIIfying预期的结果如下所示:

代码语言:javascript
复制
==============++++   <-- representing the main aggregation (inner slices)
----oooooooooo****   <-- representing the sub-aggregation (outer donut)

With:

    =: a
    +: b
    -: a.b
    o: a.d
    *: b.c

在Kibana3中,记录器名称实际上被分成多个单独的标记,因此我可以使用标记abcd。Kibana4似乎并没有将它们分开。

我尝试将自定义索引映射设置"index"附加到"analyzed",但仍然保留了字段“未拆分”。经过深思熟虑后,这并不能真正帮助我获得我想要的输出。

相反,获取传入消息并在索引中存储表示顶级和二级记录器名称的两个附加字段可能会有所帮助。因此,"a.b.c"的输入值将作为"a" (根记录器)、"a.b" (第一级记录器)和"a.b.c" (未修改的值)存储在索引中。

这样,我就可以使用根级记录器作为主聚合,使用第一级记录器作为子聚合来设置饼图。

这有没有可能呢?

EN

回答 1

Stack Overflow用户

发布于 2015-05-24 00:21:44

只要你有一个固定的级别数,你就可以简单地定义3个模式,比如。

数据:%{ FirstLevel: firstLevel}。FirstAndSecondLevel:%{GREEDYDATA:firstAndSecondLevel}。完整路径:%{GREEDYDATA:fullPath}

然后,您可以使用grok过滤器在您的邮件上应用所有这三种模式。你可以做3个单独的grok过滤器,每个都有一个模式,或者你可以将所有三个模式都放在一个grok过滤器中,并将break_on_match设置为false。

然后,您应该能够在kibana中对这些字段进行分组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30397753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档