2016-10-21 5 views
2

Возможно ли динамически устанавливать значения в определениях задач AWS ECS? Например. У меня есть следующее определение тома.Переменные определения задач AWS ecs

"volumes": [ 
    { 
     "host": { 
      "sourcePath": "/tmp/logs/registrations" 
     }, 
     "name": "logs" 
    } 
], 

Я хотел бы сделать что-то делать, как /tmp/logs/<container_id>.

Я пытаюсь сделать это, потому что у меня несколько контейнеров, работающих в одном приложении. Мне нужно установить каждый каталог журналов контейнеров для сумологического коллектора. Проблема в том, что каталоги не помещаются в пространство контейнера, тогда монтируются конфликты.

ответ

2

Журналы Cloudwatch - это еще один вариант, если сохранение в файловой системе не является обязательным требованием.

Если вы используете ECS оптимизирован AMI это уже настроен и все, что вам нужно сделать, это включить его в определении контейнера задачи:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html

Вы также должны настроить группы журнала или журнал потоки для каждого контейнера.

+0

Это привело меня в правильном направлении. Я закончил использование стандартных журналов json, предоставленных докером. Все сгруппировано по идентификатору контейнера. – MikeV

1

Сохраняет ли журналы в файловой системе жесткое требование? Если нет, у Sumo Logic есть хорошая статья о другом варианте: Update On Logging With Docker.

Вы запускаете Sumo Logic Collector for Docker в одном контейнере, а ваше приложение - в другом. Вы настраиваете Docker для отправки журналов из вашего контейнера приложений в сборщик Sumo Logic. Это built into Docker, поэтому ваше приложение не должно изменяться. Затем контейнер-коллекционер отправит эти журналы в Sumo Logic.

Я видел этот шаблон под названием sidecar, если вы ищете другие его примеры.

Смежные вопросы