リソース定義@OpenTelemetry¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. Instrumentation¶
Podの.metadata.annotations
キー¶
Podにアノテーションを設定し、自動計装を実施するPodを制御できる。
アノテーションを設定すると、自動計装を実施するInitContainer (opentelemetry-auto-instrumentation
) を挿入できる。
言語ごとにアノテーションのキー名が異なる。
apiVersion: apps/v1
kind: Pod
metadata:
name: foo-pod
annotations:
instrumentation.opentelemetry.io/inject-python: "true"
spec: ...
exporter¶
▼ exporterとは¶
自動計装でExporterを設定する。
▼ endpoint¶
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: foo-instrumentation
spec:
exporter:
endpoint: foo-opentelemetry-collector.foo-namespace.svc.cluster.local:4317
go¶
▼ goとは¶
Podのアプリ言語がGoの場合に、
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: foo-instrumentation
spec:
go: {}
propagators¶
▼ propagatorsとは¶
自動計装でPropagatorを設定する。
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: foo-instrumentation
spec:
propagators:
- tracecontext
- baggage
resource¶
▼ resourceとは¶
sampler¶
▼ samplerとは¶
自動計装でSamplerを設定する。
▼ type¶
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: foo-instrumentation
spec:
sampler:
type: parentbased_traceidratio
▼ argument¶
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: foo-instrumentation
spec:
sampler:
argument: "1"
02. OpenTelemetryCollector¶
mode¶
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: foo-opentelemetry-collector
spec:
mode: deployment
serviceAccount¶
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: foo-opentelemetry-collector
spec:
serviceAccount: opentelemetry-collector
config¶
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: foo-opentelemetry-collector
spec:
config: |
...