Skip to content

Commit 1ec7755

Browse files
Anusha NarapureddyAnusha Narapureddy
authored andcommitted
add otel lb collector
1 parent be9df6a commit 1ec7755

3 files changed

Lines changed: 135 additions & 0 deletions

File tree

backend/05-gateway-collector.yaml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: opentelemetry.io/v1alpha1
2+
kind: OpenTelemetryCollector
3+
metadata:
4+
name: otel-gateway
5+
namespace: observability-backend
6+
spec:
7+
image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.94.0
8+
mode: deployment
9+
replicas: 2
10+
ports:
11+
- port: 8888
12+
protocol: TCP
13+
name: metrics
14+
config: |
15+
receivers:
16+
otlp:
17+
protocols:
18+
grpc:
19+
endpoint: 0.0.0.0:4317
20+
http:
21+
endpoint: 0.0.0.0:4318
22+
23+
processors:
24+
# Sample 100% of traces with ERROR-ing spans (omit traces with all OK spans)
25+
# and traces which have a duration longer than 500ms
26+
tail_sampling:
27+
decision_wait: 10s # time to wait before making a sampling decision is made
28+
num_traces: 100 # number of traces to be kept in memory
29+
expected_new_traces_per_sec: 10 # expected rate of new traces per second
30+
policies:
31+
- name: keep-errors
32+
type: status_code
33+
status_code: {status_codes: [ERROR]}
34+
- name: keep-slow-traces
35+
type: latency
36+
latency: {threshold_ms: 500}
37+
38+
exporters:
39+
otlp/traces:
40+
endpoint: jaeger-collector:4317
41+
tls:
42+
insecure: true
43+
44+
otlphttp/metrics:
45+
endpoint: http://prometheus.observability-backend.svc.cluster.local:80/api/v1/otlp/
46+
tls:
47+
insecure: true
48+
49+
debug:
50+
verbosity: detailed
51+
52+
service:
53+
pipelines:
54+
traces:
55+
receivers: [otlp]
56+
processors: [tail_sampling]
57+
exporters: [otlp/traces]
58+
metrics:
59+
receivers: [otlp]
60+
exporters: [otlphttp/metrics]
61+
logs:
62+
receivers: [otlp]
63+
exporters: [debug]
File renamed without changes.

backend/06-lb-collector.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
apiVersion: opentelemetry.io/v1alpha1
2+
kind: OpenTelemetryCollector
3+
metadata:
4+
name: otel
5+
namespace: observability-backend
6+
spec:
7+
image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.94.0
8+
mode: deployment
9+
replicas: 1
10+
ports:
11+
- port: 8888
12+
protocol: TCP
13+
name: metrics
14+
config: |
15+
receivers:
16+
otlp:
17+
protocols:
18+
grpc:
19+
endpoint: 0.0.0.0:4317
20+
http:
21+
endpoint: 0.0.0.0:4318
22+
23+
processors:
24+
# Sample 100% of traces with ERROR-ing spans (omit traces with all OK spans)
25+
# and traces which have a duration longer than 500ms
26+
tail_sampling:
27+
decision_wait: 10s # time to wait before making a sampling decision is made
28+
num_traces: 100 # number of traces to be kept in memory
29+
expected_new_traces_per_sec: 10 # expected rate of new traces per second
30+
policies:
31+
- name: keep-errors
32+
type: status_code
33+
status_code: {status_codes: [ERROR]}
34+
- name: keep-slow-traces
35+
type: latency
36+
latency: {threshold_ms: 500}
37+
38+
exporters:
39+
debug:
40+
verbosity: detailed
41+
loadbalancing:
42+
protocol:
43+
otlp:
44+
timeout: 1s
45+
tls:
46+
insecure: true
47+
resolver:
48+
k8s:
49+
service: otel-gateway.observability-backend
50+
ports:
51+
- 4317
52+
53+
otlphttp/metrics:
54+
endpoint: http://prometheus.observability-backend.svc.cluster.local:80/api/v1/otlp/
55+
tls:
56+
insecure: true
57+
58+
debug:
59+
verbosity: detailed
60+
61+
service:
62+
pipelines:
63+
traces:
64+
receivers: [otlp]
65+
processors: [tail_sampling]
66+
exporters: [otlp/traces]
67+
metrics:
68+
receivers: [otlp]
69+
exporters: [otlphttp/metrics]
70+
logs:
71+
receivers: [otlp]
72+
exporters: [debug]

0 commit comments

Comments
 (0)