User:CGoubert-WMF/otelcol
Appearance
(Redirected from User:Clément Goubert/otelcol)
Otelcol Minikube
Add upstream repo
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
# Was necessary for me to hit my local docker registry, now the image is on the public repo so probably not necessary
export DOCKER_TLS_VERIFY=0
export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.59.0/24,192.168.49.0/24,192.168.39.0/24,$(minikube ip),192.168.122.0/24 minikube restart
Install the gateway
values.otelcol-gw.yaml
nameOverride: ""
fullnameOverride: ""
mode: deployment
replicaCount: 1
podDisruptionBudget:
enabled: true
minAvailable: 1
image:
repository: docker-registry.wikimedia.org/otelcol
tag: "0.66.0-1"
pullPolicy: Never
command:
name: /usr/bin/otelcol-contrib
ports:
otlp:
enabled: true
containerPort: 4317
servicePort: 4317
hostPort: 4317
protocol: TCP
otlp-http:
enabled: false
jaeger-compact:
enabled: false
jaeger-thrift:
enabled: false
jaeger-grpc:
enabled: false
zipkin:
enabled: false
config:
extensions:
health_check: {}
memory_ballast: {}
receivers:
otlp: # https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver/README.md
protocols:
grpc:
endpoint: "0.0.0.0:4317"
http: null
jaeger: null
prometheus: null
zipkin: null
processors:
batch: {}
exporters:
logging: {}
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [logging]
logs: null
metrics: null
extensions: [health_check]
telemetry: null
Install otelcol chart with the gw values
helm install --values values.otelcol-gw.yaml otelcol-gw open-telemetry/opentelemetry-collector
kubectl get services
Note service for next file
Install the agent
values.otelcol.yaml
nameOverride: ""
fullnameOverride: ""
mode: deployment
replicaCount: 1
podDisruptionBudget:
enabled: true
minAvailable: 1
image:
repository: docker-registry.wikimedia.org/otelcol
tag: "0.66.0-1"
pullPolicy: Never
command:
name: /usr/bin/otelcol-contrib
ports:
otlp:
enabled: true
containerPort: 4318
servicePort: 30080
hostPort: 4318
protocol: TCP
otlp-http:
enabled: false
jaeger-compact:
enabled: false
jaeger-thrift:
enabled: false
jaeger-grpc:
enabled: false
zipkin:
enabled: false
config:
extensions:
health_check: {}
memory_ballast: {}
receivers:
otlp: # https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver/README.md
protocols:
grpc:
endpoint: "0.0.0.0:4318"
http: null
jaeger: null
prometheus: null
zipkin: null
processors:
batch: {}
exporters:
otlp:
endpoint: "10.100.38.92:4317"
tls:
insecure: true
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [logging,otlp]
logs: null
metrics: null
extensions: [health_check]
telemetry: null
Install and port-forward
helm install --values values.otelcol.yaml otelcol-agent open-telemetry/opentelemetry-collector
kubectl port-forward svc/otelcol-agent-opentelemetry-collector 30080:30080
Test the pipeline
Get the pods for the gw
kubectl get pods | grep otelcol-gw
kubectl get logs -f otelcol-gw-opentelemetry-collector-f8c7774c9-pd7d4
Get and run the otel demo app
git clone https://github.com/open-telemetry/opentelemetry-go
cd opentelemetry-go/example/otel-collector
go run main.go