Fluent Bit输出插件对接Loki出现400错误该如何正确配置?
错误原因
该400语法错误由两个配置问题导致:
- ConfigMap的多行配置块中使用了HTML转义后的引号
",该字符会被Fluent Bit直接识别为配置内容,而非预期的引号 - Fluent Bit 1.8.x版本的Loki输出插件
Labels参数不需要用大括号包裹,大括号会被直接写入推送给Loki的请求中,导致Loki侧解析时报unexpected left brace '{'错误
额外说明:不需要额外显式指定推送端点,Fluent Bit Loki插件默认会使用标准的/loki/api/v1/push推送路径,你当前配置的3100端口是Loki的默认接收端口,配置正确。
解决方法
直接替换你配置中的Loki输出段为如下内容即可:
[OUTPUT] Name loki Match kube.* host loki.loki.svc.cluster.local port 3100 tenant_id "" Labels job="fluent-bit" auto_kubernetes_labels on line_format json
建议将auto_kubernetes_labels设置为on,插件会自动为日志附加K8s集群相关标签(比如命名空间、Pod名、容器名等),方便后续在Loki中检索日志。
生效验证
修改ConfigMap后,重启Fluent Bit DaemonSet让配置生效:kubectl rollout restart daemonset fluent-bit -n fluentbit
重启后查看Fluent Bit Pod日志,确认没有400报错后,即可在Loki中查询到采集的容器日志。
内容的提问来源于stack exchange,提问作者bgarcial
相关产品推荐
相关产品推荐

