我正试图在DataDog中创建一个“顶级列表”可视化,我想要绘制我的数据,这些数据应该按照错误代码进行分组。此错误代码是日志中的子字符串。下面给出了日志中一行的示例。我试图按消息对数据分组,但这不起作用,我想按消息的子字符串对数据进行分组。有人能指点我吗?
...Server错误{“错误”:{“代码”:1001,“类型”:“匹配”,“消息”:“调用失败:失败...Server错误”{“代码”:2001,“类型”:“匹配”,“消息”:“调用失败:失败.
目前,我得到的可视化如下
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的发生
发布于 2020-02-24 17:41:28
First您需要确保您的日志结构良好(您可以在Datadog加工管道中控制它)。实际上,您需要将“代码”值解析为“错误代码”属性。
如果日志事件是这种格式的.
2020-01-01 12:10:10 myservername - Server Error {"error":{"code":1001,"type":"MATCH","message":"Invoke failed: Failed"}}...Then只需要一个相当简单的grok解析器规则,这要归功于"json“过滤器函数。这样的东西可以让您达到您想要的位置(注意%{data::json}部分,这就是解析in的部分)。
myrulename %{date("yyyy-mm-dd' 'HH:MM:ss"):timestamp} %{notSpace:hostname} - Server Error %{data::json}配置好之后,您的日志还将有一个名为"error.code“的属性,其值为2001或1001或其他任何东西。
第二个,您需要为这个新的error.code属性设置创建一个面,以便您可以使用按“错误代码”面将toplist / timeseries /等图形分组。
https://stackoverflow.com/questions/60369412
复制相似问题