CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/Resources(资源)
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
可观测性入门上下文传播
组件语义约定Resources(资源)插桩范围采样Distributions(发行版)术语表
API 参考文档示例
支持库列表

OpenTelemetry

Resources(资源)

如果你使用 Jaeger 作为可观测性后端, 资源属性会被归类显示在 Process(进程) 标签页下: 资源在初始化时被添加到 TracerProvider 或 MetricProvider 中, 并且这一绑定在创建之后无法更改。一旦资源被设置, 通过该 Provider 创建的所有 Tracer 或 Meter 所生成的 span 与 metric 都会自动关联此资源信息。...

介绍 {#introduction}

如果你使用 Jaeger 作为可观测性后端,
资源属性会被归类显示在 Process(进程) 标签页下:

来自 Jaeger 的截图,展示了与某个 trace 关联的资源属性

资源在初始化时被添加到 TracerProvider 或 MetricProvider 中,
并且这一绑定在创建之后无法更改。一旦资源被设置,
通过该 Provider 创建的所有 Tracer 或 Meter 所生成的 span 与 metric 都会自动关联此资源信息。

带默认值的语义属性 {#semantic-attributes-with-sdk-provided-default-value}

OpenTelemetry SDK 提供了一些默认的资源属性。其中之一是 service.name,
它表示服务的逻辑名称。默认情况下,SDK 会为该属性设置值为 unknown_service,
因此建议你显式设置该值,可以通过代码设定,或设置环境变量 OTEL_SERVICE_NAME 来实现。

此外,SDK 还会自动提供以下属性用于标识自身:

  • telemetry.sdk.name
  • telemetry.sdk.language
  • telemetry.sdk.version

资源探测器(Resource Detectors){#resource-detectors}

大多数语言特定的 SDK 提供了一套资源探测器(Resource Detectors),
可用于从环境中自动检测资源信息。常见的资源探测器包括:

  • 操作系统(Operating System)
  • 主机(Host)
  • 进程与运行时(Process and Process Runtime)
  • 容器(Container)
  • Kubernetes
  • 云厂商特有属性(Cloud-Provider-Specific Attributes)
  • 更多资源类型

自定义资源属性 {#custom-resources}

你也可以自定义资源属性。可以通过代码提供,或者通过设置环境变量 OTEL_RESOURCE_ATTRIBUTES 来传入。

如果适用,建议参考资源属性的语义约定。

例如,你可以通过设置 deployment.environment.name 来指明部署环境的名称:

env OTEL_RESOURCE_ATTRIBUTES=deployment.environment.name=production yourApp

文章大纲