Fluent-Bit默认日志格式导致Loggly无法解析JSON日志体的问题求助
Fluent-Bit默认日志格式导致Loggly无法解析JSON日志体的问题求助
我在AWS EKS集群里用Fluent-Bit 2.1.4把容器日志发送到Loggly,本来只要log字段里是格式正确的JSON,Loggly就能自动解析,方便后续过滤、搜索和生成指标之类的操作。
但现在遇到个麻烦:用Fluent-Bit发日志的时候,它默认会在log字段前面加一段纯文本内容,不是JSON键值对,导致log字段变成了这个样子:
"log":"2023-05-31T12:11:40.459220575Z stdout F {
}
我手动tail容器日志的时候,这段前缀根本不存在。查了Fluent-Bit的输入、输出、解析器和过滤器相关文档,发现所有能用来移除这些内容的配置好像都默认处理的是日志里的JSON部分(比如得能通过键名定位到要修改/删除的字段),但现在这个前缀是直接附在JSON前面的纯文本,不知道该怎么处理。
下面是我从运行中的Fluent-Bit部署里用kubectl describe configmap导出的配置:
custom_parsers.conf
[PARSER] Name docker-local Format json Time_Key asctime Time_Format %FT%T.%L%Z Time_Keep Off
fluent-bit.conf
[SERVICE] Flush 1 Log_Level info Daemon off Parsers_File custom_parsers.conf HTTP_Server Off [INPUT] Name tail Tag kube.* Path /var/log/containers/*.log Parser docker-local multiline.parser docker DB /var/log/flb_kube.db Mem_Buf_Limit 512MB Skip_Long_Lines On Refresh_Interval 10 Ignore_Older 10m [FILTER] Name kubernetes Match kube.* Kube_URL https://kubernetes.default.svc.cluster.local:443 Merge_Log Off Keep_Log Off K8S-Logging.Exclude Off K8S-Logging.Parser Off [OUTPUT] Name http Match * Host logs-01.loggly.com Port 443 Tls On URI /bulk/<token>/tag/testing/ Format json_lines Json_Date_Key timestamp Json_Date_Format iso8601 Retry_Limit False
备注:内容来源于stack exchange,提问作者jonesy
相关产品推荐
相关产品推荐

