как настроить aws config журнала cloudwatch для динамических c имен файлов журнала - PullRequest
1 голос
/ 06 февраля 2020

Я пытаюсь настроить AWS агент cloudwatch для отправки журналов из моих экземпляров ec2 в Cloudwatch. У меня есть 4 экземпляра под ALB. Каждый экземпляр ec2 работает с веб-службой Java, которая может получать запросы от нескольких клиентов. Каждый клиент регистрирует go в отдельном файле журнала для каждого экземпляра - customerA.log, customerB.log и c (с использованием приложения 'Sift' для входа в систему). Любой запрос клиента может go к любому из экземпляров.

Эти имена клиентов не известны заранее - веб-служба получает идентификатор клиента как часть веб-запроса, и, поскольку новые клиенты используют службу, она будет быть новыми файлами журналов.

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

Как я могу это сделать? Используя конфигурацию из документации, я вижу, что подстановочные знаки могут объединять разные файлы журналов в один поток в CloudWatch, но я хотел бы заменить {instance_id} на какой-нибудь динамический c заполнитель для точного имени файла журнала (который назван в честь customerId).

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

    "logs_collected": {
                        "files": {
                                "collect_list": [
                                        {
                                                "file_path": "/media/logs-audit/customer*",
                                                "log_group_name": "errors.log",
                                                "log_stream_name": "{instance_id}"
                                        },
                                ]
                         }
                 }
...