У меня есть группа журналов, которая включает несколько потоков журналов (из нескольких экземпляров EC2). Есть ли способ просто «отследить» сводные журналы в группе? Если я нажимаю «Поиск событий», отображаются консолидированные журналы, но кнопка, которая переходит в конец журналов, становится серой. Мне нужно вручную установить дату и время. Я тоже пробовал aws cli, но aws logs get-log-events
требует указания единственного имени потока журнала.
Пара командных инструментов для хвоста CloudWatch:
Я был очень разочарован awslogs
и cloudwatch-logs-tail
поэтому я сделал свой собственный инструмент под названием Пила который эффективно передает журналы CloudWatch на консоль (и раскрашивает вывод JSON):
Вы можете установить его на MacOS с помощью:
brew tap TylerBrock/saw
brew install saw
У него есть множество приятных функций, таких как возможность автоматического расширения (отступа) вывода JSON (попробуйте запустить инструмент с --expand
):
saw watch my_log_group --expand
У вас есть лямбда, для которой вы хотите просмотреть журналы ошибок? Без проблем:
saw watch /aws/lambda/my_func --filter error
Saw великолепен, потому что вывод легко читается, и вы можете передавать журналы из всей группы журналов, а не только из одного потока в группе. Фильтровать и смотреть потоки с определенным префиксом также просто!
Теперь это возможно напрямую с помощью AWS CLI v2. Например:
aws logs tail --since 1d --follow /aws/lambda/my_func
будет следить и постоянно смотреть журналы CloudWatch за день назад и в будущее.
Подробнее здесь: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/tail.html