|
| 1 | +--- |
| 2 | +title: Resources(资源) |
| 3 | +weight: 70 |
| 4 | +anchor: resources |
| 5 | +default_lang_commit: b13d5dd3a9f288ab64d2af98c0b4ec1694499ef3 |
| 6 | +--- |
| 7 | + |
| 8 | +## 介绍 {#introduction} |
| 9 | + |
| 10 | +{{% docs/languages/resources-intro %}} |
| 11 | + |
| 12 | +如果你使用 [Jaeger](https://www.jaegertracing.io/) 作为可观测性后端, |
| 13 | +资源属性会被归类显示在 **Process(进程)** 标签页下: |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +资源在初始化时被添加到 `TracerProvider` 或 `MetricProvider` 中, |
| 18 | +并且这一绑定在创建之后无法更改。一旦资源被设置, |
| 19 | +通过该 Provider 创建的所有 `Tracer` 或 `Meter` 所生成的 span 与 metric 都会自动关联此资源信息。 |
| 20 | + |
| 21 | +## 带默认值的语义属性 {#semantic-attributes-with-sdk-provided-default-value} |
| 22 | + |
| 23 | +OpenTelemetry SDK 提供了一些默认的资源属性。其中之一是 `service.name`, |
| 24 | +它表示服务的逻辑名称。默认情况下,SDK 会为该属性设置值为 `unknown_service`, |
| 25 | +因此建议你**显式设置**该值,可以通过代码设定,或设置环境变量 `OTEL_SERVICE_NAME` 来实现。 |
| 26 | + |
| 27 | +此外,SDK 还会自动提供以下属性用于标识自身: |
| 28 | + |
| 29 | +- `telemetry.sdk.name` |
| 30 | +- `telemetry.sdk.language` |
| 31 | +- `telemetry.sdk.version` |
| 32 | + |
| 33 | +## 资源探测器(Resource Detectors){#resource-detectors} |
| 34 | + |
| 35 | +大多数语言特定的 SDK 提供了一套资源探测器(Resource Detectors), |
| 36 | +可用于从环境中自动检测资源信息。常见的资源探测器包括: |
| 37 | + |
| 38 | +- [操作系统(Operating System)](/docs/specs/semconv/resource/os/) |
| 39 | +- [主机(Host)](/docs/specs/semconv/resource/host/) |
| 40 | +- [进程与运行时(Process and Process Runtime)](/docs/specs/semconv/resource/process/) |
| 41 | +- [容器(Container)](/docs/specs/semconv/resource/container/) |
| 42 | +- [Kubernetes](/docs/specs/semconv/resource/k8s/) |
| 43 | +- [云厂商特有属性(Cloud-Provider-Specific Attributes)](/docs/specs/semconv/resource/#cloud-provider-specific-attributes) |
| 44 | +- [更多资源类型](/docs/specs/semconv/resource/) |
| 45 | + |
| 46 | +## 自定义资源属性 {#custom-resources} |
| 47 | + |
| 48 | +你也可以自定义资源属性。可以通过代码提供,或者通过设置环境变量 `OTEL_RESOURCE_ATTRIBUTES` 来传入。 |
| 49 | + |
| 50 | +如果适用,建议参考[资源属性的语义约定](/docs/specs/semconv/resource)。 |
| 51 | + |
| 52 | +例如,你可以通过设置 `deployment.environment.name` 来指明部署环境的名称: |
| 53 | + |
| 54 | +```shell |
| 55 | +env OTEL_RESOURCE_ATTRIBUTES=deployment.environment.name=production yourApp |
| 56 | +``` |
0 commit comments