debian

如何通过日志监控 Debian Node.js 服务状态

小樊
40
2025-04-07 12:34:10
栏目: 编程语言

要通过日志监控 Debian 上的 Node.js 服务状态,您可以遵循以下步骤:

  1. 确保您的 Node.js 应用程序正在运行并记录日志。您可以使用像 console.log()winstonmorgan 这样的库来记录日志。

  2. 将日志输出到文件。在您的 Node.js 应用程序中,配置日志库以便将日志写入到文件中。例如,如果您使用的是 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' })
  ]
});
  1. 安装并配置 systemd 服务。创建一个名为 your-nodejs-app.service 的文件,将其放在 /etc/systemd/system/ 目录下,并添加以下内容:
[Unit]
Description=Node.js Application
After=syslog.target network.target

[Service]
User=<your-user>
WorkingDirectory=/path/to/your/nodejs/app
ExecStart=/usr/bin/env node /path/to/your/nodejs/app/app.js
Restart=always
Environment=NODE_ENV=production
Environment=PATH=/usr/bin:/usr/local/bin
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<your-nodejs-app>

[Install]
WantedBy=multi-user.target

确保将 <your-user>/path/to/your/nodejs/app<your-nodejs-app> 替换为实际值。

  1. 重新加载 systemd 配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl start your-nodejs-app.service
  1. 查看日志。您可以使用 journalctl 命令查看 Node.js 应用程序的日志:
sudo journalctl -u your-nodejs-app.service -f

这将显示实时更新的日志。您还可以使用以下命令查看特定时间段的日志:

sudo journalctl -u your-nodejs-app.service --since "2021-09-01" --until "2021-09-30"

通过这些步骤,您可以监控 Debian 上的 Node.js 服务状态并查看其日志。

0
看了该问题的人还看了