我正在开发一个小型 NodeJS 服务器,它将在 PM2 管理下运行。我们在生产环境中使用 Sumologic 作为集中式日志解决方案。
如何将 PM2 日志发送到 Sumologic,最好在我的 NodeJS 代码中保留“console.log”语句以保持本地开发简单?
PM2有一个很好的日志管理系统,可以选择保存日志的位置【日志管理文档】
完成后,您现在需要读取日志文件并将其内容发送到 SumoLogic 以供摄取。
要处理通过 javascript 向 sumologic 发送日志,您需要使用sumo-logger。在您的应用程序中安装它。
接下来,创建一个读取日志文件的文件 mySumoLogger.js,需要 sumo-logger 并使用它定期将数据发送到 sumologic。您还可以尝试使用pm2-logrotate来轮换您的日志文件,并将其与数据推送到 sumo 的时间间隔相协调。
最后,您需要与您的应用程序并行运行 mySumoLogger.js。所以你的 pm2 生态系统.config.js 看起来像这样:
module.exports = {
apps: [
{ ...your app1 },
{ ...your app2 },
{
name: 'sumologicLogger',
script: 'node <path>/mySumoLogger.js',
},
],
};
甚至我也有将 PM2 集成到 sumologic 的相同用例,并试图通过上述相同的链接进行挖掘。似乎 PM2 删除了 Sumo Logic 或任何其他日志管理产品的集成模块。相反,他们要求用户注册企业版。