コンテンツにスキップ

リソース定義@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: |
    ...