jaeger部署
1.jaeger部署,all-in-one模式,使用opensearch作為存儲后端
配置文件參考https://github.com/jaegertracing/jaeger/tree/v2.3.0/cmd/jaeger目錄下的
auth.basic和tls的配置都是網上找的,官方示例并沒有
apiVersion: v1
data:
config.yaml: |
service:
extensions: [jaeger_storage, jaeger_query, healthcheckv2]
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [jaeger_storage_exporter]
telemetry:
resource:
service.name: jaeger
metrics:
level: detailed
readers:
- pull:
exporter:
prometheus:
host: 0.0.0.0
port: 8888
logs:
level: debug
# TODO Initialize telemetry tracer once OTEL released new feature.
# https://github.com/open-telemetry/opentelemetry-collector/issues/10663
extensions:
healthcheckv2:
use_v2: true
http:
jaeger_query:
storage:
traces: some_storage
traces_archive: another_storage
#ui:
# config_file: ./cmd/jaeger/config-ui.json
jaeger_storage:
backends:
some_storage:
opensearch:
server_urls:
- https://100.10.10.10:9200
auth:
basic:
username: "admin"
password: "admin"
tls:
insecure_skip_verify: true ###跳過opensearch的tls認證
indices:
index_prefix: "jaeger-main"
spans:
date_layout: "2006-01-02"
rollover_frequency: "day"
shards: 5
replicas: 1
services:
date_layout: "2006-01-02"
rollover_frequency: "day"
shards: 5
replicas: 1
dependencies:
date_layout: "2006-01-02"
rollover_frequency: "day"
shards: 5
replicas: 1
sampling:
date_layout: "2006-01-02"
rollover_frequency: "day"
shards: 5
replicas: 1
another_storage:
opensearch:
server_urls:
- https://100.10.10.10:9200
auth:
basic:
username: "admin"
password: "admin"
tls:
insecure_skip_verify: true ###跳過opensearch的tls認證
indices:
index_prefix: "jaeger-archive"
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
jaeger:
protocols:
grpc:
endpoint: 0.0.0.0:14250
thrift_compact:
endpoint: 0.0.0.0:6831
thrift_binary:
endpoint: 0.0.0.0:6832
processors:
batch:
exporters:
jaeger_storage_exporter:
trace_storage: some_storage
kind: ConfigMap
metadata:
name: xdd-jaeger-cm
namespace: pero
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: xdd-jaeger-deployment
namespace: pero
spec:
replicas: 2
selector:
matchLabels:
name: xdd-jaeger
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
template:
metadata:
labels:
name: xdd-jaeger
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: name
operator: In
values:
- xdd-jaeger
topologyKey: "kubernetes.io/hostname"
containers:
- args:
- --config=/etc/config/config.yaml
image: jaegertracing/jaeger:v2.3.0
imagePullPolicy: Always
name: xdd-jaeger-container
ports:
- containerPort: 16685
name: port-1
protocol: TCP
- containerPort: 16686
name: port-2
protocol: TCP
- containerPort: 5778
name: port-3
protocol: TCP
- containerPort: 5779
name: port-4
protocol: TCP
- containerPort: 27777
name: port-5
protocol: TCP
- containerPort: 27778
name: port-6
protocol: TCP
- containerPort: 4317
name: port-7
protocol: TCP
- containerPort: 4318
name: port-8
protocol: TCP
- containerPort: 6831
name: port-9
protocol: TCP
- containerPort: 6832
name: port-10
protocol: TCP
- containerPort: 14268
name: port-11
protocol: TCP
- containerPort: 14250
name: port-12
protocol: TCP
volumeMounts:
- mountPath: /etc/config
name: xdd-jaeger-cm
dnsPolicy: ClusterFirst
volumes:
- configMap:
defaultMode: 420
name: xdd-jaeger-cm
name: xdd-jaeger-cm
---
apiVersion: v1
kind: Service
metadata:
name: xdd-jaeger-svc
namespace: pero
spec:
ipFamilies:
- IPv4
- IPv6
ipFamilyPolicy: RequireDualStack
ports:
- name: port-1
port: 16685
protocol: TCP
targetPort: 16685
- name: port-2
port: 16686
protocol: TCP
targetPort: 16686
- name: port-3
port: 5778
protocol: TCP
targetPort: 5778
- name: port-4
port: 5779
protocol: TCP
targetPort: 5779
- name: port-5
port: 27777
protocol: TCP
targetPort: 27777
- name: port-6
port: 27778
protocol: TCP
targetPort: 27778
- name: port-7
port: 4317
protocol: TCP
targetPort: 4317
- name: port-8
port: 4318
protocol: TCP
targetPort: 4318
- name: port-9
port: 6831
protocol: TCP
targetPort: 6831
- name: port-10
port: 6832
protocol: TCP
targetPort: 6832
- name: port-11
port: 14268
protocol: TCP
targetPort: 14268
- name: port-12
port: 14250
protocol: TCP
targetPort: 14250
selector:
name: xdd-jaeger
sessionAffinity: None
type: ClusterIP
2.部署完成后,可以訪問opensearch查看索引,可以看到有jaeger開頭的索引
curl https://100.10.10.10:9200/_cat/indices --insecure -u'admin:admin'
3.訪問jaeger頁面
100.10.10.10:16686
4.otel發送數據到jaeger
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
otlp/jaeger:
endpoint: 100.10.10.10:4317 ###配置jaeger的4317端口,通過grpc協議發送otel格式的數據
tls:
insecure: true
processors:
#batch:
k8sattributes:
resource:
attributes:
- key: app.host.ip
from_attribute: k8s.pod.ip
action: insert
#extensions:
# zpages: {}
# memory_ballast:
# # Memory Ballast size should be max 1/3 to 1/2 of memory.
# size_mib: 165
service:
#extensions: [zpages, memory_ballast]
pipelines:
traces:
receivers: [otlp]
processors: [k8sattributes, resource]
exporters: [otlp/jaeger] ###配置jaeger生效

浙公網安備 33010602011771號