Как отправлять сообщения журнала log4perl в Amazon Cloudwatch?

У меня есть веб-приложение Perl/Plack/Postgres/Linux, которое работает на экземпляре Amazon EC2. Я собираюсь запустить его на нескольких экземплярах за балансировщиком нагрузки, поэтому мне нужен способ собрать сообщения журнала приложения в одном месте.

В настоящее время я использую файл конфигурации log4perl, который использует Log::Log4perl::Appender::File для записи журналов на диск. Некоторые сообщения журнала направляются более чем в один файл журнала, а некоторые также обрабатываются приложениями, которые отправляют электронную почту. Я использую утилиту logrotate Linux для ротации, но я вообще не использую системный журнал для сообщений уровня приложения.

Отправка журналов в Amazon Cloudwatch кажется хорошим решением проблемы. Хотя я могу найти различные модули на CPAN для взаимодействия с Amazon Cloudwatch (предложения по модулям приветствуются), я не могу найти никаких готовых приложений log4perl, которые помогли бы решить эту проблему. Нужно ли мне писать свое?

Если это имеет значение, я уже использую AWS::Signature4 и Amazon::S3::Thin в своем проекте. До сих пор я избегал модулей с тяжелыми зависимостями, таких как Moose, но при необходимости я мог бы смягчить эту политику.


person rohanc    schedule 24.09.2015    source источник


Ответы (2)


Вы можете попробовать агент «awslogs» для экземпляров EC2. Это поможет отправить журналы в cloudwatch. Отправленные журналы будут доступны в разделе «Журналы» в консоли cloudwatch.

person Girish Sivasubramaniam    schedule 04.11.2015

Вы можете использовать awslogs, если вы соответствуете требованиям журнала (хороший формат временной метки, например). Вероятно, это будет немного проще настроить, если вы используете Amazon Linux, но это возможно в большинстве дистрибутивов.

Прочтите http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/QuickStartEC2Instance.html.

person johnml    schedule 04.11.2015