OTEL Collector

Source:: https://opentelemetry.io/docs/collector/

OpenTelemetry Collector β€” это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² экосистСмС OpenTelemetry, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для сбора, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ тСлСмСтричСских Π΄Π°Π½Π½Ρ‹Ρ… (ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π»ΠΎΠ³ΠΎΠ² ΠΈ трассировок) ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников Π² систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°.

ΠœΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ своСго Ρ€ΠΎΠ΄Π° Π°Π³Π΅Π½Ρ‚ рядом с сСрвисом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π²ΠΈΠ΄Π΅ sidecar ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° K8S) ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ Π‘ΠΈΠ³Π½Π°Π»Ρ‹ ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Π³Π΅Π½Ρ‚ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ сСрвисов Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Установка

Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€ прСдставляСт ΠΈΠ· сСбя ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€ΠΈΠ½ΠΊ Π½Π° Go со всСми Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ для установки послСдствиями.

Π’ Github ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° доступны Π΄Π²Π° основных Π²ΠΈΠ΄Π° сборки. ΠŸΡ€ΠΎΡΡ‚ΠΎ collector ΠΈ Π΅Π³ΠΎ contrib вСрсия Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ Π² сСбя мноТСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΠΏΡ€ΠΈΡ‘ΠΌ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

Π”Π°ΠΆΠ΅ core сборка ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ряд ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ· Π΅Π³ΠΎ contib вСрсии. Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅ Π² поискС ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ установлСнного ΠΈ настроСнного ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€Π°: Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ стСнд OpenTelemetry

OCB

Quote

Β« Π₯отя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Docker ΠΈΠ»ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ построСнный Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Collector, Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… срСдах слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Collector Builder (https://oreil.ly/UOy49). Π­Ρ‚Π° слуТСбная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ сборку со встроСнными получатСлями, экспортСрами ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹. Β» (Page 163)

Бсылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»

OpenTelemetry Π² K8S

Π’Π°ΠΊ ΠΆΠ΅ доступСн ΠΊΠ°ΠΊ Operator Π² Kubernetes.

Настройки

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° любого ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Collector состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ:

ВсС эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Services. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ доступны Extension ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Π° просто Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ возмоТностСй самому Collector.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  otlp/2:
    protocols:
      grpc:
        endpoint: 0.0.0.0:55690
 
processors:
  batch:
  batch/test:
 
exporters:
  otlp:
    endpoint: otelcol:4317
  otlp/2:
    endpoint: otelcol2:4317
 
extensions:
  health_check:
  pprof:
  zpages:
 
service:
  extensions: [health_check, pprof, zpages]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    traces/2:
      receivers: [otlp/2]
      processors: [batch/test]
      exporters: [otlp/2]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]

МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· type[/name].

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

  • Jaeger - начиная с вСрсии 2 совмСстим с ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. На самом Π΄Π΅Π»Π΅ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ.
  • Grafana Alloy - Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Grafana Labs.