Skip to content

docs(design): 微服务可观测性建设技术设计(#1938 / 子任务 #2061) - #7

Merged
TangJia025 merged 14 commits into
mainfrom
docs/2061-design-doc
Sep 15, 2026
Merged

TangJia025 merged 14 commits into
mainfrom
docs/2061-design-doc

Conversation

@TangJia025

Copy link
Copy Markdown
Contributor

背景

#1938「微服务可观测建设」的技术设计稿,子任务 #2061

本仓此前已交付 spec/ 契约层 + 四语言 SDK(PR #1 ~ #4)。本文档是第三份交付物:面向评审的完整技术设计,回答 SDK 之外的三件事——底座怎么搭、26 个服务怎么接、大盘与告警怎么落地。

内容

章节 内容
§1 背景 现状基线与关键约束
§2 目标 建设目标与设计原则
§3 整体架构 范围分层视图 / 部署与流程视图 / 底座选型 / community 贯穿维度
§4 详细设计 契约层、四语言 SDK、服务接入模式(Go/Java/Python 各一个接入示例)、部署侧字段注入、底座与观测消费侧、中心指标集群选型与形态
§5 工作量预估 子任务 A / B / C
§6 风险与待确认 含 R7 部署口径明细
附录 相关链接与术语表

关键结论

  • 指标侧改为自建中心 Prometheus(弃用 AOM 多账号聚合路线——官方确认多实例聚合不支持跨 Region)。17 个集群的 Agent 以 --agent 模式(本地只抓不存)remote_write 汇聚到 1 个独立中心实例,换取统一大盘 + 统一告警
  • 日志侧复用现有 LTS:每集群 1 条流(共 17 条),只改日志的内容格式(结构化 JSON + 契约字段),不动采集管道。因 LTS 无跨流查询,明确接受「无跨集群联合告警」
  • 大盘用 1 个自建 Grafana,同时挂中心 Prometheus(指标)+ 17 个 LTS 数据源(日志),实现跨账号免多登、日志指标同屏。
  • 服务侧接入形态:Go/Java/Python 各给一个 obs-sdk 接入示例,均走 SDK 既有 API,不改各语言官方库。

说明

  • 本 PR 只新增文档,不改任何代码与契约。
  • 文中数据来源:opensourceways/infrastructureservice.yaml(集群 / 社区映射)、华为云 LTS 现网抽样、ascend-ci-deployment 资源块 monitoring 目录。
  • 文档中的待确认项集中在 §6 与各节「待验证」块,供评审时逐条过。

🤖 Generated with Claude Code

AI 使用声明

当前 PR 是否有 AI 参与:

    1. AI Agent 平台:Claude Code
    2. AI 模型:deepseek-v4-flash
    3. Prompt 上下文:与 Claude Code 结对撰写技术设计稿,逐轮迭代章节结构、架构图与底座选型论证

spec 契约 + 四语言 SDK 之外的第三份交付物:面向评审的技术设计稿。

- §3 整体架构:范围分层 / 部署与流程 / 底座选型 / community 贯穿维度
- §4 详细设计:契约层、四语言 SDK 接入模式(Go/Java/Python 各一示例)、
  部署侧字段注入、底座与观测消费侧、中心指标集群选型与形态
- §5 工作量预估、§6 风险与待确认(含 R7 部署口径明细)、附录

关键结论:指标侧改为自建中心 Prometheus(弃用 AOM 多账号聚合,官方确认
不支持跨 Region),17 集群 Agent remote_write 汇聚,统一大盘 + 统一告警;
日志侧复用现有 LTS 每集群 1 条流,大盘并入自建 Grafana。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

Welcome To opensourceways Community

Hey @TangJia025 , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.

Contact Guide

If you have any questions, please contact the SIG: infratructure ,
and any of the maintainers: @GeorgeCao-hw, @TangJia025, @pkking, @zhongjun2 ,
and any of the committers: @GeorgeCao-hw, @TangJia025, @pkking, @zkhzkhz .

@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

@opensourceways-bot

Copy link
Copy Markdown

Linking Issue Notice

@TangJia025 , the pull request must be linked to at least one issue.
If an issue has already been linked, but the needs-issue label remains, you can remove the label by commenting /check-issue .

按「结论 + 关键理由 + 关键数字」精简重写,删除决策过程与被推翻的历史:

- §4.6 日志链路:日志采集 / 日志存储 / 日志告警 / 日志大盘
- §4.7 指标链路:指标采集 / 指标存储 / 指标告警 / 指标大盘 / 社区大盘
- 新增 §4.7.5 社区大盘(对外健康度状态页,与内部指标大盘对比,白盒 SDK + 黑盒拨测)
- 9 条待验证项迁入 §6,新增风险行 R13–R21
- 15 处指向旧子节号的交叉引用重映射;412 行精简至 206 行

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

新增 §4.8,给出两个端到端场景:

- §4.8.1 用户视角:MindSpore 评审机器人不响应 —— 贡献者查社区健康度大盘
  即可判断「是机器人侧问题」而非自己 PR 的问题,不必盲猜或逐个私聊研发;
  点明该场景必须靠 §4.7.1 黑盒拨测(服务内指标可能全绿)
- §4.8.2 研发视角:CLA 签署失败 —— 告警(带 cluster)→ 指标大盘确认是服务
  异常而非流量问题 → 同屏日志检索定位到数据库 → 带证据转运维 → 自动消警;
  附「本场景覆盖了 §4.6 / §4.7 哪几条链路」映射表
- §4.8.3 两个场景在发现 / 定位 / 协作三个维度的共同变化

场景标注为目标态,依赖项回指 §6 R13(结构化解析)与 R21(社区大盘交付范围)。

同时收敛 §4.6.1 日志采集:

- 采集侧「硬约束表」与「实测四类格式表」收敛为官方日志读写限制文档外链
  (该组数字随 LTS 版本变动大,外链比转述更稳)
- 随之修正 §6 R14 的引用:其证据来自被收敛的实测表,现改指 §4.6.2 结构化解析口径

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

把 §4.8 的两个典型场景提炼为「视角 / 场景 / 目标态下」三行表,放在 G1–G5
目标表之后,让「目标达成后落到具体的人身上是什么样」在开篇即可见:

- 用户视角:查社区健康度大盘即知是机器人侧异常,不盲猜、不打扰研发
- 研发视角:告警先于用户报障,大盘 → 日志同屏下钻定位到数据库

并标注用户视角依赖的 §4.7.5 社区大盘不在 G1–G5 之列、交付范围待定(§6 R21)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

上游验收标准 1–5 未覆盖对外状态页,故 G6 标注为「本方案新增」,验收口径
需与需求方补充确认。跟随性一致性修复:

- §2.1 新增 G6 目标行;用户视角场景的依赖改为挂 G6
- §4.7.5 待定第 3 项由「是否纳入本期交付范围」改为「验收口径」
- §4.8 场景一的依赖项改指 G6
- §5.2 增设 G6 工作量行(标记待估,不计入小计);§5.4 汇总标注未含 G6

注:本次提交同时带入作者手工精简移除的 §6 R21 一行,未在代码层面回滚。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

上游 #1938 的验收标准为 1–5(子任务 #2063 亦按「5 条验收标准」逐条打勾),
社区健康度大盘排在 6,故写「验收 6(本方案新增)」并保留「本方案新增」限定,
避免读者误以为 #1938 中已存在第 6 条。§2.1 注与 §4.7.5 待定第 3 项同步写明。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

按 ascend-ci-deployment 仓 monitoring/ 与 argocd/clusters/ 的实际配置绘制
存量系统的逻辑架构,非本方案:多 Region(中心 beijing + 业务 12 集群 / 4 个
Region)、两条上报路径(Agent remote_write / CronJob push → Pushgateway)、
中心 Prometheus + Alertmanager + Pushgateway 三件套、告警邮件链路、看板。

同时记录两处与正文第 3、4 点的出入,待核对:
- 仓库中 Grafana 已是完整定义(含 2 块 dashboard 与 ArgoCD Application),
  与「资源块 Grafana 未启用」的说法冲突
- 「数据中台看板」在仓库中无任何引用,存在性待确认

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

核实 ascend-ci-deployment 后确认资源块 Grafana 已是一套完整定义(含 2 块
dashboard 与 ArgoCD Application),此前「Grafana 未启用、用的是外部 DataStat
看板」的说法不成立,据此修正四处:

- §3.1 第 4 点:闭环补上 Grafana 大盘,删去「不含大盘」的限定
- §3.1.1 图:视图层只保留 Grafana,去掉数据中台看板节点
- §3.1.1 注:改为「资源块 Grafana 与本方案的差别」——数据源从中心 Prometheus
  扩展到再加 17 个 LTS 日志数据源,本方案独有工作量在此
- §4.7.2:不可照搬项由两处减为一处,只留公网明文 HTTP(TLS 方案在
  kustomization.yaml 中被注释、标为 Phase 2)

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

同一论点已由 §3.1 第 4 点、§3.1.1 图注、§4.7.1 的 ⚠️ 三处承载,§4.7.2 此处冗余。

注:本次提交同时带入作者手工精简移除的 §3.1.1「存量系统的量化口径」条目
与「资源块 Grafana 与本方案的差别」注,未作回滚。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

#1938 正文「### 验收标准」由 5 条增至 6 条(新增「服务健康度大盘」),
文档随之把 G6 的「验收 6(本方案新增)」改为「验收 6」,
并把 §5.2 注中「上游验收标准 1–5 未覆盖」更新为已同步的事实。

注:本次提交同时带入作者手工精简移除的若干段落,未作回滚:
§4.7.2 AOM 对比表 3 行与 VictoriaMetrics 去重提示、§4.7.5「数据来源」块与待定第 3 项。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

§5.2 增列 G6 人天 7~12(判定口径 1~2 / 数据聚合 2~3 / 状态页与对外入口 3~5 /
发布流程 1~2),子任务 B 小计 25~40 → 32~52;
§5.4 合计 63.5~98.5 → 70.5~110.5(约 3.5~5.5 人月),并去掉「未含 G6」的说明。

注:本次提交同时带入作者手工精简移除的 §4.7.5 待定第 2 项、§4.8 开篇说明、
§4.8.1「为什么必须靠黑盒」段与 §4.8.3 整节,未作回滚。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

- §4.8 中心集群与 Agent 搭建:kustomize + ArgoCD 目录组织、kube-prometheus-stack
  关键 values(replicas 2 / retention 30d / enableRemoteWriteReceiver /
  out-of-order-ingestion / 100Gi csi-disk)、入口与安全、17 集群 Agent
  的采集与 remote_write 配置、搭建顺序(先通网络再铺 Agent)。
- §4.9 Grafana 搭建:清单组成、数据源(中心 Prometheus + LTS ×17)、
  dashboard 代码化(ConfigMap provisioning)、看板清单。
- 原 §4.8 及其子节后移为 §4.10 / §4.10.1 / §4.10.2,§2.1 的引用同步更新。

配置取值均取自 ascend-ci-deployment/monitoring 实测清单。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

- R12(跨 Region 网络与安全合规 = 唯一硬门槛)并入 R2,R2 由「采集链路可达性」
  扩为「采集链路 + 网络可达性 + 安全合规」;
- 删除 R4 / R9 / R10 / R11 / R12 / R13 / R15 / R16 / R17 / R18 / R19;
- 保留 R1 / R2 / R3 / R5 / R6 / R7 / R8 / R14 / R20(编号保持不重排)。

§4.10.2 覆盖链路映射表中指向已删 R13 的引用,改为直接写明前提
「日志流已配结构化解析」。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

移除 R7「#1938 覆盖范围表的机器人部分与实际部署不符」一行,以及其下的
「### R7 明细:robot-universal-review 的部署口径」整节(含映射表的两处出入
与残缺记录说明)。编号保持不重排。

§1.4 中「robot-universal-review 在 10 个社区 / 7 个集群各有一套」的结论仍保留。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@opensourceways-bot

Copy link
Copy Markdown

CLA Signature Pass

TangJia025, thanks for your pull request. All authors of the commits have signed the CLA. 👍

@TangJia025
TangJia025 merged commit 41034d3 into main Sep 15, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants