商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何通过日志监控 Debian Node.js 运行状态

如何通过日志监控 Debian Node.js 运行状态

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

监控 Debian 上 Node.js 应用的运行状态,说白了就是得盯住日志。日志是应用的“黑匣子”,一旦出问题,翻翻日志往往就能找到线索。下面这套流程,是我在实践中反复验证过的,从基础配置到高级监控,一步步说清楚。

如何通过日志监控 Debian Node.js 运行状态

1. 配置日志记录

先把日志打出来,这是所有监控的地基。Node.js 生态里最常用的日志库是 winstonmorganpino。拿 winston 举个例子,配置起来很直观:

const winston = require('winston');
const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});
if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple()
  }));
}

这样配置后,错误日志单独存放,普通日志合并记录。开发环境下还能直接打印到控制台,调试起来很方便。

2. 使用 pm2 进行进程管理

说到 Node.js 进程管理,pm2 几乎是标配。它能自动重启、管理日志,省去不少手工操作。安装命令很简单:

sudo npm install pm2 -g

启动应用时,给它起个名字方便后续管理:

pm2 start app.js --name my-app

3. 监控日志

pm2 自带的日志查看功能很顺手,几个常用命令就能搞定日常监控:

  • 想一口气看所有应用的日志?直接 pm2 logs
  • 只看某个特定应用的日志?pm2 logs my-app
  • 想实时追踪最近100行?pm2 logs my-app --lines 100

这三个命令基本覆盖了大多数场景,比手动翻日志文件快得多。

4. 使用 tail 命令实时监控日志文件

如果你更习惯 Linux 原生的方式,tail -f 依然是利器。直接指定日志文件路径即可:

tail -f /path/to/your/logs/combined.log

这样日志一有新行就会自动刷新到终端,适合做实时观察。

5. 设置日志轮转

日志文件如果不加控制,几天就能撑爆磁盘。好在 pm2 内置了日志轮转功能,启动时加上 --log-date-format 参数就能按时间切割文件:

pm2 start app.js --name my-app --log-date-format "YYYY-MM-DD HH:mm Z"

这样每天、每小时甚至每分钟都会生成独立文件,再也不用担心单个日志文件过于庞大。

6. 使用监控工具

如果团队需要对多台服务器做统一监控,那就得上 Prometheus 和 Grafana 这套组合了。它们能收集指标、可视化展示,甚至设置告警。

安装 Prometheus 和 Grafana

在 Debian 上安装很方便:

sudo apt-get update
sudo apt-get install prometheus grafana

配置 Prometheus 抓取 Node.js 应用程序的指标

编辑 Prometheus 的配置文件 /etc/prometheus/prometheus.yml,添加你的 Node.js 应用作为抓取目标:

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9090']

启动 Prometheus 和 Grafana

启动服务:

sudo systemctl start prometheus
sudo systemctl start grafana-server

配置 Grafana 数据源

进入 Grafana 界面,添加 Prometheus 为数据源,然后创建仪表盘。你可以把 Node.js 的请求量、错误率、响应时间等指标画成图表,一目了然。

从简单的日志文件到企业级的监控面板,这套流程能覆盖从小白到运维大神的全部需求。核心思路只有一个:让日志“说话”,并且让你第一时间听见。

本文转载于:https://www.yisu.com/ask/45881947.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注