Как докертизировать агента cloudwatch и собрать для сбора метрик? - PullRequest
1 голос
/ 26 сентября 2019

Мне нужно собрать пользовательские метрики из моего ECS instances и из документации enter image description here

Это шаги, которые необходимо выполнить

Кажется, я могу

  • Докеризировать агента cloudwatch (который, кажется, уже уже сделан , но с отсутствиемдокументация)

  • Dockerize collectd daemon

Почему стоит dockerize или не использовать драйвер awslogs для сбора метрик?

В настоящее время у нас уже есть несколько services, работающих как экземпляры докера, управляемых amazon ecs и настроенных на использование awslog driver для отправки журналов в amazon cloudwatch logs .

Но для сбора дополнительных пользовательских метрик от сервисов, например, number of requests per particular user from service a, единственное решение, которое предлагает aws, - это использовать colletd с curl plugin вместе с cloud watch agent.

Из-за некоторых проблем с масштабированием вместо запуска cloudwatch agent и collectd в экземпляре.Я хочу запустить их как контейнеры.

Вопрос:

Есть ли способ запустить cloudwatch agent in docker container, который может читать метрики из collectd daemon, который работает в разныхконтейнер, но на одной машине?

1 Ответ

1 голос
/ 26 сентября 2019

вам не нужно запускать агент cloudwatch в вашем контейнере, не забывайте эмпирическое правило, один процесс на контейнер.

Все, что вам нужно для отправки журналов приложений на стандартный вывод или stderr контейнера и докерадемон позаботится об этом.

Важная конфигурация:

Все, что вам нужно для установки драйвера журнала на драйвер журнала AWS в определении задачи.

Драйвер ведения журнала Amazon CloudWatch Logs

Драйвер ведения журнала awslogs отправляет журналы контейнера на Amazon CloudWatch Logs.Записи журнала можно получить с помощью Консоли управления AWS или SDK AWS и инструментов командной строки.

Указание конфигурации журнала в определении задачи

Прежде чем ваши контейнеры смогут отправлять журналы на CloudWatch , вы должны указать драйвер журнала awslogs для контейнеров в своем определении задачи.В этом разделе описывается конфигурация журнала для контейнера для использования драйвера журнала awslogs.Для получения дополнительной информации см. Создание определения задачи.

   "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-group": "awslogs-mysql",
                    "awslogs-region": "us-west-2",
                    "awslogs-stream-prefix": "awslogs-example"
                }
            }

enter image description here

AmazonECS-using_awslogs

enter image description here

...