Opentelemetry Collector

Opentelemetry collector là agent có thể thu thập và push traces(có thể thu thập thêm cả metrics, logs) nếu application có tạo ra lên Bizfly Cloud Observability.

Chuẩn bị

Để push traces lên Bizfly Cloud Observability bạn cần có endpoint và bearer token để authen khi push.

Push traces

Dưới đây là các bước và ví dụ cấu hình Opentelemetry Collector để thu thập traces từ 1 application đã tích hợp opentelemetry (có thể thu thập thêm cả metrics, logs) nếu application có tạo ra.

Bước 1: Cấu hình

Tạo file config.yaml và paste nội dung config sau:

  receivers:
      otlp:
          protocols:
          http:
              endpoint: "0.0.0.0:4318"
          grpc:
              endpoint: "0.0.0.0:4317"

  processors:
      batch:

  exporters:
      loki:
          endpoint: "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/loki/api/v1/push"
          headers:
          Authorization: "Bearer YOUR_LOGS_TOKEN"
      prometheusremotewrite:
          endpoint: "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/api/v1/push"
          headers:
          Authorization: "Bearer YOUR_METRICS_TOKEN"
      otlp:
          endpoint: "obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn:443"
          headers:
          Authorization: "Bearer YOUR_TRACES_TOKEN"

  extensions:
      health_check:
      pprof:
          endpoint: :1888
      zpages:
          endpoint: :55679

  service:
      extensions: [health_check, pprof, zpages]
      pipelines:
          traces:
          receivers: [otlp]
          processors: [batch]
          exporters: [otlp]
          metrics:
          receivers: [otlp]
          exporters: [prometheusremotewrite]
          logs:
          receivers: [otlp] 
          exporters: [loki]

Bước 2. Tạo file docker-compost.yaml

Tạo file docker-compost.yaml và paste nội dung config sau:

  version: "3"
  services:
  otel-collector:
      image: otel/opentelemetry-collector-contrib
      volumes:
      - $YOUR_FOLDER/config.yaml:/etc/otelcol-contrib/config.yaml
      ports:
      - 1888:1888 # pprof extension
      - 8888:8888 # Prometheus metrics exposed by the Collector
      - 8889:8889 # Prometheus exporter metrics
      - 13133:13133 # health_check extension
      - 4317:4317 # OTLP gRPC receiver
      - 4318:4318 # OTLP http receiver
      - 55679:55679 # zpages extension
      network_mode: host

Bước 3. Run

docker-compose up -d --build

Bước 4. Xem kết quả trên Grafana dashboard

Để xem kết quả push traces trên Grafana dashboard của Bizfly Cloud Observability. Bạn có thể tham khảo hướng dẫn sau