3. 服务目录平台核心概念:服务树、服务实例、集群、机房、容量指标
在构建容量水位巡检体系之前,必须统一服务目录平台的核心抽象。这些概念是模板定义、指标采集、阈值计算和巡检报告生成的基础。本章逐一拆解服务树、服务实例、集群、机房以及 CPU/内存/磁盘容量指标的定义与关系。
3.1 服务树:组织与拓扑的骨架
服务树是服务目录平台最上层的逻辑组织模型,通常采用多级树形结构描述业务、产品、服务之间的归属关系。一个典型的服务树层级如下:
| 层级 | 示例 | 说明 |
|---|---|---|
| 业务域 | 电商 | 最高级业务分类,如电商、金融、物流 |
| 产品线 | 交易中心 | 同一业务域下的产品集合 |
| 应用服务 | 订单服务 | 可独立部署、拥有唯一服务名的逻辑单元 |
| 服务实例 | order-service-01 | 服务在具体机器或容器上的运行实体 |
服务树的每个节点都挂载元数据(负责人、Git 仓库、告警组、部署方式),巡检模板通过服务树路径实现批量绑定。例如,对“电商 > 交易中心 > 订单服务”下的所有实例执行 CPU 水位巡检。
3.2 服务实例与集群
服务实例是容量巡检的最小可观测单元。每个实例对应一个进程或容器,拥有唯一的 IP:Port 标识。实例状态(健康/异常/下线)直接影响巡检是否跳过或告警。
集群是相同服务实例的逻辑分组,通常按部署单元或功能域划分。集群内实例共享同一套容量水位阈值和巡检策略。常见集群划分方式:
- 按部署环境: 生产集群、预发集群、测试集群
- 按地域: 华北集群、华东集群、海外集群
- 按流量特征: 核心链路集群、非核心链路集群
巡检模板在集群级别定义“聚合水位”计算规则,例如集群平均 CPU 使用率、集群内存超分比等。
3.3 机房与容灾单元
机房(IDC)是物理或虚拟的数据中心单元。在容量水位巡检中,机房维度用于评估单点故障风险和容量均衡度。每个服务实例必须关联到唯一机房,集群可跨机房部署。
典型机房属性:
- 机房标识: 如 idc01、idc02
- 地域: 北京、上海、新加坡
- 网络域: 内网、公网、专线
- 容量配额: 该机房可分配的总 CPU/内存/磁盘上限
3.4 容量指标:CPU / 内存 / 磁盘
容量水位巡检的核心指标包括 CPU、内存和磁盘。每个指标在服务目录平台中需定义采集源、单位、聚合方式和阈值模板。
| 指标 | 单位 | 采集源 | 典型阈值(生产) | 聚合方式 |
|---|---|---|---|---|
| CPU 使用率 | % | /proc/stat / cgroup cpuacct | ≥ 85% 告警 | 实例均值 / 集群 P95 |
| 内存使用率 | % | /proc/meminfo / cgroup memory | ≥ 80% 告警 | 实例均值 / 集群总和 |
| 磁盘使用率 | % | df / statfs | ≥ 90% 告警 | 实例分区级 / 集群总量 |
| 磁盘 IOPS | 次/秒 | /proc/diskstats | ≥ 80% 设备上限 | 实例均值 / 集群 P99 |
指标数据通过 Agent 或 Exporter 定期上报到服务目录平台的时序数据库,巡检引擎按模板周期拉取并计算水位。
3.5 核心概念关系图
下图展示服务树、集群、实例、机房与容量指标之间的关联关系:
3.6 概念在巡检模板中的映射
在编写巡检模板时,上述概念直接对应模板中的字段和逻辑:
# 巡检模板核心结构示例(YAML 风格)
template:
name: "生产集群CPU水位巡检"
scope:
service_tree: "电商.交易中心.订单服务"
cluster: "prod-order-cluster"
idc: ["idc01", "idc02"]
metrics:
- name: "cpu_usage_percent"
source: "node_exporter"
unit: "%"
threshold: 85
aggregation: "avg"
actions:
- type: "webhook"
url: "http://alert-center/api/v1/trigger"
- type: "ticket"
system: "itsm"
3.7 机房与集群的容量视图
当需要评估跨机房的容量均衡性时,服务目录平台提供“机房-集群”二维视图。下图展示两个机房、三个集群的容量分布:
通过服务目录平台统一管理这些核心概念,巡检模板才能做到“一次定义、全局生效”,容量水位巡检也才能从单点检查升级为体系化治理。