我已成功将 Node.js 应用程序部署到 AWS Elastic Beanstalk。此应用程序不是 Web 应用程序,因此没有可与之交互的网页或 Web 服务器。它在一个循环中连续运行,并通过标准的“console.log”调用(到标准输出)提供反馈。
如何轻松监控正在运行的应用程序?Heroku 有“heroku logs”命令,这正是我需要的工具。我尝试了“eb logs”命令,但输出不是我想要的(没有标准输出)。
我已成功将 Node.js 应用程序部署到 AWS Elastic Beanstalk。此应用程序不是 Web 应用程序,因此没有可与之交互的网页或 Web 服务器。它在一个循环中连续运行,并通过标准的“console.log”调用(到标准输出)提供反馈。
如何轻松监控正在运行的应用程序?Heroku 有“heroku logs”命令,这正是我需要的工具。我尝试了“eb logs”命令,但输出不是我想要的(没有标准输出)。
我发现 Node.js EB 应用程序将其输出记录到/var/log/nodejs/nodejs.log中。提取日志时,通过 Web 控制台或“eb logs”命令,请注意此日志文件。
可能不完全符合您的要求,但我们使用日志服务器(LogStash、Kibana 和 ElasticSearch)来收集、索引和可视化我们的日志。控制台输出的问题是,imo,您无法保证服务器是否正在运行。理论上,实例可能随机产生和终止(好吧,在负载下)。因此,您将不断丢失日志。
日志收集器将从文件中获取日志(如果您愿意,也可以将它们写入 UDP 端口)并将它们存储在单独的环境中以进行分析和可视化。