Истио к Лайтстепу и Джаегару

Мы проверяем Managed Anthos Service Mesh (istio) в GCP, это не прямая установка для Lightstep, поэтому мы пытаемся передать трассировку от envoy в процесс сборщика otel и экспортировать его в lightstep, конфигурация развертывания otel приведена ниже.

      ---

apiVersion: v1
kind: ConfigMap
metadata:
  name: otel-collector-conf
  labels:
    app: opentelemetry
    component: otel-collector-conf
data:
  otel-collector-config: |
    receivers:
      zipkin:
        endpoint: 
    processors:
      batch:
      memory_limiter:
        # 80% of maximum memory up to 2G
        limit_mib: 400
        # 25% of limit up to 2G
        spike_limit_mib: 100
        check_interval: 5s
    extensions:
      zpages: {}
      memory_ballast:
        # Memory Ballast size should be max 1/3 to 1/2 of memory.
        size_mib: 165
    exporters:
      logging:
        loglevel: debug

      otlp:
        endpoint: 10.x.x.19:8184
        insecure: true
        headers:
          "lightstep-access-token": "xxx"
    service:
      extensions: [zpages, memory_ballast]
      pipelines:
        traces:
          receivers: [zipkin]
          processors: [memory_limiter, batch]
          exporters: [otlp]

---
apiVersion: v1
kind: Service
metadata:
  name: otel-collector
  labels:
    app: opentelemetry
    component: otel-collector
spec:
  ports:
  - name: otlp-grpc # Default endpoint for OpenTelemetry gRPC receiver.
    port: 4317
    protocol: TCP
    targetPort: 4317
  - name: otlp-http # Default endpoint for OpenTelemetry HTTP receiver.
    port: 4318
    protocol: TCP
    targetPort: 4318
  - name: metrics # Default endpoint for querying metrics.
    port: 8888
  - name: zipkin # Default endpoint for OpenTelemetry HTTP receiver.
    port: 9411
    protocol: TCP
    targetPort: 9411
  selector:
    component: otel-collector
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: otel-collector
  labels:
    app: opentelemetry
    component: otel-collector
spec:
  selector:
    matchLabels:
      app: opentelemetry
      component: otel-collector
  minReadySeconds: 5
  progressDeadlineSeconds: 120
  replicas: 1 #TODO - adjust this to your own requirements
  template:
    metadata:
      labels:
        app: opentelemetry
        component: otel-collector
    spec:
      containers:
      - command:
          - "/otelcol"
          - "--config=/conf/otel-collector-config.yaml"
        image: otel/opentelemetry-collector:latest
        name: otel-collector
        resources:
          limits:
            cpu: 1
            memory: 2Gi
          requests:
            cpu: 200m
            memory: 400Mi
        ports:
        - containerPort: 55679 # Default endpoint for ZPages.
        - containerPort: 4317 # Default endpoint for OpenTelemetry receiver.
        - containerPort: 14250 # Default endpoint for Jaeger gRPC receiver.
        - containerPort: 14268 # Default endpoint for Jaeger HTTP receiver.
        - containerPort: 9411 # Default endpoint for Zipkin receiver.
        - containerPort: 8888  # Default endpoint for querying metrics.
        volumeMounts:
        - name: otel-collector-config-vol
          mountPath: /conf
      volumes:
        - configMap:
            name: otel-collector-conf
            items:
              - key: otel-collector-config
                path: otel-collector-config.yaml
          name: otel-collector-config-vol

Выставив сервис сборщика отелей на 9411 и настроив Anthos Mesh для отправки трассировок в службу и экспорта их в Ligthstep, модуль otel все работает, но я не вижу никаких трассировок на лайтстепе. На самом деле я не уверен, поступает ли ввод от посланника в otel, так как журналы для otel пусты.

      apiVersion: v1
data:
  mesh: |-
    extensionProviders:
    - name: jaeger
      zipkin:
        service: zipkin.istio-system.svc.cluster.local
        port: 9411
    - name: otel
      zipkin:
        service: otel-collector.otel.svc.cluster.local
        port: 9411

Также развернул jaegar в одном развертывании и отправил ему трассировки, которые отлично работают, и я могу просматривать трассировки в пользовательском интерфейсе jaegar. Не уверен насчет отеля. Любезно помочь.

0 ответов

Другие вопросы по тегам