在datadog中,如何在不添加构面的情况下查询json格式的日志行?

问题描述

当消息格式化为json时,它会自动变成属性。似乎无法不首先将其转换为构面而查询属性(这仅适用于新的日志行,这意味着您有时必须先看到一些东西,然后对其进行构面,然后进行调试)。

有没有一种方法可以绕过属性方面的要求直接查询消息?

解决方法

实际上是可行的,但是您需要将每个json日志放在引号中(每个日志也可以使用之前的一些前缀),以便Datadog代理将其视为“文本”。即print(body['errors'].keys.toList()[0]); 文件应包含带引号的日志:

log.json

在那之后,您需要在Datadog Logs Configuration中添加带有Grok解析器过滤器json的管道(请参阅 Matcher and Filter 中的过滤器选项卡):

Grok parser

这使我可以通过json日志中的所有字段执行全文搜索,并自动将所有json字段解析为属性。

P.S。该解决方案是2年前由Datadog支持提供的。似乎他们正在研究允许全文搜索JSON日志的解决方案。

,

不可能。确认具有DD支持。