Вход в Fluentd через Sidecar Link в AWS ECS Replica Service

Я устраняю неполадки, чтобы мои журналы ECS работали правильно в моей среде AWS ECS (non-fargate), используя Fluentd в моем сопроводительном файле и настраивая fluentd в качестве драйвера журнала в моем основном контейнере. Я установил свою службу ECS с известным работающим внутренним веб-приложением и обновил определение задачи, включив в него дополнительное определение контейнера, в котором есть ссылка на образ fluentd в моем ECR. Я связываю эти два, чтобы создать коляску через ссылки ECS, показанные ниже. Моя конфигурация fluentd настроена для пересылки в мой splunk-кластер. Я развернул службу, и я могу подключиться и войти в оба контейнера докеров на моем хосте докеров. Я также установил fluent-cat в моем основном корневом контейнере, так что я могу протестировать отправку журналов на него с помощью fluent-cat, а не просто ждать драйвер журнала.

Когда я смотрю на журналы докеров на хосте докеров, я вижу сотни ошибок, в которых говорится "can't send logs, client is reconnecting", которые затем в конечном итоге превращаются в "Buffer full, limit 1048576". Однако, когда я запускаю эту команду fluent-cat внутри своего основного контейнера, я вижу, что мои журналы отображаются в splunk.echo '{"message":"am I in splunk"}' | fluent-cat debug.log --host logging-sidecar --port 24224

Прямо сейчас вся документация, которую я читаю, ссылается на запуск fluentd в качестве демона, но явно не говорит, что это должен быть демон, однако у меня такое ощущение. Поскольку эта служба ECS запускается как REPLICA и настраивается как дополнительный компонент через ссылки ECS в определении задачи, дополнительный компонент также должен работать как Replica. Это правда, что свободный адрес должен быть службой демона? Если нет, то каковы возможные причины, по которым эта настройка позволяет работать и обрабатывать запросы fluent-cat, но даже не позволяет моему основному контейнеру подключаться к fluentd через драйвер журнала fluentd? Любые предложения действительно помогут!

Связывание определения задачи:

"links": [
   "logging-sidecar"
]

Конфигурация журнала основного контейнера в определении задачи:

"logConfiguration": {
  "logDriver": "fluentd",
     "secretOptions": null,
     "options": {
       "mode": "non-blocking",
       "fluentd-async-connect": "true",
       "fluentd-address": "logging-sidecar:24224",
       "fluentd-buffer-limit": "500MB",
       "tag": "pub-site-sidecar2"
     }
  }

0 ответов

Другие вопросы по тегам