【发布时间】:2021-01-18 19:19:36
【问题描述】:
我有一个使用 pm2 在 AWS EC2(ubuntu) 实例上运行的 Node.js 应用程序。我想将应用程序生成的日志从 EC2 发送到 Cloudwatch。我怎样才能做到这一点?
【问题讨论】:
标签: node.js amazon-ec2 amazon-cloudwatch pm2
我有一个使用 pm2 在 AWS EC2(ubuntu) 实例上运行的 Node.js 应用程序。我想将应用程序生成的日志从 EC2 发送到 Cloudwatch。我怎样才能做到这一点?
【问题讨论】:
标签: node.js amazon-ec2 amazon-cloudwatch pm2
Pm2 通常在 ~/.pm2/logs/{app_name}-{id} 的主文件夹中创建一个日志文件。首先更改或引入 pm2 生态系统文件以将错误和日志重定向到同一位置,例如 /var/logs/myApp.log
接下来,您只需在您的 vm 上安装和配置 aws cloudwatch 代理。请参阅 aws 文档以了解如何做到这一点https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
在配置代理时,您可以选择它应监控哪些文件的更改。在那里添加你的路径。
【讨论】:
没有将 pm2 日志推送到 AWS cloudwatch 日志的直接方法,pm2 没有这种功能。相反,pm2 将其保存在文件中,并存储在运行 NodeJS 的服务器中。
您可以尝试读取 pm2 日志文件、增量更改(CDC - 捕获数据更改)并将其推送到 AWS cloudwatch。 NPM fs 在这里很有用。
【讨论】: