Итак, у меня была рабочая конфигурация с fluent-bit в eks и elasticsearch на AWS, которая указывала на сервис AWS elasticsearch, но в целях экономии мы удалили этот elasticsearch и создали экземпляр с одиночным elasticsearch, достаточным для целей разработки. А служба aws плохо справляется только с одним экземпляром.
Проблема в том, что во время этой миграции, похоже, что бит fluent-bit сломался, и я получаю много сообщений [предупреждение], которые не удалось сбросить, и некоторые [ошибка] [восходящее] соединение № 55 с ES-SERVER: 9200 истекло время ожидания через 10 секунд. .
Моя текущая конфигурация:
[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
Kube_Tag_Prefix kube.var.log.containers.
Merge_Log On
Merge_Log_Key log_processed
K8S-Logging.Parser On
K8S-Logging.Exclude Off
[INPUT]
Name tail
Tag kube.*
Path /var/log/containers/*.log
Parser docker
DB /var/log/flb_kube.db
Mem_Buf_Limit 50MB
Skip_Long_Lines On
Refresh_Interval 10
Ignore_Older 1m
Я думаю, что проблема в одной из этих конфигураций, если я прокомментирую фильтр kubernetes, у меня больше нет ошибок, но я теряю поля в индексах ...
Я попытался настроить некоторые параметры в беглом режиме, но безрезультатно, есть ли у кого-нибудь предложения?
Итак, предыдущие журналы ничего не указали, но я наконец кое-что нашел при активации trace_error в выводе elasticsearch:
{"index":{"_index":"fluent-bit-2021.04.16","_type":"_doc","_id":"Xkxy 23gBidvuDr8mzw8W","status":400,"error":{"type":"mapper_parsing_exception","reas on":"object mapping for [kubernetes.labels.app] tried to parse field [app] as o bject, but found a concrete value"}}
Кто-нибудь получал эту ошибку раньше и знает, как ее решить?