最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
怎样配置Debian上的JS日志分析工具
时间:2026-07-05 10:17:47 编辑:袖梨 来源:一聚教程网
一、前置准备:安装必要工具在Debian上配置JS日志分析工具前,需先安装基础工具和依赖:

- Node.js与npm:用于运行JS应用及日志库(如Winston)。通过
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -添加NodeSource仓库,再执行sudo apt install -y nodejs安装。 - 日志库:推荐使用Winston(功能全面)或Pino(高性能)。以Winston为例,通过
npm install winston安装,配置文件示例:const winston = require('winston');const logger = winston.createLogger({level: 'info',format: winston.format.json(), // 结构化日志(便于后续分析)transports: [new winston.transports.File({ filename: '/var/log/my-js-app/error.log', level: 'error' }),new winston.transports.File({ filename: '/var/log/my-js-app/combined.log' })]});module.exports = logger;```。
二、收集与存储日志
- 进程管理工具:使用PM2管理JS应用进程,自动重启并记录日志。安装PM2:
sudo npm install -g pm2;启动应用并指定日志路径:pm2 start app.js --name my-js-app --out /var/log/my-js-app/out.log --err /var/log/my-js-app/err.log;保存进程列表以实现开机自启:pm2 save。 - 日志轮转:通过logrotate防止日志文件过大。创建配置文件
/etc/logrotate.d/my-js-app,内容如下:/var/log/my-js-app/*.log {dailymissingokrotate 7compressnotifemptycreate 0640 root adm}```(每日轮转、保留7天、压缩旧日志)。
三、使用ELK Stack进行高级分析与可视化ELK(Elasticsearch+Logstash+Kibana)是Debian上常用的JS日志分析解决方案,步骤如下:
- 安装ELK组件:
- Elasticsearch:添加Elastic官方仓库(
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 -a /etc/apt/sources.list.d/elastic-7.x.list),执行sudo apt install elasticsearch,启动服务:sudo systemctl start elasticsearch并设置开机自启。 - Kibana:通过
sudo apt install kibana安装,启动服务:sudo systemctl start kibana,默认通过http://your-server-ip:5601访问。 - Logstash:通过
sudo apt install logstash安装,创建配置文件/etc/logstash/conf.d/js-logs.conf,内容如下:input {file {path => "/var/log/my-js-app/*.log" # 日志文件路径start_position => "beginning" # 从文件开头读取(首次运行)}}filter {grok { # 解析日志格式(根据实际日志调整)match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}" }}date { # 转换时间戳格式match => [ "timestamp", "ISO8601" ]}}output {elasticsearch { # 发送数据到Elasticsearchhosts => ["localhost:9200"]index => "js-logs-%{+YYYY.MM.dd}" # 按日期分索引}}```;重启Logstash:`sudo systemctl restart logstash`。
- Elasticsearch:添加Elastic官方仓库(
- 配置Kibana:
- 访问
http://your-server-ip:5601,进入“Management”→“Stack Management”→“Index Patterns”,点击“Create index pattern”,输入js-logs-*(匹配Logstash输出的索引),选择时间字段(如timestamp),完成创建。 - 进入“Discover”界面,选择刚创建的索引模式,即可搜索(如
loglevel: "error")、过滤(如timestamp >= "now-1d/d")和可视化日志数据(如通过“Visualize”创建错误数量趋势图)。
- 访问
四、基础命令行分析(可选)若无需复杂可视化,可使用以下命令行工具快速分析日志:
- grep:搜索特定关键字(如错误日志):
grep "ERROR" /var/log/my-js-app/combined.log。 - awk:提取并统计字段(如统计错误数量):
awk '/ERROR/ {count++} END {print "Error count:", count}' /var/log/my-js-app/combined.log。 - sed:替换或清理日志内容(如将“error”替换为“warning”):
sed 's/error/warning/g' /var/log/my-js-app/combined.log。
相关文章
- 菜鸟app如何进行快递纸箱回收 07-05
- 梦幻西游怎么查询角色以前所在区 07-05
- 当告警风暴来袭:IT运维怎样应对“信息过载”困境 07-05
- 金铲铲之战S15赛季玩法是什么 07-05
- Anthropic 大面积封号:连大 V 都忍不了开喷了 07-05
- 短短几天:暴涨2.8万Star!又一款编程神器开源! 07-05