(labels) kubernetes в логи?
Я использовал фильтра в fluent-bit:
[FILTER]
Name kubernetes
Match ^test-cluster-kube\.(?<namespace_name>[^_]+)\.(?<pod_name>[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)\.(?<container_name>.+)$
Merge_Log On
Merge_Log_Key log_processed
K8S-Logging.Parser On
K8S-Logging.Exclude Off
Labels On
Я ожидал, что появится log_processed на выходе
[OUTPUT]
Name stdout
Match test-cluster-kube.dev.*
При запуске контейнера fluent-bit я вижу:
[2023/10/17 14:43:48] [ info] [filter:kubernetes:kubernetes.0] https=1 host=kubernetes.default.svc port=443
[2023/10/17 14:43:48] [ info] [filter:kubernetes:kubernetes.0] token updated
[2023/10/17 14:43:48] [ info] [filter:kubernetes:kubernetes.0] local POD info OK
[2023/10/17 14:43:48] [ info] [filter:kubernetes:kubernetes.0] testing connectivity with API server...
[2023/10/17 14:43:48] [ info] [filter:kubernetes:kubernetes.0] connectivity OK
а что не работает?
Я ожидал в stdout увидеть labels моего пода (app: test), но там нет записи test-cluster-kube.dev.test-pod-c744695f-25kb6.test-pod: [[1697618342.204495403, {}], {"time"=>"2023-10-18T11:39:02.204495403+03:00", "stream"=>"stdout", "logtag"=>"F", "log"=>"{"level": "DEBUG", "datetime": "2023-10-18 08:39:02,204", "logger": "test_pod.application.middleware", "record": {"msg": "Generating request_id..."}}", "message"=>"{"level": "DEBUG", "datetime": "2023-10-18 08:39:02,204", "logger": "test_pod.application.middleware", "record": {"msg": "Test request_id"}}"}]
возьми стандартный конфиг из доки и попробуй с ним https://docs.fluentbit.io/manual/installation/kubernetes#configure-fluent-bit
в итоге я выяснил, что метаданных нет из-за Tag kube.<namespace_name>.<pod_name>.<container_name> Tag_Regex (?<pod_name>[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?<namespace_name>[^_]+)_(?<container_name>.+)-(?<docker_id>[a-z0-9]{64})\.log$ Но только в документации я этого не нашёл
Обсуждают сегодня