如何通过Datadog日志重映射器将I/W/E转为标准日志状态
问题描述
我需要解析如下日志:
I1117 15:32:01.453645 1 secretproviderclasspodstatus_controller.go:222] "reconcile started" spcps="omy/dskjhf-kfkhdsfj-sdfjhdf-65c7989777-ktl6f-prd-hjgdsfj-secrets"
日志首字母对应状态:
- I -> Info
- W -> Warning
- E -> Error
目前已经能将日志解析为如下格式:
{ "log_status": "I", ... }
我知道可以通过状态重映射器指定log_status作为状态字段,但不清楚如何让Datadog把I、W、E识别为对应的Info、Warn、Error标准状态,该如何实现?
解决方案
可以用Datadog日志管道里的Lookup Table处理器来实现自定义状态值到标准状态的映射,具体操作步骤如下:
- 打开Datadog控制台的「日志>管道」页面,找到你对应的日志处理管道
- 在管道的处理器列表里,新增一个Lookup Table处理器
- 配置这个处理器的参数:
- 「输入字段」选你已经解析出来的
log_status字段 - 「输出字段」填
status(这是Datadog默认识别的标准状态字段) - 「映射规则」里添加三组键值对:
- 键:
I,对应值:info - 键:
W,对应值:warn - 键:
E,对应值:error
- 键:
- 可选:设置一个默认值,比如遇到未匹配的状态时,默认设为
info或者保留原字段值
- 「输入字段」选你已经解析出来的
- 保存配置后,后续的日志就会自动把
log_status里的I/W/E转换成Datadog能识别的标准状态了
要是你已经配了状态重映射器,注意调整处理器顺序:先通过Lookup Table把log_status转成标准值,再用状态重映射器指定转换后的字段作为状态字段就行。
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

