首页主机资讯如何利用Debian JS日志监控系统

如何利用Debian JS日志监控系统

时间2025-12-04 22:45:03发布访客分类主机资讯浏览972
导读:在 Debian 上搭建 JS 日志监控的可落地方案 一、方案总览与适用场景 面向 Node.js 应用:使用 PM2 管理进程与日志,配合 Winston/Bunyan 输出结构化日志;集中到 ELK(Elasticsearch + L...

在 Debian 上搭建 JS 日志监控的可落地方案

一、方案总览与适用场景

  • 面向 Node.js 应用:使用 PM2 管理进程与日志,配合 Winston/Bunyan 输出结构化日志;集中到 ELK(Elasticsearch + Logstash + Kibana)Graylog 做检索、可视化与告警。
  • 面向 前端/浏览器 JS:通过 Winston/Bunyan 输出到 HTTP/文件,由 Logstash/Filebeat 采集到 ELK/Graylog 统一分析。
  • 面向 系统日志:用 Node.js 脚本读取 /var/log/syslog 或调用 journalctl 做实时采集与处理,再送入集中式平台。
  • 面向 系统指标:用 Node.js 执行系统命令采集 CPU/内存/磁盘,结合日志平台做可视化与阈值告警。

二、快速落地步骤 Node.js 应用集中监控

  • 安装运行时与进程管理
    • 安装 Node.jsPM2
      • curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
      • sudo apt-get install -y nodejs
      • sudo npm install -g pm2
    • 启动应用并设为开机自启:
      • pm2 start app.js --name my-app
      • pm2 startup & & pm2 save
  • 结构化日志输出(示例 Winston)
    • 安装:npm install winston
    • 配置:
      • const winston = require(‘winston’);
      • const logger = winston.createLogger({ level: ‘info’, format: winston.format.json(), transports: [ new winston.transports.File({ filename: ‘logs/app.log’ } ), new winston.transports.Console() ] } );
      • logger.info(‘app started’, { env: process.env.NODE_ENV } );
  • 集中采集与可视化(ELK)
    • 安装 Elasticsearch/Logstash/Kibana(示例为 7.x 仓库源,生产请选择与你环境匹配的版本):
      • wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
      • echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
      • sudo apt update & & sudo apt install elasticsearch logstash kibana
      • sudo systemctl enable --now elasticsearch logstash kibana
    • 配置 Logstash(/etc/logstash/conf.d/nodejs.conf):
      • input { file { path => “/path/to/your/nodejs/logs/*.log”; start_position => “beginning” } }
      • filter { } # 可添加 grok/json 解析
      • output { elasticsearch { hosts => [“localhost:9200”]; index => “nodejs-logs-%{ +YYYY.MM.dd} ” } }
      • sudo systemctl restart logstash
    • Kibana 创建索引模式:Management → Stack Management → Index Patterns → 创建 nodejs-logs-* → 选择时间字段。

三、实时查看与安全加固

  • 实时查看
    • 系统日志:journalctl -f(实时滚动)、journalctl -u 服务名(按服务)、journalctl --since “1 hour ago”(按时间)
    • 文件日志:tail -f /var/log/syslog
  • 安全加固要点
    • 最小权限运行:Node/PM2 以 非 root 运行;日志目录仅对必要用户可读写(如 /var/log/myapp/,权限 0750/0640)。
    • 传输与存储:内网部署 ELK/Graylog 并使用 TLS;Elasticsearch 开启 安全认证访问控制
    • 审计与留痕:开启 journald 持久化(编辑 /etc/systemd/journald.conf:Storage=persistent),定期归档与清理旧日志。

四、扩展方案与选型建议

  • 轻量集中式:用 Filebeat 采集 Node/前端日志,直送 Elasticsearch,Kibana 可视化;部署与资源开销更低。
  • 企业级平台:用 Graylog 统一采集、处理与告警,适合多源异构日志与合规审计场景。
  • 监控与日志一体化:部署 Prometheus + Grafana 采集指标,日志走 ELK/Graylog;在 Grafana 统一看板与告警。

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


若转载请注明出处: 如何利用Debian JS日志监控系统
本文地址: https://pptw.com/jishu/764037.html
vsftpd与Ubuntu兼容性问题 Ubuntu中vsftpd安全设置指南

游客 回复需填写必要信息