Как определить поток журнала Cloudwatch для службы Fargate? - PullRequest
0 голосов
/ 17 мая 2018

У меня запущена служба 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 получает это значение?

1 Ответ

0 голосов
/ 05 июня 2018

Наконец-то я нашел формат имени потока журнала в документации AWS здесь :

awslogs-stream-prefix

Required: No, unless using the Fargate launch type in which case it is required.

The awslogs-stream-prefix option allows you to associate a log stream
with the specified prefix, the container name, and the ID of the Amazon
ECS task to which the container belongs. If you specify a prefix with
this option, then the log stream takes the following format:

    prefix-name/container-name/ecs-task-id

Обратите внимание, что ecs-task-id являетсяGUID часть ARN задачи:

For this sample Task ARN:
arn:aws:ecs:us-east-1:123456789012:task/12373b3b-84c1-4398-850b-4caef9a983fc

the ecs-task-id to use for the log stream name is:
12373b3b-84c1-4398-850b-4caef9a983fc
...