首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Istio to Lightstep和Jaegar

Istio to Lightstep和Jaegar
EN

Stack Overflow用户
提问于 2022-05-09 19:16:59
回答 1查看 111关注 0票数 0

我们正在审查GCP中的托管(Istio),它们不是lightstep的直接安装程序,因此我们试图将跟踪从特使推送到英特尔收集器进程,并将其导出到Lightstep,该配置如下所示

代码语言:javascript
复制
---

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上公开otel收集器服务,并配置Anthos网格将跟踪发送到服务并将其导出到Ligthstep,所有的otel容器都被打开了,但我在lightstep上没有看到任何痕迹。事实上,我不确定特使的输入是否进入了卡特尔,因为卡特尔的日志是空的。

代码语言:javascript
复制
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 UI上查看跟踪。不确定在卡特尔那部分。请帮忙。

EN

回答 1

Stack Overflow用户

发布于 2022-05-26 18:12:31

看看这个链接,https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-ExtensionProvider

我认为您的配置应该如下所示,默认情况下,otel不会监听端口9411:

代码语言:javascript
复制
apiVersion: v1
data:
  mesh: |-
    extensionProviders:
    - name: jaeger
      zipkin:
        service: zipkin.istio-system.svc.cluster.local
        port: 9411
    - name: otel
      opencensus:
        service: otel-collector.otel.svc.cluster.local
        port: 55678

今天在我的集群上试了一下,结果成功了。但是,您只能在遥测资源中配置一个跟踪工具,因此我只能使用Jaeger或Otel。该配置如下所示:

代码语言:javascript
复制
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  tracing:
  - providers:
    - name: otel
    randomSamplingPercentage: 100
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72177184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档