В случае контейнера я никогда не буду предлагать записывать логи в файл, лучше писать логи контейнера stdout и stderr.
Еще одна интересная вещь, как вы будете обращаться с лог-файлом, если вы перешли в fargate? поэтому не записывайте журналы в файл и не относитесь к контейнеру как к машине экземпляра.
Прелесть драйвера журнала AWS заключается в том, что он выталкивает журналы в журналы наблюдения за облаком, а из наблюдения за облаком также очень легко их нажимать. на ELK.
Выберите драйвер журнала AWS, настройте точку входа так, чтобы она записывала журналы в stdout и stderr в контейнере. обычно это очень просто, когда вы запускаете процесс на переднем плане, он автоматически записывает журнал в стандартный вывод контейнера.
Просто добавьте эту строку в определение задачи и добавьте роль наблюдения за облаком.
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "awslogs-wordpress",
"awslogs-region": "us-west-2",
"awslogs-stream-prefix": "awslogs-example"
}
}
или ![enter image description here](https://i.stack.imgur.com/SRFCe.png)
после настройки вы увидите журналы
![enter image description here](https://i.stack.imgur.com/TU5C3.png)
Использованиеawslogs Log Driver
Вы можете настроить контейнеры в ваших задачах для отправки информации журнала в CloudWatch Logs. Если вы используете тип запуска Fargate для своих задач, это позволяет вам просматривать журналы из ваших контейнеров. Если вы используете тип запуска EC2, это позволяет вам просматривать разные журналы из ваших контейнеров в одном удобном месте и не позволяет журналам вашего контейнера занимать место на диске в ваших экземплярах контейнера. Этот раздел поможет вам начать использовать драйвер журнала awslogs в ваших определениях задач.
Примечание
Тип информации, которая регистрируетсяКонтейнеры в вашей задаче зависят в основном от их ENTRYPOINT command
. По умолчанию регистрируемые журналы показывают выходные данные команды, которые вы обычно видите в интерактивном терминале, если вы запускаете контейнер локально, это STDOUT
и STDERR I/O streams
. Драйвер журнала awslogs просто передает эти журналы из Docker в журналы CloudWatch. Для получения дополнительной информации о том, как обрабатываются журналы Docker, включая альтернативные способы сбора различных файловых данных или потоков, см. Просмотр журналов для контейнера или службы вДокументация Docker.
aws-ecs-log-driver