统一资源属性是什么
跨信号关联的前提是统一标识:服务名、环境、主机、版本这些属性在三类遥测数据中保持一致,看板与检索才能按同一维度切换。缺了这层统一,日志里叫服务、指标里叫应用,排查时先得手工做字段映射,关联查询基本不可用。资源属性的落地原则是「部署时注入、采集时带上」,在应用侧尽量少改代码。
基本信息
| 核心属性 | service.name、deployment.environment、host.name、service.version |
|---|---|
| 注入方式 | 环境变量或部署清单,采集端兜底补充 |
| 一致性要求 | 指标、日志、链路三类信号命名一致 |
| 治理方式 | 属性清单与命名规范纳入评审 |
典型使用场景
- 跨信号下钻:从指标异常跳到对应服务与主机的日志
- 按环境隔离:生产与预发数据在同一平台内互不干扰
- 变更关联:用版本属性把错误率曲线与发布对齐
- 归属划分:用命名空间或集群属性按团队切分看板
- 成本分摊:按服务与团队统计遥测量,做费用归属
注入统一资源属性
注入统一资源属性
# 应用侧:环境变量注入资源属性
export OTEL_RESOURCE_ATTRIBUTES="service.name=order-api,deployment.environment=prod,service.version=v2.7.3"
# 采集侧兜底:日志采集器补充同名资源属性
# fields:
# service: order-api
# env: prod
# 容器编排:版本号来自镜像标签,避免手工维护漂移
# 校验:抽查三类数据里同一服务的属性是否一致建议统一的属性
| 属性 | 示例值 | 用途 |
|---|---|---|
| service.name | order-api | 按服务聚合与下钻 |
| deployment.environment | prod 或 staging | 环境隔离 |
| host.name 或 instance | ip-10-0-1-12 | 定位到主机 |
| service.version | v2.7.3 | 关联发布与回归 |
| k8s.namespace.name | order | 容器环境下的归属划分 |
版本属性是变更关联的钥匙:把发布事件与错误率曲线对齐,回归问题往往几分钟内就能定位,不必逐台机器排查。
属性清单要写入评审要求:新服务接入时逐条核对,缺失环境或版本属性属于可以直接打回的问题,事后再补的成本高得多。