代码之家  ›  专栏  ›  技术社区  ›  vvra

KiBaa-log分析-查找唯一的交易编号

  •  0
  • vvra  · 技术社区  · 5 年前

    我有一个efk设置来集中存储和查询所有应用程序服务的日志。有些服务处理消息中的事件。

    我想查询每个服务有多少个唯一事件(事务号:UUID)失败,考虑到消息代理被配置为在任何运行时异常重发消息5次时会出现重复错误消息。我用它的名字过滤了服务,但是 Painless 脚本由于此错误,我无法从消息中子串事务编号, Fielddata is disabled on text fields Alternatively use a keyword field . 建议为日志消息字段设置关键字吗?如何在Kibana查询这些东西?

    0 回复  |  直到 5 年前
        1
  •  0
  •   SylarBenes    5 年前

    FieldDATS=真,需要在文本字段上启用排序、聚合和脚本。缺点是它使用了大量堆空间,并且会导致昂贵的操作。

    查询每个服务的唯一事件听起来像是对我的聚合。您想知道每个服务的“文档”(行/项)数量,每个事务uuid,您从错误消息中取其子字符串,对吗?我建议您为事务uuid创建一个关键字类型的新字段。这样你就可以在索引时间做子串,这会给你带来更好的性能。然后,您可以在新创建的事务uuID字段上用子聚合对服务进行聚合,这将给您提供计数。

    当然,这只有在你经常使用这个领域时才有意义,但我想你会的。