首页主机资讯Ubuntu上Node.js日志的实时监控工具

Ubuntu上Node.js日志的实时监控工具

时间2025-10-11 22:58:03发布访客分类主机资讯浏览233
导读:1. PM2(进程管理与实时日志工具) PM2是Node.js生态中最流行的进程管理工具之一,内置实时日志监控功能。它支持启动/管理Node.js应用、自动重启崩溃进程,并能实时输出应用日志(包括stdout/stderr)。通过pm2 l...

1. PM2(进程管理与实时日志工具)
PM2是Node.js生态中最流行的进程管理工具之一,内置实时日志监控功能。它支持启动/管理Node.js应用、自动重启崩溃进程,并能实时输出应用日志(包括stdout/stderr)。通过pm2 logs命令可查看所有应用的合并日志,或指定应用名(如pm2 logs my-app)查看单个应用的日志;还能通过pm2 set pm2-logrotate:max_size 10M配置日志轮转(如限制单个日志文件大小为10MB,保留最近7个文件),避免日志文件过大。

2. tail命令(基础实时日志查看)
tail -f是Linux系统自带的轻量级工具,适合快速查看Node.js日志文件的实时更新。例如,若应用日志输出到/var/log/myapp.log,运行tail -f /var/log/myapp.log即可在终端实时显示新增日志内容;按Ctrl+C停止查看。该工具无需额外安装,适合简单的实时监控需求。

3. multitail工具(多文件实时监控)
multitail是增强版日志查看工具,支持同时监控多个日志文件(如同时查看应用日志、错误日志),并提供颜色高亮、分屏显示等功能。安装方式为sudo apt-get install multitail,使用命令如multitail /var/log/myapp.log /var/log/myapp-error.log即可同时监控两个文件;还支持正则表达式过滤(如multitail -e "ERROR" /var/log/myapp.log只显示包含“ERROR”的行),提升日志查看效率。

4. ELK Stack(集中式日志管理)
ELK Stack(Elasticsearch+Logstash+Kibana)是企业级集中式日志管理方案,适合需要大规模日志收集、搜索、分析和可视化的场景。通过Winston等日志库将Node.js日志发送到Elasticsearch(存储与索引),再用Kibana创建仪表板(如展示请求量、错误率趋势),实现日志的结构化分析与可视化。需安装配置Elasticsearch、Logstash、Kibana及Winston的Elasticsearch传输插件(如winston-elasticsearch)。

5. Graylog(开源集中式日志管理)
Graylog是开源的集中式日志管理工具,基于Elasticsearch,提供简洁的WebUI,支持日志收集、过滤、告警(如邮件通知)和合规性审核。通过配置Node.js应用将日志发送到Graylog(如使用winston-graylog2库),可在WebUI中快速检索、分析日志(如按级别、来源过滤),适合需要集中管理多节点日志的场景。

6. Winston(Node.js日志库)
Winston是Node.js最流行的日志库之一,支持多传输方式(文件、控制台、HTTP、数据库等)和结构化日志(JSON格式),可与ELK、Graylog等工具集成。通过配置Winston,可将日志输出到多个目标(如同时输出到控制台和combined.log文件),并设置日志级别(如infoerror)。示例代码:

const winston = require('winston');

const logger = winston.createLogger({

  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({
 filename: 'error.log', level: 'error' }
),
    new winston.transports.File({
 filename: 'combined.log' }
)
  ]
}
    );
    
logger.info('This is an info message');
     // 输出到控制台和combined.log
logger.error('This is an error message');
     // 输出到控制台、error.log和combined.log

Winston本身不提供实时查看功能,但结合tail -f或ELK等工具可实现实时监控。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu上Node.js日志的实时监控工具
本文地址: https://pptw.com/jishu/724110.html
Node.js日志在Ubuntu上的存储优化 lsnrctl在Debian上的安装步骤

游客 回复需填写必要信息