观测云集成泛微 E9 最佳实践

背景

泛微 E9 是企业常见的 OA 协同办公系统,承载流程审批、门户访问、表单提交、组织协作等核心业务。系统运行一段时间后,常见问题包括页面访问慢、流程提交卡顿、接口异常、日志排查困难等。

通过将泛微 E9 接入观测云,可以从后端 APM、前端 RUM、日志、主机指标等多个维度进行统一观测,实现从用户访问体验到后端调用链路的完整分析。

整体方案

整体接入分为两部分:后端 APM 在 Resin JVM 启动参数中加载 dd-java-agent.jar,采集 Java 链路;前端 RUM 在泛微 E9 前端入口 HTML 的 head 首行插入观测云 RUM SDK,采集用户访问体验。

一、后端 APM 接入

1. 下载 Java Agent

进入 DataKit 数据目录:

复制代码
cd /usr/local/datakit/data

下载观测云 Java Agent:

复制代码
wget -O dd-java-agent.jar https://static.guance.com/dd-image/dd-java-agent.jar

确认文件存在:

复制代码
ls -lh /usr/local/datakit/data/dd-java-agent.jar

2. 定位 Resin 配置目录

泛微 E9 的 Resin 配置文件位于:data/weaver/Resin4/conf

进入目录后,找到 resin.properties 文件。如下图所示。

修改前建议备份:

复制代码
cp resin.properties resin.properties.bak.$(date +%Y%m%d%H%M%S)

3. 修改 resin.properties

打开文件:data/weaver/Resin4/conf/resin.properties

找到 jvm_args 配置行。jvm_args 位于 resin.properties 的「Arg passed directly to the JVM」配置段下,观测云 Java Agent 参数应追加在该行已有 JVM 参数末尾。如下图所示。

需要追加的参数:

复制代码
-javaagent:/usr/local/datakit/data/dd-java-agent.jar -Ddd.logs.injection=true -Ddd.env=dev -Ddd.service=OA95 -Ddd.agent.host=127.0.0.1 -Ddd.agent.port=9529

示例:

复制代码
jvm_args : -Xmx5550m -Xms5550m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+DisableExplicitGC -javaagent:wagent.jar -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=GBK -javaagent:/usr/local/datakit/data/dd-java-agent.jar -Ddd.logs.injection=true -Ddd.env=dev -Ddd.service=OA95 -Ddd.agent.host=127.0.0.1 -Ddd.agent.port=9529

注意事项:

  • 不要删除原有 jvm_args 参数。
  • 不要覆盖原有 -javaagent:wagent.jar
  • 新增参数建议追加到原 jvm_args 行末尾。
  • 参数之间必须用空格分隔。
  • 尽量保持在同一行,避免 Resin 解析异常。
  • -Ddd.service=OA95 可按实际系统命名调整。
  • 生产环境建议将 -Ddd.env=dev 改为 prod

4. 重启泛微 E9 / Resin

保存配置后,按现场标准流程重启泛微 E9 或 Resin 服务。

重启后检查 Java 进程参数:ps -ef | grep java | grep dd-java-agent

如果能看到 -javaagent:/usr/local/datakit/data/dd-java-agent.jar,说明 Java Agent 已成功加载。

二、前端 RUM 接入

1. 前置条件

前端接入前,需要先注册并登录观测云账号,进入「用户访问监测」,新建一个前端应用,选择「CDN 同步载入」,然后复制系统生成的 SDK 代码。

控制台位置:用户访问监测 > 新建应用 > CDN 同步载入

观测云控制台会提示:单页应用建议将代码复制粘贴到 HTML 文件 head 标签的首行;多页应用建议将代码复制粘贴到公共 head 模板文件的首行。

2. 定位泛微 E9 前端入口文件

泛微 E9 前端入口目录:data/weaver/ecology/wui

进入目录:cd data/weaver/ecology/wui

找到文件:index.html

修改前建议备份:

复制代码
cp index.html index.html.bak.$(date +%Y%m%d%H%M%S)

3. 插入 RUM SDK 代码

打开 data/weaver/ecology/wui/index.html,将观测云控制台生成的代码复制到 HTML 文件 head 标签的首行。

示例位置:<head> 的第一行放置观测云 RUM SDK,后续再保留原有页面内容。

实际代码以观测云控制台生成内容为准,核心参数包括:

  • applicationId:前端应用 ID。
  • site:观测云 RUM 数据接收地址,例如 https://rum-openway.guance.com
  • clientToken:观测云自动生成的 Client Token。
  • env:环境标识,建议生产为 prod
  • service:前端服务名,建议使用 fanwei-e9-web
  • version:版本号,例如 1.0.0
  • sessionSampleRate:会话采样率。
  • sessionReplaySampleRate:会话回放采样率。
  • traceType:链路追踪类型,建议与后端兼容,例如 ddtrace

三、前后端链路关联

如果希望从前端 RUM 请求跳转到后端 APM Trace,需要同时满足:

  • 后端已接入 Java APM。
  • 前端 RUM SDK 已开启链路追踪。
  • traceType 使用与后端兼容的类型,例如 ddtrace
  • allowedTracingOrigins 中加入泛微 E9 后端接口域名。
  • 前端访问的接口能够携带链路追踪 Header。
  • 后端 Java Agent 能接收并继续传递 Trace 上下文。

如果泛微 E9 是内网访问地址,也应将对应域名或 IP 加入允许列表。

总结

通过本次接入,后端无需改造业务代码即可完成 Java APM 链路采集,前端可同步采集页面加载、资源请求、接口请求、JS 错误及会话回放等数据,实现从用户访问体验到后端服务调用链路的全流程追踪。针对页面加载慢、业务流程慢、接口异常等问题,可更快速定位原因并提升排障效率。同时,本次接入将沉淀形成标准化实施步骤,便于后续复制推广至测试、生产及其他泛微 E9 环境。

相关推荐
__土块__2 天前
AI 管理后台首页信息过载:从用户决策失效到摘要视图重构
可观测性·信息架构·mcp协议·rag系统·ai工程·管理后台设计·agent系统
__土块__2 天前
AI 管理后台稳定性治理:从静默超时到链路背压的监控体系设计
可观测性·系统稳定性·ai工程·管理后台设计·静默故障·链路背压·异步探活
zhojiew3 天前
使用Langfuse实现应用可观测性的实践(Prompt,RAGAS,Score)
可观测性·langfuse
__土块__3 天前
AI 后台任务调度中的静默跳过治理:从链路背压到状态补偿的稳定性实践
状态机·可观测性·任务调度·系统稳定性·ai工程·静默故障·背压控制
观测云7 天前
观测云4月产品升级报告 | 统一目录、Obsy AI 全新上线,基础设施、场景、监控告警、管理多项能力升级
数据库·人工智能·可观测性·产品迭代·观测云
__土块__13 天前
AI 后台模型调用额度突降为零的治理复盘:从额度同步延迟到动态感知的稳定性实践
可观测性·系统稳定性·事件驱动·缓存一致性·ai工程·生产实践·额度治理
__土块__13 天前
AI 后台任务调度成功但未执行:从链路追踪到巡检策略的稳定性治理实践
可观测性·链路追踪·任务调度·系统稳定性·故障排查·管理后台·ai工程
__土块__17 天前
AI 管理后台首页信息过载治理:从指标泛滥到决策摘要的视图重构实践
异常检测·可观测性·故障排查·信息架构·ai工程·管理后台设计·状态机建模
__土块__18 天前
AI 后台任务静默丢失的链路治理:从状态机缺陷到可观测性闭环的工程复盘
可观测性·任务调度·系统稳定性·监控告警·重试机制·ai工程·状态机设计