无Sidecar时OpenTelemetry自动插装失效及Sidecar开销咨询
问题:EKS集群中OpenTelemetry自动插装无Sidecar模式失效及Sidecar开销疑问
背景
我们是一家创业公司,近期已将工作负载迁移至AWS EKS集群,正搭建可观测性栈:Signoz部署在单独EC2实例(测试用,集群小型节点无法运行其Helm Chart);集群已部署OpenTelemetry Operator,且Deployment模式的Collector已验证可正常连接Signoz实例。但尝试为应用实现自动插装时,无Sidecar的方案无法正常工作。
无Sidecar模式的相关配置
apiVersion: v1 kind: Namespace metadata: name: opentelemetry labels: name: opentelemetry --- apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: otel-collector namespace: opentelemetry spec: config: | receivers: otlp: protocols: grpc: http: processors: memory_limiter: check_interval: 1s limit_percentage: 75 spike_limit_percentage: 15 batch: send_batch_size: 10000 timeout: 10s exporters: otlp: endpoint: obs.stg.company.domain:4317 tls: insecure: true logging: service: pipelines: traces: receivers: [otlp] processors: [memory_limiter, batch] exporters: [otlp, logging] metrics: receivers: [otlp] processors: [memory_limiter, batch] exporters: [otlp, logging] logs: receivers: [otlp] processors: [] exporters: [otlp, logging] --- apiVersion: opentelemetry.io/v1alpha1 kind: Instrumentation metadata: name: my-instrumentation namespace: opentelemetry spec: exporter: endpoint: http://otel-collector-collector.opentelemetry.svc.cluster.local:4317 propagators: - tracecontext - baggage - b3 sampler: type: parentbased_traceidratio argument: "0.25" dotnet: nodejs:
无Sidecar模式的现象
为应用Deployment或命名空间添加注解instrumentation.opentelemetry.io/inject-dotnet=opentelemetry/auto-instrumentation并重建Pod后,.NET自动插装的init容器运行正常,但Collector和Signoz中均无链路追踪、指标或日志数据。
Sidecar模式的正常配置
当创建Sidecar模式的Collector,并将Instrumentation指向该Collector,同时为命名空间添加注解sidecar.opentelemetry.io/inject=sidecar后,可观测数据正常流入Signoz。Sidecar Collector配置如下:
apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: sidecar namespace: application spec: mode: sidecar config: | receivers: otlp: protocols: grpc: http: processors: batch: exporters: logging: otlp: endpoint: "http://otel-collector-collector.opentelemetry.svc.cluster.local:4317" tls: insecure: true service: telemetry: logs: level: "debug" pipelines: traces: receivers: [otlp] processors: [] exporters: [logging, otlp]
核心疑问
- 集群规模较小,想尽量降低开销:Sidecar方案的开销是否值得担忧?和无Sidecar方案的开销差异是否显著?
- 无Sidecar模式的配置存在哪些问题?已参照Signoz文档配置,但无法获取数据。
内容的提问来源于stack exchange,提问作者Victor Chacon
相关产品推荐
相关产品推荐

