Я пытаюсь настроить 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}"
},
]
}
}