【问题标题】:Datadog - group by substring of logsDatadog - 按日志子串分组
【发布时间】:2020-02-25 01:41:28
【问题描述】:

我正在尝试在 DataDog 中创建一个“顶级列表”可视化,并且我想绘制应该按错误代码分组的数据。此错误代码是日志中的子字符串。下面给出了日志中的一行示例。我试图按消息对我的数​​据进行分组,但这不起作用,我想按消息的子字符串对我的数据进行分组。有人可以指导我吗?

...服务器错误 {"error":{"code":1001,"type":"MATCH","message":"Invoke 失败:失败... ...服务器错误 {"error":{"code":2001,"type":"MATCH","message":"Invoke 失败:失败...

目前我得到的可视化如下

1.0 .....error:{"code":1001.....
1.0 .....error:{"code":1001.....
1.0 .....error:{"code":2001.....

1.0是出现次数

我想要如下的可视化

2.0 .....error:{"code":1001.....
1.0 .....error:{"code":2001.....

2.0 将总共出现 2 次错误 1001,1.0 将出现错误 2001

【问题讨论】:

    标签: datadog


    【解决方案1】:

    首先您需要确保您的日志结构良好(您可以在Datadog's processing pipelines 中进行控制)。实际上,您需要将“代码”值解析为一些“错误代码”属性。

    如果您的日志事件采用这种格式...

    2020-01-01 12:10:10 myservername - Server Error {"error":{"code":1001,"type":"MATCH","message":"Invoke failed: Failed"}}
    

    ...那么您需要的只是一个相当简单的 grok 解析器规则,这要归功于“json”过滤器功能。像这样的东西会让你到达你想要的地方(注意%{data::json} 部分,这就是解析日志内 JSON 的内容)。

    myrulename %{date("yyyy-mm-dd' 'HH:MM:ss"):timestamp} %{notSpace:hostname} - Server Error %{data::json}
    

    配置完成后,您的日志还将有一个名为“error.code”的属性,其值为20011001 或其他值。

    第二您需要create a facet 来获取新的error.code 属性,以便您可以make toplist / timeseries / etc. graphs grouped out by your "error code" facet

    【讨论】:

    • 日志的实际格式如下2月01日05:34:01 ip-1-2-3-4 db: {"@message":"GMS Error {\"error\" :{\"code\":9001,\"type\":\"GMS_INTERNAL\",\"message\":\"Invoke failed: 在数据库中检测到相同的状态,请重试\",\"details\" :null}} UniqueNonce: 1582608840282 LID: {\"Batch\":[\"0487\",\"1361\",\"392d\",\"8d95\"],\"Override\":0} ","@timestamp":"2020-02-01T05:34:01.314Z","@fields":{"grpID":"fBJSON","logID":"x0074","component":"SMS", "level":"error"}} 我已经尝试过你的建议,但我无法提取 error.code。我们应该使用kv过滤器吗?请建议。谢谢
    • 哦,所以在此示例中,日志包含 JSON,但在该 JSON 中,您看起来有一个字段 ("@message"),其内容是包含一些 JSON 内容的字符串。您或许能够完全解析出来,但为此您可能需要从 Datadog 支持获得帮助。
    • 谢谢,我想从他们那里得到一些帮助。如果我得到一些解决方案会更新
    猜你喜欢
    • 2020-02-04
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2023-04-07
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多