Как узнать статус запущенного процесса внутри докера в AWS? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть приложение (задача), работающее в контейнерах в AWS.Мне нужно знать его текущее состояние, а также убедиться, что он работает без выхода из контейнера и его уничтожения во время выполнения.
Это двоичный файл C ++.

  1. Сервис - Создание сервиса гарантирует его отказоустойчивость, но как я могу прочитать эту информацию извне.Я мог бы выйти из приложения с правильным кодом выхода, но служба просто будет воссоздавать задачу снова и снова, что является бременем.

Есть ли рекомендуемый способ связи с процессом внутри контейнера ECS, чтобы узнать, что он делает в данный момент?

1 Ответ

0 голосов
/ 07 февраля 2019

Существует два способа просмотра журналов контейнера ECS:

  1. SSH в ваш экземпляр EC2, созданный ECS, запустите docker ps, чтобы найти идентификаторы контейнера, и docker logs container_id, чтобы увидеть, чтопроисходит в контейнере.(Это не будет работать, если вы создали кластер с помощью Fargate, поскольку он не создает экземпляр EC2, он только создает сетевой интерфейс) *

  2. Настройка Cloudwatch на AWS для просмотра действий контейнера.Для настройки журналов необходимо создать новую версию определения задачи> открыть контейнер> в разделе «Хранилище и ведение журнала». Снимите отметку , автоматическая настройка журналов CloudWatch > выберите драйвер журнала как awslogs> пометьте ключи группы, региона и префикса.Чтобы просмотреть свои журналы, щелкните вкладку «Задачи» в кластере> откройте свою задачу> разверните свой контейнер> в нижнем разделе показана конфигурация журнала со ссылкой на журналы вашего контейнера.

...