【发布时间】:2021-12-08 08:44:58
【问题描述】:
我正在使用 fluentbit 从 kubernetes 集群收集日志,其输出连接到 loki 以将它们发送到那里。
这是我在 fluentbit configmap 文件中的 loki 配置
由于 loki 部署在 loki 命名空间,而 fluentbit 部署在 fluentbit 命名空间,我用来联系 loki:host loki.loki.svc.cluster.local
apiVersion: v1
data:
custom_parsers.conf: |
[PARSER]
Name docker
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S %z
fluent-bit.conf: |
[SERVICE]
Daemon Off
Flush 1
Log_Level info
Parsers_File parsers.conf
Parsers_File custom_parsers.conf
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_Port 2020
Health_Check On
[INPUT]
Name tail
Path /var/log/containers/*.log
multiline.parser docker, cri
Tag kube.*
Mem_Buf_Limit 100MB
Skip_Long_Lines On
[INPUT]
Name systemd
Tag host.*
Systemd_Filter _SYSTEMD_UNIT=kubelet.service
Read_From_Tail On
[FILTER]
Name kubernetes
Match kube.*
Merge_Log On
Keep_Log Off
K8S-Logging.Parser On
K8S-Logging.Exclude On
[OUTPUT]
Name stdout
Match kube.*
Format json
Json_date_key timestamp
Json_date_format iso8601
[OUTPUT]
Name loki
Match kube.*
host loki.loki.svc.cluster.local
port 3100
tenant_id ""
Labels {job="fluent-bit"}
auto_kubernetes_labels false
line_format json
kind: ConfigMap
metadata:
annotations:
meta.helm.sh/release-name: fluent-bit
meta.helm.sh/release-namespace: fluent-bit
creationTimestamp: "2021-10-21T13:53:14Z"
labels:
app.kubernetes.io/instance: fluent-bit
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: fluent-bit
app.kubernetes.io/version: 1.8.8
helm.sh/chart: fluent-bit-0.19.1
name: fluent-bit
namespace: fluent-bit
但我的 fluentbit 日志中出现此错误。
[2021/10/21 14:59:59] [error] [output:loki:loki.1] loki.loki.svc.cluster.local:3100, HTTP status=400 Not retrying.
1:2: parse error: unexpected left brace '{'
看起来这不是正确的格式,有时我会收到另一条具有相同配置的消息(奇怪):
[2021/10/21 14:59:59] [error] [output:loki:loki.1] loki.loki.svc.cluster.local:3100, HTTP status=400 Not retrying.
1:2: parse error: unexpected left brace '{'
就像我必须在 loki 上明确指定 POST 端点才能将日志推送到那里,this one/loki/api/v1/push
但总的来说,我得到的400 语法错误最多。
如何通过 fluentbit 配置联系 loki?
【问题讨论】:
标签: kubernetes fluent-bit grafana-loki