help request: Loki instance external to cluster returning 404

オープン
#1,344 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
helm, kubernetes

調査の方向性

charts/fluent-operator/templates/fluentbit-output-loki.yaml から始め、提供された custom-values.yml から生成された fluent-bit-config secret と比較します。Loki の出力設定、特に uri がどのようにレンダリングされるかを確認し、その後、生成された設定を外部の Loki エンドポイントに対して検証して、ログのプッシュが 404 を返さなくなったことを確認します。

索引モデルが issue の本文から書いたものです。

説明

Describe the issue

Hi,
I am trying to forward logs to a Loki instance outside of the Kubernetes cluster. I get the below 404 error in the fluent-bit container logs.
[error] [output:loki:loki.0] logging-dev.example.com:443, HTTP status=404
404 page not found

A default Loki install returns a 404 at logging-dev.example.com

I have used curl to access the Loki API from the fluent-bit debug container successfully.

I noticed the uri parameter doesn't exist when i export the fluent-bit-config secret and it isn't defined in fluentbit-output-loki.yaml . Could this be part of the issue?

How did you install fluent operator?

helm install -f custom-values.yml fluent-operator --create-namespace -n fluent-operator charts/fluent-operator/

custom-values.yml

containerRuntime: containerd

operator:

initcontainer:

    repository: "docker"

    tag: "27.2.1"

fluentbit:

crdsEnable: true

enable: true

image:

    repository: "ghcr.io/fluent/fluent-operator/fluent-bit"

    tag: "3.1.7-debug"

tls:

    verify: false

input:

    tail:

        enable: true

        refreshIntervalSeconds: 10

        memBufLimit: 100MB

        bufferMaxSize: ""

        path: "/var/log/containers/*.log"

        skipLongLines: true

        readFromHead: false

        storageType: memory

        pauseOnChunksOverlimit: "off"

    systemd:

        enable: true

        systemdFilter:

            enable: true

            filters: []

        path: "/var/log/journal"

        includeKubelet: true

        stripUnderscores: "off"

        storageType: memory

        pauseOnChunksOverlimit: "off"

output:

    loki:

        enable: true

        host: logging-dev.example.com

        port: 443

        uri: /loki/api/v1/push

        httpUser: user

        httpPassword: pass

Additional context

Output of fluent-bit-config secret:
[Service]

Http_Server    true

Parsers_File    /fluent-bit/etc/parsers.conf

Parsers_File    /fluent-bit/config/parsers_multiline.conf

[Input]

Name    systemd

Path    /var/log/journal

DB    /fluent-bit/tail/systemd.db

DB.Sync    Normal

Tag    service.*

Systemd_Filter    _SYSTEMD_UNIT=containerd.service

Systemd_Filter    _SYSTEMD_UNIT=kubelet.service

Strip_Underscores    off

storage.type    memory

[Input]

Name    tail

Path    /var/log/containers/*.log

Read_from_Head    false

Refresh_Interval    10

Skip_Long_Lines    true

DB    /fluent-bit/tail/pos.db

DB.Sync    Normal

Mem_Buf_Limit    100MB

Parser    cri

Tag    kube.*

storage.type    memory

[Filter]

Name    lua

Match    kube.*

script    /fluent-bit/config/containerd.lua

call    containerd

time_as_table    true

[Filter]

Name    kubernetes

Match    kube.*

Kube_URL    https://kubernetes.default.svc:443

Kube_CA_File    /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

Kube_Token_File    /var/run/secrets/kubernetes.io/serviceaccount/token

Labels    false

Annotations    false

[Filter]

Name    nest

Match    kube.*

Operation    lift

Nested_under    kubernetes

Add_prefix    kubernetes_

[Filter]

Name    modify

Match    kube.*

Remove    stream

Remove    kubernetes_pod_id

Remove    kubernetes_host

Remove    kubernetes_container_hash

[Filter]

Name    nest

Match    kube.*

Operation    nest

Wildcard    kubernetes_*

Nest_under    kubernetes

Remove_prefix    kubernetes_

[Filter]

Name    lua

Match    service.*

script    /fluent-bit/config/systemd.lua

call    add_time

time_as_table    true

[Output]

Name    loki

Match_Regex    (?:kube|service)\.(.*)

host    logging-dev.example.com

port    443

http_user    user

http_passwd    pass
主要言語
Go
スター
689
フォーク
333
平均マージ
2日 14時間
マージ済み PR(30日)
41

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fluent/fluent-operator のほかの issue

fluent/fluent-operator の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。