
Univer Workspace 可观测性搭建教程Prometheus 加 Grafana 监控 RED 指标的完整配置【免费下载链接】univer-workspaceAn open-source Office workspace where people and AI agents create, collaborate, and review together.项目地址: https://gitcode.com/gh_mirrors/un/univer-workspaceUniver Workspace是一个开源的 Office 工作空间让人类和 AI 智能体Agent在同一个空间里创建、协作与评审文档、表格和演示文稿。项目内置了轻量级可观测性能力服务端会输出 JSON 日志并采集 HTTP 请求指标再搭配Prometheus Grafana监控栈就能在 5 分钟内搭建一套完整的RED 指标Requests 请求量、Errors 错误率、Duration 延迟仪表盘帮助你实时掌握接口的健康状态。 先认识一下 Univer WorkspaceUniver Workspace 的核心场景是人与 AI 共同办公团队成员和 AI Agent 共享同一个工作空间一起编辑单元Unit、发起评审Review、管理文件与协作会话。正因为流量来自人 AI 双通道接口负载会出现明显的波峰与长尾请求这时候可观测性就特别重要定位慢接口哪个路由的 P95 延迟突然升高发现错误5xx 服务端错误是否集中出现在某条路由评估容量每秒请求数QPS是否超出预期 RED 指标是什么为什么用它做监控RED 方法是服务接口监控的经典模型只盯三个最关键的维度维度含义Univer Workspace 仪表盘对应面板Requests 请求量每秒请求数QPS按路由分组QPS · 每秒请求数按路由Errors 错误5xx 服务端错误单位 次/秒服务端错误 · 5xx 每秒Duration 延迟P95 响应延迟越低越好P95 延迟 · 秒这套 RED 仪表盘由项目直接内置定义在 univer-workspace.json 中仪表盘名为Univer Workspace · RED 指标默认每 10 秒自动刷新、展示最近 1 小时数据。 监控架构三个组件如何协作整个可观测性栈由三个独立进程组成可以部署在同一台机器也可以分开部署Workspace/metrics 端点Bearer 令牌认证 ↑ 每 15 秒抓取 Prometheus保存指标历史 ↑ 查询 Grafana展示 RED 仪表盘Workspace负责输出 JSON 日志 采集 HTTP 请求指标指标端点/metrics。Prometheus周期性抓取并保存指标历史进程重启后数据也不丢。Grafana查询 Prometheus展示可视化仪表盘。详细架构说明可参考官方文档 observability/README.md。 三步完成本地搭建Docker Compose 一键启动第 1 步生成指标抓取令牌/metrics端点默认是关闭的返回 404需要设置METRICS_TOKEN环境变量才会启用。令牌建议使用至少 32 位随机字符串存放于 docker-compose.yml 约定的observability/.secrets/metrics-token文件中该目录已加入 Git 忽略。第 2 步启动 Workspace 并注入令牌在仓库根目录执行METRICS_TOKEN$(cat observability/.secrets/metrics-token) HOST0.0.0.0 pnpm workspace:dev:server⚠️HOST0.0.0.0会让服务监听所有网卡仅限可信本地网络使用。第 3 步启动 Prometheus 与 Grafanadocker compose -f observability/docker-compose.yml up -d完成后访问Prometheushttp://127.0.0.1:9090 → 在 Targets 页面确认univer-workspace为UPGrafanahttp://127.0.0.1:3000 → 首次登录admin / admin按提示修改密码Grafana 的数据源与仪表盘通过**自动配置Provisioning**在启动时注入无需手工创建数据源配置prometheus.yml自动注册名为Prometheus的默认数据源仪表盘加载dashboards.yml⏳小提示抓取间隔为 15 秒速率与分位数图表需要积累多个采样点才有曲线先访问几次 Workspace 接口再刷新仪表盘。⚙️ 关键配置文件速览配置文件作用observability/prometheus.yml抓取任务scrape_interval: 15s目标host.docker.internal:3020Bearer 令牌认证observability/docker-compose.yml编排 Prometheusv3.5.0与 Grafana12.1.0两个端口均只绑定127.0.0.1observability/grafana/dashboards/univer-workspace.jsonRED 三面板仪表盘定义observability/README.md完整部署文档与排障说明Prometheus 的抓取配置非常简洁每 15 秒向host.docker.internal:3020macOS 上访问宿主机的专用地址的/metrics发起请求并携带authorization.credentials_file指向的令牌文件。 指标是怎么产生的看一眼源码Workspace 的指标采集基于 metrics.ts 中的Histogram直方图指标http_request_duration_seconds三个标签method请求方法、route稳定路由模板如/nodes/:id、status_code响应码固定桶Buckets0.01 ~ 30秒内存占用可控两套中间件Express 请求与协作 SDKTransport请求各自计时每个请求只记录一次在响应finish时打点指标端点路由注册在 app.ts令牌校验逻辑SHA-256 时序安全比较见 metrics.tsMETRICS_TOKEN的环境变量读取与格式校验在 config.ts 中完成。✅ 验证与常见排障现象排查方向/metrics返回404检查METRICS_TOKEN是否已配置并重启 Workspace抓取返回401核对 Workspace 与 Prometheus 两侧的令牌是否一致连接失败检查targets地址、端口与网络可达性仪表盘没数据等待多个 15 秒采样周期确认 Targets 状态为 UP停止监控栈docker compose -f observability/docker-compose.yml down。命名卷会保留 Prometheus 历史与 Grafana 配置down -v会一并删除数据。 部署到生产与其他环境监控组件完全可以独立于 Workspace 部署Kubernetes、其他服务器、已有 Prometheus 实例均可只需保证三条连接可达Prometheus → Workspace 的 /metrics携带抓取令牌 Grafana → Prometheus 的查询地址 浏览器 → Grafana跨机器部署时把targets改为实际可达地址、scheme改为https并修改 Grafana 数据源的url为 Prometheus 服务端地址保持 UID 与仪表盘引用一致。各部署方式的能力对照表见 README从只部署 Workspace到接入已有监控平台四种形态按需选择。 总结RED 指标三件套QPS / P95 延迟 / 5xx 速率覆盖了接口健康度的核心视角项目内置Docker Compose Prometheus Grafana全套配置本地 3 条命令即可跑通/metrics默认关闭 Bearer 令牌认证兼顾安全与易用生产环境可灵活对接已有监控平台仪表盘 JSON 可直接导入现在就可以打开 observability/README.md按照本教程为你的 Univer Workspace 搭建一套专业的可观测性监控吧【免费下载链接】univer-workspaceAn open-source Office workspace where people and AI agents create, collaborate, and review together.项目地址: https://gitcode.com/gh_mirrors/un/univer-workspace创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考