从入门到实战:一文搞定JS无埋点监控方案
2025年4月3日 11:36
前端性能与用户行为分析愈发重要,埋点监控成为各类业务不可或缺的基础设施。但传统手动埋点方式存在维护成本高、容易遗漏等问题。本文将带你从0到1构建一套JavaScript无埋点监控方案,真正实现自动上报
全栈监控能力
支持网站、数据库、操作系统、中间件、云原生应用、网络设备等资源的实时监控,覆盖指标采集、阈值告警、通知一体化流程。
灵活告警与通知
高性能与扩展性
低门槛易用性
# 基础命令(默认使用 H2 数据库)
docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat
# 高级配置(挂载配置文件、时序数据库)
docker run -d \
-p 1157:1157 -p 1158:1158 \
-e LANG=zh_CN.UTF-8 -e TZ=Asia/Shanghai \
-v $(pwd)/config/application.yml:/opt/hertzbeat/config/application.yml \
-v $(pwd)/data:/opt/hertzbeat/data \
--name hertzbeat tancloud/hertzbeat
配置文件说明:
application.yml
:时序数据库(如 VictoriaMetrics、TDengine)连接配置。
sureness.yml
:修改默认账号密码(默认 admin/hertzbeat)。
内外虚拟机部署:
docker run -d --net=host -v $(pwd)/data:/opt/hertzbeat/data -v $(pwd)/logs:/opt/hertzbeat/logs -v $(pwd)/application.yml:/data/application.yml -v $(pwd)/sureness.yml:/data/sureness.yml -v $(pwd)/ext-lib:/opt/hertzbeat/ext-lib --restart=always --name hertzbeat apache/hertzbeat
http://192.168.6.128:1157/dashboard
docker run -d -p 8086:8086 -v /opt/influxdb:/var/lib/influxdb influxdb:1.8
docker run -p 6379:6379 --name redis --restart=always -v /opt/redis/redis.conf:/etc/redis/redis.conf -v /opt/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass root123
下载对应系统的安装包(如 Linux、Windows),解压后运行启动脚本。
需手动配置
application.yml
和
sureness.yml
,路径通常为
hertzbeat/config/
。
version: '3'
services:
hertzbeat:
image: tancloud/hertzbeat
ports:
- "1157:1157"
volumes:
- ./config:/opt/hertzbeat/config
- ./data:/opt/hertzbeat/data
victoriametrics:
image: victoriametrics/victoriametrics
ports:
- "8428:8428"
登录:访问
http://<服务器IP>:1157
,默认账号密码
admin/hertzbeat
。
新增监控:
容器命名冲突:删除旧容器
docker rm -f hertzbeat
后重新启动。
时序数据库选择:生产环境建议使用 VictoriaMetrics 或 TDengine 替代 H2,避免数据丢失。
性能调优:增加采集器节点(Docker 部署多实例)提升并发能力。
更多细节可参考官方文档 或社区案例 。