为使用 ELB 在 2 个 EC2 上托管的应用程序设置 Node.js 日志记录的最佳方式

Best way to set up Node.js logging for app hosted on 2 EC2's with ELB

我有 2 个独立但相同的应用程序实例,在两个与弹性负载平衡器 (ELB) 连接的 EC2 上旋转。

我想知道您找到的能够从节点存储和检索日志以解决问题的最佳方法。

一些用户正在试验 authentication/authorization 问题,并希望放置几个 console.log(usefulStuffToLog) 并能够从 AWS 控制台 CloudWatch 读取它。

如果您配置 pm2 将其日志输出到 ec2 上的已知位置,您可以使用 aws 提供的 CloudWatch 代理将日志发送到 CloudWatch Logs。

无论你在哪里执行 pm2,添加 -l-e 并且 -o 切换到 specify where to write your pm2 log files:

-l --log [path]              specify filepath to output both out and error logs
-o --output <path>           specify out log file
-e --error <path>            specify error log file

Install CloudWatch agent. Agent can also be used to send instance metrics like available disk space etc. There is a wizard included with CWAgent 帮助创建 json 配置文件,这是一个很好的起点,但可能需要一些手动调整。

您需要为 CWAgent 提供凭据 - 它可以使用实例配置文件凭据,或者您可以使用 API 密钥和密码配置代理。