node.js - 如何将 PM2 日志写入 sumologic?
问题描述
我正在开发一个小型 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',
},
],
};
推荐阅读
- angular - 是否可以改变角度的视图技术?
- java - 如何从文件中获取 JSON 对象并使用 Apache Camel 路由将其映射到 Java 类?
- ruby-on-rails - 找不到 /home/rails/webapp/Gemfile.lock 所需的 'bundler' (2.1.4)。(Gem::GemNotFoundException) 运行 docker build
- amazon-web-services - AWS Glue 动态框架 - 如果没有数据,则没有列标题
- django - ImportError:运行 collectstatic 时没有名为 rest_framework 的模块
- artifactory - 使用 jfrog CLI 在 Artifactory 中转储文件的存储校验和
- javascript - (JSX) 是 React 中 javascript 的语法扩展是什么意思
- typescript - 如何制作没有任何或对象的 TypeScript 类型保护?
- python - 就 Big O 而言,该解决方案的运行时间复杂度和空间复杂度是多少?
- java - 使用 springProfile 配置时,Logback-spring.xml 创建多个日志文件