У меня запущена служба Fargate, и я могу просматривать ее потоки журналов Cloudwatch с помощью консоли AWS (перейдите к службе и щелкните вкладку «Журналы»).
Я просматриваю документацию AWS для GetLogEvents и вижу, что вы можете получить доступ к журналам, используя имя группы журналов и имя потока журналов. Хотя я знаю имя группы журналов для службы, имя потока журналов создается динамически.
Как мне получить текущее имя потока журнала для работающей службы Fargate?
Я проверяю документацию AmazonECSClient, любые указатели будут полезны.
РЕДАКТИРОВАТЬ:
Я обнаружил, что группа журналов фактически указана для контейнера, а не для службы. Получив определение задачи для службы, я могу перебирать определения контейнеров, в которых есть раздел LogConfiguration, который указывает параметры, однако он предоставляет только группу журналов и префикс потока, без имени потока журнала:
- service
- task definition
- container definitions
- LogConfiguration:
LogDriver: awslogs
Options: awslogs-group=/ecs/myservice
awslogs-region=us-east-1
awslogs-stream-prefix=ecs
ИЗМЕНИТЬ 2:
Из консоли AWS я вижу, что ссылка на вкладке «Журналы» действительно содержит имя потока журналов. См. Значение stream в этом примере URL:
https://us-east-1.console.aws.amazon.com/cloudwatch/home
?region=us-east-1
#logEventViewer:group=/ecs/myservice;stream=ecs/myservice/ad7246dd-bb0e-4eff-b059-767d30d40e69
Как консоль AWS получает это значение?