リソース
はじめに
A resource represents the entity producing telemetry as resource attributes. For example, a process producing telemetry that is running in a container on Kubernetes has a process name, a pod name, a namespace, and possibly a deployment name. All four of these attributes can be included in the resource.
In your observability backend, you can use resource information to better investigate interesting behavior. For example, if your trace or metrics data indicate latency in your system, you can narrow it down to a specific container, pod, or Kubernetes deployment.
オブザーバビリティバックエンドにJaegerを使用している場合、リソース属性はProcessタブの下にグループ化されます。
リソースは TraceProvider
または MetricProvider
の初期化時に追加されます。
この関連付けは後で変更することはできません。
リソースが追加されると、そのプロバイダーに紐づいた Tracer
または Meter
から生成されるすべてのスパンとメトリクスに、そのリソースが関連付けられます。
SDKが提供するデフォルト値を持つセマンティック属性
OpenTelemetry SDK が提供する属性があります。
そのうちの1つが service.name
で、これはサービスの論理名を表します。
デフォルトでは、SDKはこの値に unknown_service
を代入するので、コードの中で明示的に設定するか、環境変数 OTEL_SERVICE_NAME
を設定することを推奨します。
さらに、SDKは自身を識別するために、telemetry.sdk.name
、telemetry.sdk.language
、telemetry.sdk.version
といったリソース属性も提供します。
リソース検出器
ほとんどの言語固有のSDKは、環境からリソース情報を自動的に検出できるリソース検出器のセットを提供しています。 一般的なリソース検出器には次のようなものがあります。
カスタムリソース
独自のリソース属性を指定することもできます。
リソース属性はコードで指定することも、環境変数 OTEL_RESOURCE_ATTRIBUTES
に設定することもできます。
該当する場合は、リソース属性のセマンティック規約 を使用してください。
たとえば、deployment.environment
を使用して、デプロイ環境 の名前を指定できます。
env OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production yourApp
[i18n] feedback_title
[i18n] feedback_question
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!