【问题标题】:Contacting loki from fluentbit output plugin从 fluentbit 输出插件联系 loki
【发布时间】: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


    【解决方案1】:

    你不应该使用花括号作为标签,这样可以:

    [OUTPUT]
        ...
        Labels job="fluent-bit"
        ...
    

    在此处查看示例:https://docs.fluentbit.io/manual/pipeline/outputs/loki

    【讨论】:

    • 我删除了它们,但我得到了相同的结果。
    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 2018-09-20
    相关资源
    最近更新 更多