2015-09-24 1 views
0

J'ai une application Web Perl/Plack/Postgres/Linux qui s'exécute sur une instance Amazon EC2. Je suis sur le point de commencer à l'exécuter sur plusieurs instances, derrière un équilibreur de charge, j'ai donc besoin d'un moyen de rassembler les messages du journal de l'application en un seul endroit.Comment envoyer des messages de journal log4perl à Amazon Cloudwatch?

Actuellement, j'utilise un fichier de configuration log4perl qui utilise Log :: Log4perl :: Appender :: File pour enregistrer les journaux sur le disque. Certains messages de journal sont routés vers plusieurs fichiers journaux et certains sont également gérés par des appenders qui envoient des e-mails. J'utilise l'utilitaire Linux logrotate pour la rotation, mais je n'utilise pas syslog pour les messages au niveau de l'application. Envoyer des journaux à Amazon Cloudwatch semble être une bonne solution au problème. Bien que je puisse trouver divers modules sur CPAN pour interagir avec Amazon Cloudwatch (suggestions de modules appréciées), je ne trouve aucun appender log4perl prêt à l'emploi pour résoudre le problème. Ai-je besoin d'écrire le mien?

Si cela fait une différence, j'utilise déjà AWS :: Signature4 et Amazon :: S3 :: Thin dans mon projet. Jusqu'à présent, j'ai évité les modules avec de lourdes dépendances, comme Moose, mais je pourrais assouplir cette politique si nécessaire.

+0

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/QuickStartEC2Instance.html – BMW

Répondre

0

Vous pouvez essayer l'agent "awslogs" pour les instances EC2. Cela aiderait à expédier les journaux à cloudwatch. Les journaux expédiés seraient disponibles dans la section Journaux de la console cloudwatch.